Я выполняю синтаксический анализ и оценку выражений для двух языков L1 и L2.Важно то, что L1 может использоваться как отдельный язык или как часть L2, а L2 содержит только несколько ключевых слов, которые отсутствуют в L1.
Я уже сделал Lexing -> Parsing -> Производство AST -> Обработка AST процесс для L1 и используется для этого F # с FsLex , FsYacc утилитами.
Можно ли использовать уже разработанный процесс синтаксического анализа (я имею в виду токены , AST production , определенные в синтаксическом анализаторе L1) при синтаксическом анализе другого языка L2?
AST : AST L1 будет использоваться как часть AST для L2, и будет использоваться тот же процесс обработки AST.
FsLexLexer : возможный будет общим для обоих языков, и мне нужно будет просто включить в лексер L1 также несколько отсутствующих ключевых слов для L2.Но , если возможно иметь отдельные лексеры для L1 и L2 и ссылаться на L1 из лексера L2, это будет отлично.
FsYacc Parser : я быне похоже на 'copy-C', код всех парсеров L1 в L2. Есть ли способ ссылаться на мои данные L2, токены и данные AST, определенные в парсере L1?
Заранее спасибо