c - 解析源代码

标签 c parsing yacc lex

我需要解析不同文件的源代码,每个文件都是用不同的语言编写的,我想用 C 来完成。

为此,我考虑使用 yacc/lex,但我发现它们很难理解,可能是因为完全缺乏体面的文档(要么那个,或者他们真的很神秘)。

所以我的问题是:在哪里可以找到一些关于yacc/lex 的好文档,最好是教程式的介绍?或者,有没有更好的方法在 C 中执行此操作?也许我可以使用其他东西来代替 yacc/lex,甚至可能是用不同的语言编写的?

最佳答案

yacclex 是非常强大的工具,是围绕编译器构建理论构建的。为了能够完全理解它们,您可能需要一些形式语言、自动机理论和编译器构造方面的基础知识。

dragon book是该主题的经典之作。

关于c - 解析源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6160419/

相关文章:

parsing - 解析使用左侧填充空格定位的输入文本

c++ - 简单的 Flex/Bison C++

Python PLY 解析器

c - 指针地址如何具有不同的长度?

c - O1和Os有什么区别?

php - 作为类名称部分无效的 PHP 关键字列表

.net - .NET 有没有好的 yacc/bison 类型的 LALR 解析器生成器?

c - 如何在 Visual Studio 中使用优化器和分析器

c - 我已经在 C 中声明了一个大小为 1 的字符数组,但我已经读取了一个大小为 10 的字符串,但给定的代码工作得很好。

json - 如何解析包含键值对的 JSON 对象?