![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
编译原理
文章平均质量分 79
编译原理
Elsa的迷弟
在珠海西山居、北京点点互动实习过。
目前在北京点点互动实习。
展开
-
HUST编译原理实验2
以识别 为例,阐述语法分析的构造过程由a = 10.01得知,语法构成为: 因此,需要储存结构如下 2. 设定标识符 1)在parser.y文件中设定定义的词法类型 2)定义符号类型 将非终结符定义为ASTNode类型 在 中得知 将终结符定义为语义值类型 定义enum型标识符: 符号标识符有, 识别标识符(用于识别该文法类型)有 3.词法分析:标识符,=,Float,SEMI 1)Test.l文件中的一些设定: 2)识别 定义段: 规则段: 4.语法分析 注:的类型为。 在使用时,可用;创建内存。原创 2022-12-07 16:55:26 · 978 阅读 · 0 评论 -
HUST编译原理实验1
具体flex使用方法,可参考编译原理-词法分析实践(flex)使得yylineno自动更新,返回所在行的行号。该段直接拷贝到c代码中运行,定义为flex中的全局变量。 3. 规则段 在规则段中注意,如若有两个同等长度的符号匹配,则优先匹配前方的符号。例如“+”,“”都可匹配符号“+”,则优先匹配写在前方的符号,因此必须将单符号,单字母,写在之前。同理,必须将关键字写在ID匹配之前。对于特定字符,使用“”括起来匹配,对于正则表达式,直接使用正则表达式,或用{}括起来正则表达式的标识符,例如{id}使用。原创 2022-12-07 16:35:32 · 553 阅读 · 0 评论 -
编译原理-词法分析实践(flex)
} 和 %% 之间的为 定义(Definitions)在这里可以定义正则表达式中的一些名字,可以在 规则(Rules) 段被使用,如本文件中定义了 WORD 为 ( [ ^ \t\n\r\a] +) , 这样在后面可以用 {WORD} 代替这个正则表达式。flex 会将这些代码原样的复制到 lex.yy.c 文件的最后面。return 0;return 1;}转载 2022-11-19 16:09:29 · 1110 阅读 · 0 评论