[elektro] fordító
Abraham Gabor
abraham at plus7.hu
Mon Dec 12 11:23:40 CET 2011
> Helló!
>
> Én is szemezgettem már ezekkel, mindig mikor rátalálok elcsodálkozom, hogy
> "basszus, de frankó compilert lehetne ezzel csinálni", de még
> sose jutottam
> el odáig, hogy szükség lett volna rájuk, mindig meg lehetett oldani
> Pythonból/perlből. Csinált már valaki lex/yacc-al működő valamit? Annyira
> érdekelne egy gyakorlati példa, amit nem lehet megcsinálni vmi scriptbe.
Én már csináltam. Az egyik egy protokoll visszafejtő volt, a másik egy
parancsértelmező.
Mindent meg lehet sokféle módon írni. Nekem kényelmes volt,
hogy egy kicsit bővített, de C struktúra szerű leírással megadtam egy
tetszőleges protokoll csomgjait és lett belőle egy C program, ami azt
vissza tudja fejteni egy felvett LAN forgalomból. (A Wireshark szebben
csinálja, de akkor még nem volt.)
Én tanultam BNF-et, nekem kényelmes így leírni valamit a
Python/perl viszont nem áll kézre.
Parancs értelmezőt is sokféle képpen lehet írni, ez könnyen
módosítható, bővíthető. Definiálod a parancsokat, a lex/yacc csinált egy
C forrást, az beforul egy programba és ott feldolgozza a beolvasott sorokat.
Ezt hogy csinálod meg Python/perl-ben?
Gábor
>
> Üdv
>
> 2011. december 11. 21:06 SZIGETI Szabolcs írta, <szigi at ik.bme.hu>:
>
> >
> > Hali!
> >
> > Ami neked kell: lex és yacc (avagy flex és bison, a GNU-tól). Még az is
> > lehet, hogy a lex elegendő a te feladatodhoz. Kicsit bele kell rázódni a
> > használatukba, de félelmetesen hatékony eszközök tudnak lenni.
> >
> > Szabolcs
> >
> > ----- Eredeti üzenet -----
> > From: Sztrikó János
> > Sent: Sunday, December 11, 2011 5:28 PM
> > To: elektro at tesla.hu
> > Subject: [elektro] fordító
> >
> > Sziasztok!
> >
> > Ráérő időmben (ami alig van) pofozgatom a PLC-met. Szépen működik,
> > lassan készül alá a vas is. A probléma: kellene egy fordító, ami az
> > utasításlistát (kb. assembly) gépi kóddá alakítja. Írtam egyet (a
> > string.h/strtok felhasználásával), ami működik is, de érzem, hogy nem ez
> > az igazi, hiszen erre már vannak jól kitalált eszközök-programok. A
> > google a "compiler compiler" keresésre ad 458000 találatot, de mindenki
> > magas szintű fordítót akar csinálni velük, ilyen egyszerűre nem találok
> > példát.
> > Tudnátok javasolni valami alkalmas programcsomagot?
> >
> > Ilyesmi kell:
> >
> > LD 10.0 -> 0x20 0x10 0x00
> > OR 5.1 -> 0x30 0x05 0x01
> > OUT 100.8 -> 0x40 0x64 0x08
> >
> > (fiktív utasításkódok, de ez most lényegtelen)
> >
> > Köszönöm a segítséget!
> >
> > SzJ
> >
> > -----------------------------------------
> > elektro[-flame|-etc]
> >
> > -----------------------------------------
> > elektro[-flame|-etc]
> -----------------------------------------
> elektro[-flame|-etc]
>
> -----
> A(z) üzenetben nem található vírus.
> Ellenőrizte: AVG - www.avg.com
> Verzió: 10.0.1415 / Vírus adatbázis: 2102/4069 - Kiadás dátuma:
> 2011. 12. 09.
More information about the Elektro
mailing list