Citat:
Originalno napisao Petar Marić
Ovog semestra na faxu imamo predmet "Programski prevodioci".
Cilj predmeta je bolje razumevanja kako komercijalni kompajleri rade, a kao nusprodukt tog procesa izrađujemo sopstveni C kompajler (naravno "osakaćen").
RegExp-ovi nam puno pomažu (koristimo ih u skeneru), ali ih ne guramo svuda - u parseru se ipak koristi EBNF za prepoznavanje pojmova (zato što je baratanje specijalnim slučajevima na taj način lakše).
|
koliko se ja secam teorije iz prevodilaca (davno sam polozio doduse) ne moze se svaki jezik prikazati preko EBNF, recimo secam se da je Pascal jedan od retkih koji moze u potpunosti...
TOP-DOWN parsere nije tesko pisati bez regExp-a, ali za BOTTOM-UP parsere (koji se uglavnom koriste u praxi) cete verovatno koristiti LEX i YACC (odnosno GNU verzije Flex i Bizon), a oni interno koriste sintaxu vrlo slicnu regExp-u za definisanje pravila...