C-kielen rakenteiden tunnistus koneellisesti
Esim. mc:n (Midnight Commander, linuxissa) integroitu editori osaa näyttää c -kielisten rakenteiden (ainakin .c ja .h -tiedostot) eri osat eri väreillä.
Jotta tuo on mahdollista, mc:n täytyy siis ensin tunnistaa eri osat.
Löytyykö tuohon valmista koodia jostakin ?
C-kielen rakenteiden tunnistus koneellisesti
4
461
Vastaukset
- mc on GPLlää
apt-get source mc
less mc-*/syntax/c.syntax
less mc-*/edit/syntax.c - _Jepu_
Kyllä tuohon löytyy valmista koodia. Kääntäjänkin pitää osata tunnistaa koodin rakenne, että se voi kääntää sen konekieliseksi.
Tätä sanotaan koodin jäsentämiseksi (parsing).
Mitäs Google kertoo?
Google kertoo, että joku on ollut ahkera:
http://manju.cs.berkeley.edu/cil/
Voit itsekin kokeilla hakea joko sanalla parsing (tai parser) tai erityisesti "syntax highlighting", jos koodin väritys riittää, niin löydät kaikenlaisia ratkaisuja. Lisätermeiksi muut vaatimuksesi tai mahdolliset kielet yms. yms.
Parserin kirjoittaminen itse on aika vaikea urakka, jos ei tunne teoriaa. Käytä valmiita työkaluja. - Nero Burner
kehitysympäristössä syntaksin korostus on ihan must juttu, mutta ennakoiva koodin syöttö sensijaan yleensä pahasti rassaa ohjelmointimukavuutta kireällä ennakointiasetuksella etenkin perin pienillä rosessoritehoilla ja melkeimpä ylikuormitetuilla keskusmuisteilla ja kymmensoemijärjestelmällä, jossa yksi sormi näppäilee ja yhdeksän on vaan tiellä näppältynä pelaillessa.
- ckoodaaja
Ratkaisu: lupaavalta näyttäisi tämä:
http://www.scl.csd.uwo.ca/Projects/cpp2xml
MUTTA: tuo ei toimi.
Sen asennus vaatisi ensin toimivaa gcc 2.8.1 -kääntäjää.
gcc 2.8.1:n saa kyllä imuroitua täältä:
ftp://ftp.funet.fi/pub/gnu/prep/gcc/gcc-2.8.1.tar.gz
ja käännöksen 1.vaihe onnistuu (käännetään siis gcc 2.8.1 käyttäen linuxin oletuskääntäjää, joka on paljon uudempi gcc kuin 2.8.1).
kuten gcc 2.8.1:n ohjetiedostossa gcc.info-6 neuvotaan, niin käänsin ensin gcc 2.8.1:n oletuskääntäjällä.
Varoituksia tulee paljon, mutta ei virheitä,joten käännös onnistuu ja tuloksena on g .
seuraavaksi: make stage1
tässä vaiheessa tulee monta virheilmoitusta puuttuvista tiedostoista kun niitä yritetään siirtää alihakemistoon stage1.
Jos tästä huolimatta yrittää tehdä stage2:ta (jossa gcc 2.8.1 käännetään itsellään), niin tuloksena on iso kasa virheilmoituksia.
Miten siis tuon gcc 2.8.1:n saa käännettyä?
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Mitä yhteistä on sulla ja kaivatulla?
Onko teillä samantyyppinen olemus tai luonne? Vai muistuttaako vartalonne toisiaan? Tai kasvot? Entä pukeutuminen? Onko991516- 2231146
Kerran oltiin mekin kahdestaan
Saanko sanoa, että minua kyllä vähän huvitti jälkeenpäin? Olit kuin vapiseva jänis ketun vieressä valmis loikkimaan paik131146Persut yritti estää somalinaista väittelemästä lääketieteen tohtoriksi
Yrittivät saada hänet lähihoitajakouluun, vaikka pärjäsi hyvin koulussa. Nyt hän on yliopistossa väitellyt lääketieteen247958Oikeasti, voitais mennä kahville
ja jutella niin kuin normi-ihmiset. Kyllä toivon sitä. En pelkää kohdata enkä istua sun kanssa samassa pöydässä. Miten o81949- 141930
Jos nainen harrastaa seksiä
Useiden kanssa, miten se eroaa miesten mielestä siitä, jos miehellä on ollut useita s kumppaneita? Oletan että kaikki mi179913Pihlaja-puulle
Illat on mulle pahimpia. En tiiä miks se olis vaan parasta yöstä toiseen nukkua sun kanssa ja herätä sun kasvoihin. Jos15839- 71757
Yritin keväällä unohtaa sinut nainen
mutta siinä kävi niin, että ikävä tuli korkoineen takaisin. Niin että mikä taikavoima sinulla on minuun, sitä joutuu mie31723