
实验一-词法分析(借助Lex工具,代码可读性增强)。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
自定义语言C--的词法系统包含以下几个方面:1)类型系统,该系统支持int、char、void这三种基本数据类型,并分别使用词法标记“int”、“char”和“void”进行标识。2)常量定义,包括字符常量(用单引号括起来)、字符串常量(用双引号括起来)以及八/十/六进制整数常量(以0开头表示八进制,以0x开头表示十六进制),对应着词法标记“ch”、“str”和“num”。3)变量声明,变量的标识符采用相应的标识符进行表示,其对应的词法标记为“id”。4)表达式运算符,该系统支持一系列算术运算(包括加减乘除、求余、取负、自增自减)、关系运算(如大于、大于等于、小于、小于等于、等于、不等于)以及逻辑运算(如与、或、非),这些运算分别用词法标记“+”、“-”、“*”、“/”、“%”、“-”、“++”、“—”、“>”、“>=”、“<”、“<=、“==”、“!=”、“&&”、“||”、“!”)来表示。需要注意的是,在词法分析器中,“取负”运算和“减法”运算会被统一视为同一词法标记。5)语句结构,该语言支持赋值语句、do-while循环语句、while循环语句、for循环语句,以及if-else条件分支语句、switch-case条件分支语句、函数调用和函数返回语句等多种控制流语句。涉及到的词法标记包括赋值号“=”以及关键字“do”,“while”,“for”,“if”,“else”,“switch”,“case”,“default”,“return”,“break”,“continue”。此外,语句和函数体必须使用大括号“{ }”来界定,而case和default语句后需要跟随冒号“:”,因此需要将各种分界符作为词法标记纳入考虑范围:“{”, “}”, “;”, “:”,“(”, “)”,“,”。
全部评论 (0)


