C-kielen rakenteiden tunnistus koneellisesti

ckoodaaja

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 ?

4

434

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Aivosyöpää sairastava Olga Temonen TV:ssä - Viimeinen Perjantai-keskusteluohjelma ulos

      Näyttelijä-yrittäjä Olga Temonen sairastaa neljännen asteen glioomaa eli aivosyöpää, jota ei ole mahdollista leikata. Hä
      Maailman menoa
      91
      2920
    2. Pelotelkaa niin paljon kuin sielu sietää.

      Mutta ei mene perille asti. Miksi Venäjä hyökkäisi Suomeen? No, tottahan se tietenkin on jos Suomi joka ei ole edes soda
      Maailman menoa
      299
      1686
    3. Mikä saa ihmisen tekemään tällaista?

      Onko se huomatuksi tulemisen tarve tosiaan niin iso tarve, että nuoruuttaan ja tietämättömyyttään pilataan loppuelämä?
      Sinkut
      246
      1567
    4. Minkä merkkisellä

      Autolla kaivattusi ajaa? Mies jota kaipaan ajaa Mersulla.
      Ikävä
      87
      1391
    5. IL - VARUSMIEHIÄ lähetetään jatkossa NATO-tehtäviin ulkomaille!

      Suomen puolustuksen uudet linjaukset: Varusmiehiä suunnitellaan Nato-tehtäviin Puolustusministeri Antti Häkkänen esittel
      Maailman menoa
      402
      1384
    6. Nyt kun Pride on ohi 3.0

      Edelliset kaksi ketjua tuli täyteen. Pidetään siis edelleen tämä asia esillä. Raamattu opettaa johdonmukaisesti, että
      Luterilaisuus
      402
      1308
    7. Kiitos nainen

      Kuitenkin. Olet sitten ajanmerkkinä. Tuskin enää sinua näen ja huomasitko, että olit siinä viimeisen kerran samassa paik
      Tunteet
      2
      1089
    8. Esko Eerikäinen tatuoi kasvoihinsa rakkaan nimen - Kärkäs kommentti "Ritvasta" lävähti somessa

      Ohhoh! Esko Eerikäinen on ottanut uuden tatuoinnin. Kyseessä ei ole mikä tahansa kuva minne tahansa, vaan Eerikäisen tat
      Suomalaiset julkkikset
      38
      1047
    9. Hyväksytkö sinä sen että päättäjämme ei rakenna rauhaa Venäjän kanssa?

      Vielä kun sota ehkäpä voitaisiin välttää rauhanponnisteluilla niin millä verukkeella voidaan sanoa että on hyvä asia kun
      Maailman menoa
      329
      874
    10. Miksi Purra-graffiti ei nyt olekkaan naisvihaa?

      "Pohtikaapa reaktiota, jos vastaava graffiti olisi tehty Sanna Marinista", kysyy Tere Sammallahti. Helsingin Suvilahden
      Maailman menoa
      257
      855
    Aihe