我在写我自己的脚本语言,我需要一个软件工具,它生成解析我的语言C ++代码。 我需要一个词法分析器和其生成C ++代码解析器生成。 这将是很好对我来说,能够同时生成一个Visual C ++ 2010项目。 建议?
Answer 1:
尝试使用Flex和野牛。 他们是很好的词汇analizers和解析器生成有用的定义新的语言。
http://en.wikipedia.org/wiki/Flex_lexical_analyser
Answer 2:
http://en.wikipedia.org/wiki/Comparison_of_parser_generators
对于C / C ++: http://epaperpress.com/lexandyacc/
或者看看:Boost.Spirit:
“精神是一组C ++解析和输出生成使用表达式模板和模板元编程为特定领域嵌入式语言(DSEL)实施库”。
豆你真的需要新的语言? 也许这将是更好地使用一些知名喜欢的Lua,Python的?
Answer 3:
这是一个老问题,但仍可能是相关的:因为我是不满意现有的方案,我最近写了一个模板C ++解析器发生器,它不需要任何外部工具(你有一个标题,并直接在C定义语法++源) 。 它使用可读PEG语法所以没有需要单独的词法步骤。 你可以看看在Github上 。
Answer 4:
你有两个选择:你是否通过创建创建自己的解析器, AST (抽象语法树),那么这将是一个很好的锻炼你,但它是很长时间的努力来实现。 或者可以使用开源解决方案这样的ANTLR其具有为C / C语法++以及预处理器解析器生成。 我从来没有使用过它,所以我不能说其C ++的解析如何完成将是。 然后,如果你是在赶时间,你想创造一个良好的解析器,你最好使用第二个解决方案
文章来源: C++ parser generator [closed]