最佳答案
我正在寻找“ tokenizer”、“ parser”和“ lexer”的清晰定义,以及它们之间的关系(例如,解析器是否使用 tokenizer 或反之亦然) ?我需要创建一个程序将通过 c/h 源文件提取数据声明和定义。
我一直在寻找例子,可以找到一些信息,但我真的很难掌握基本的概念,如语法规则,解析树和抽象语法树,以及它们如何相互关联。最终,这些概念需要存储在一个实际的程序中,但是1)它们看起来像什么,2)有一些通用的实现。
我一直在查看维基百科上关于 Lex 和 Yacc 等主题和程序的内容,但我从来没有经历过编译器类(EE 专业) ,我发现很难完全理解正在发生的事情。