Compiler

SZIGETI Szabolcs szigi at ik.bme.hu
Tue May 6 11:45:42 CEST 2003


> > biztos nagyon jo
> > de aki ezt irta annak nem volt gyerek szobaja
> > vagy legalabis nem olyan amiben let volna valami 8 bites kis szamitogep
>
> Nagyon regi joszagok ezek, szerintem boven a 8 bites korszakbol.

A YACC-et 1975-ben irtak UNIX-ra, tehát tényleg régen volt.

Szerintem is fantasztikus eszkozok, ha forditot kell irni (és LALR1 nyelvtan
eleg, ami legtöbbször igaz). Egyszer egy fel nap alatt irtam yacc es lex
felhasznalasaval egy VHDL forditot (persze messze nem forditotta aVHDL-t,
mert csak egy nagyon kis reszet kellett a teljes forrasnak kiszedni ha jol
emlekszem a kifejezeseket kellett kotesi listava ertekelni, valami kutatasi
projekthez, de gyakorlatilag a nyelvtan nagy reszet ertelmezte.)

> A yacc arrol szol, hogy beadjuk a szabalyokat (operatorok, elvalasztok,
> whitespace, precedencia, kifejezesek alakja stb.), es abbol egy C forrast
> general. Aztan ezt kiegeszited pl. egy C nyelven irt OR(x,y) fuggvennyel,

Gyakorlatilag egy BNF szeru leirasban leirod a nyelvtant, es megmondod, hogy
az egyes nylevtani szabalyokra illeszkedo esetben mit csinaljon.
Ebbol o legeneralja a nyelvtani elemzot. Nagyon rugalmas eszkoz. Pl.
teljesen jol hasznalhato parancssori stb. ertelmezok irasara is, nem kell
mindig compilert gyartani.

Hogy mikorvezerlokben hasznalhato-e azt nem tudom, gyakorlatban ugy mukodik,
hogy van egy elemzo csontvaz, amelyhez generalja az allpot tablakat stb. Ez
nem biztos, hogy mikorkornyezetben is hasznalhato, de nem akadalyoz meg,
hogy yacc-ban irjal egy ujabb yacc-ot, ami mikorkontorllerre dolgozik.


Szabolcs



More information about the Elektro mailing list