[关闭]
@yinnner 2018-09-26T02:16:39.000000Z 字数 746 阅读 878

【实验2.1】算术表达式的词法分析器

实验步骤

1. 定义词法规则

定义表达式语言词法规则,用EBNF/文法/正规式表示;

EBNF:

  1. \<无符号整数> : : = \<数字>{\<数字>}

  2. \<无符号实数> : : = \<数字>{\<数字>}'.'\<数字>{\<数字>}

  3. \<数字> : : = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
  4. \<运算符> : : = '+' | '-' | '*' | '/'
  5. \<界符> : : = '(' | ')'

2. 状态转换图

为文法中各类单词符号作出状态转换图;

3. 扫描程序框图

根据状态转换图,得到各类单词的扫描程序框图;

4. 出错处理

考虑出错处理的出口;

词法错误类型:

5. 设计并实现词法分析程序

词法分析表:

类型type 单词记号token 单词种别symbol 对应码
1 Constant 常数 INTEGER 1
REAL 2
2 Operator 运算符 + PLUS 3
- MINUS 4
* TIMES 5
/ DIVIDE 6
3 Delimiter 界符 ( LEFT_BRA 7
) RIGHT_BRA 8

再加上出错类型:ERROR。

全局变量

6. 设计典型用例并测试

测试目标

能正确识别给定字符串中合法单词;能对不合法的字符报错。

测试用例

预期结果

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注