有没有比lex/flex更好(更现代)的工具来生成C的标记器?
我最近添加了源文件解析到现有的工具,从复杂的命令行参数生成输出文件。
命令行参数变得非常复杂,我们开始允许它们被提供为被解析的文件,就像它是一个非常大的命令行一样,但语法仍然很尴尬。所以我添加了使用更合理的语法解析源文件的能力。 我使用flex 2.5.4 for Windows来生成这个自定义源文件格式的tokenizer,并且它工作。但我讨厌的代码。全局变量,wierd命名约定及其生成的c代码是非常糟糕的。现有的代码生成后端被粘贴到flex的输出 – 我不使用yacc或bison。 我要跳回那个代码,我想使用一个更好/更现代的工具。有谁知道某事。 >在Windows命令提示符下运行(Visual Studio集成可以,但是我使用make文件来构建) 我可能生活在一个工具,只是生成了令牌化表,如果这是唯一可用的。 解决方法
Ragel:
http://www.complang.org/ragel/它适合您的大部分要求。
>它在Windows上运行 它产生的代码干扰程序很少。代码也非常快,并且Ragel语法比任何我所见过的更灵活和可读性。这是一个坚如磐石的软件。它可以生成表驱动的解析器或goto驱动的解析器。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |