Milyen tudás kell c# kivül egy fordító program elkészítéséhez?
Tipp : C-re fordító.
Bevett szokás olyan fordító programot csinálni ami (ANSI) c-re fordít (akár c++-ra), majd a többit elintézi a c fordító. Könnyebb c-re fordítót csinálni mit valami gépi kódra fordítót. A c nyelv sok platformra/architektúrára portolva van ...
Vagy érdemes assembly-re fordítót csinálni (gcc is ezt is csinálja) ...
Meg persze elméleti tudás is kell.
Utolsó jól írja, és ezt nagyon sok magasabb szintű nyelv alkalmazza, nem asm-re fordít, hanem C-re, mivel arra könnyebb, és C fordító szinte minden platformra van (hiszen a C-t eleve egyfajta "platformfüggetlen assemblynek" tervezték).
A fordítóprogramokról viszont nagyon sokat lehet tanulni, így ha semmi tudásod sincs, akkor sokat fogsz vele vesződni. Persze attól függ, milyen nyelvet akarsz fordítani. Ha egyszerű a nyelvtana (pl Brainfuck), akkor akár naív módszerrel neki is állhatsz bedarálni a kódot és generálni rá valamit, de ha ennél bonyolultabb akkor már tanulni tanulni tanulni és lex + yacc kombót beszerezni, tutorialokat átnézni. Ez a kettő elintézni neked a lexikális elemzést és a LALR fordító írását.
C# helyett inkább C++ kéne ide.
Amúgy hasznos lehet:
Flex - lexikális elemzéshez
bisonc++ - szintaktikus elemzéshez
Itt van is egy pár jó leírás. (Amíg még van!)
(Jó, hogy eszembe juttattad, meg kell csinálnom az utolsó beadandót még.)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!