Hi,
ich bau grade einen C++ Parser (bitte nehmt das einfach so hin.. ich mag keine diskusionen nach dem motto "nimm doch den oder den" hören.. DANKE!
) und soweit läuft das auch alles, allerdings komm ich mit diesem blöden komma nicht klar, weil es sowohl als operator, als auch als seperator genutzt werden kann..
mit operatoren is das alles kein problem, allerdings weiß ich nicht, wie wo und wann ich diese seperatoren parsen soll..
momentan mach ich folgendes:
0. alles mögliche erkennen, wörter, zahlen, sonderzeichen bla..
1. reserved words erkennen
2. klammern sortieren
3. typen erkennen und in symboltable schreiben
4. variablen und operatoren auflösen anhand der symboltable
Wenn ich jetzt aber ein 'int a=0, b=1;' hab, weiß ich nicht, wie und wann ich das auflösen soll.. um a und b vernünftig als variblen zu erkennen müsste das in 3 geschehen, aber ohne die operatorauflösung aus 4. krieg ich das nicht generisch geparst.. aber wenn ich es erst in 4. mache fehlen mir die initialisierungen als einträge in der symboltable..
Über ne konstruktive idee dazu wär ich
ich bau grade einen C++ Parser (bitte nehmt das einfach so hin.. ich mag keine diskusionen nach dem motto "nimm doch den oder den" hören.. DANKE!
) und soweit läuft das auch alles, allerdings komm ich mit diesem blöden komma nicht klar, weil es sowohl als operator, als auch als seperator genutzt werden kann..mit operatoren is das alles kein problem, allerdings weiß ich nicht, wie wo und wann ich diese seperatoren parsen soll..
momentan mach ich folgendes:
0. alles mögliche erkennen, wörter, zahlen, sonderzeichen bla..
1. reserved words erkennen
2. klammern sortieren
3. typen erkennen und in symboltable schreiben
4. variablen und operatoren auflösen anhand der symboltable
Wenn ich jetzt aber ein 'int a=0, b=1;' hab, weiß ich nicht, wie und wann ich das auflösen soll.. um a und b vernünftig als variblen zu erkennen müsste das in 3 geschehen, aber ohne die operatorauflösung aus 4. krieg ich das nicht generisch geparst.. aber wenn ich es erst in 4. mache fehlen mir die initialisierungen als einträge in der symboltable..
Über ne konstruktive idee dazu wär ich


