我正在编写自己的脚本语言,我需要一个软件工具来生成用于解析我的语言的C ++代码。我需要一个词法分析器和一个生成C ++代码的解析器生成器。能够生成Visual C ++ 2010项目对我来说会很好。建议?
答案 0 :(得分:6)
http://en.wikipedia.org/wiki/Comparison_of_parser_generators
for C / C ++:http://epaperpress.com/lexandyacc/
或者看看:Boost.Spirit:
你真的需要新语言吗?也许最好使用一些众所周知的像Lua,Python?“Spirit是一组用于解析和输出生成的C ++库 使用域特定嵌入式语言(DSEL)实现 表达模板和模板元编程。“
答案 1 :(得分:2)
尝试使用Flex和Bison。它们是很好的词法分析器和解析器生成器,可用于定义新语言。
答案 2 :(得分:1)
这是一个古老的问题,但仍然可能是相关的:因为我对现有选项不满意,我最近编写了一个模板c ++解析器生成器,它不需要任何外部工具(包括标题和直接在c ++源代码中定义语法。它使用可读的PEG语法,因此不需要单独的lexing步骤。您可以在Github上查看。
答案 3 :(得分:0)