Ich denke darüber nach, wie man einen Lexer-Generator schreibt. Ich kann mir keine einfache Möglichkeit vorstellen, die Schlüsselwörter einer Sprache anhand ihrer Grammatik zu identifizieren. Offensichtlich sind alle Schlüsselwörter Terminals, aber nicht alle Terminals sind Schlüsselwörter. Zum Beispiel in der folgenden einfachen Grammatik: truth_value -> 'true' | 'falsch'; Ziffer -> '0' .. '9'; 'true' und 'false' sind Schlüsselwörter, aber '0', '1' usw. sind nicht.Wie identifiziert ein Lexer-Generator die Schlüsselwörter einer Grammatik?
Jede Hilfe wird geschätzt.
Sie meinen, explizit die Schlüsselwörter erklären, auch wenn sie in einigen Umschreiben verwendet haben Regeln sowieso? –
@prophet_on_that: Wenn ich richtig verstehe, ja. Siehe Beispiel in bearbeiteter Antwort. –
Danke, das hilft. –