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

475

    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. Kaipaamasi miehen nimi?

      Ja maakunta tai kaupunki?
      Ikävä
      43
      7515
    2. Oletko keskustellut kaivatustasi muiden

      Kanssa lähiaikoina? Jos, onko keskustelu ollut positiivista tai negatiivista? Vaikuttaako keskustelut mielipiteeseesi ka
      Ikävä
      54
      3723
    3. Ennen ei ollut persuja ja työttömyyttä, lääkäriinkin pääsi

      Ennen oli kaikilla töitä Kauppiaille kelpasi kun saivat voittoa Yritystukia ei ollut Lääkäriin pääsi kaikki haluklaat Nu
      Maailman menoa
      53
      3613
    4. Millaista läheisyyttä

      Toivoisit ikävästi kohteesi kanssa?
      Ikävä
      85
      3397
    5. Tulipalossa henkilövahinkoja, itsenäisyyspäivä alkoi huonosti, poliisi tiedottaa lisää

      Savonlinna https://www.como.fi/uutiset/savonlinna-henkilovahinkoja-tulipalossa-poliisi-tiedottaa-lisaa/
      Savonlinna
      53
      3361
    6. 51
      3044
    7. Kyllä on Vasemmistoliitosta Koskelan johdolla tullut todellinen ääripuolue

      se on niin tulipunainen kuin olla voi, ja selvästi haluaa jatkuvasti eripuraa, ja repiä kansaa kahtia. Siinä on jo vuod
      Maailman menoa
      36
      2842
    8. Antifasismi - mitä se on?

      Se on äärivasemmistolaista anarkistista toimintaa joka käyttää fasisminvastaisuutta keppihevosena oikeuttaakseen toimint
      Maailman menoa
      30
      2494
    9. IL- KELA:n pääjohtaja, lääke- ja oikeustieteen tohtori Lasse Lehtonen sekavassa tilassa Brysselissä!

      "Iltalehden tietojen mukaan Lehtosen käytös Brysselin lentokentällä on herättänyt huomiota, ja hänen olemuksensa on tulk
      Maailman menoa
      197
      1958
    10. Heräsin taas ikävään

      Ja aivan valtavaan haluun. Tahdon sinua R. ❤️
      Ikävä
      47
      1571
    Aihe