基于LR分析法的简单分析法

本文档详细介绍了基于LR分析法的简单计算器课程设计,包括设计目的、内容及步骤。内容涉及词法分析,其中词法分析是将字符序列转换为单词序列的过程,词法分析器用于识别基本保留字、标识符、常数、运算符和分隔符等。
摘要由CSDN通过智能技术生成

一、课程设计目的

通过设计、编制、调试一个简单计算器程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。

二、课程设计内容及步骤

本次课程设计需要使用 LR 分析法完成简单计算器的设计,其中算术表达式的文法如下:

  • 〈无符号整数〉∷= 〈数字〉{〈数字〉}
  • 〈标志符〉∷= 〈字母〉{〈字母〉|〈数字〉}
  • 〈表达式〉∷=[+|-]〈项〉{〈加法运算符〉〈项〉}
  • 〈项〉∷= 〈因子〉{〈乘法运算符〉〈因子〉}
  • 〈因子〉∷= 〈标志符〉|〈无符号整数〉|‘(’〈表达式〉‘)’
  • 〈加法运算符〉∷= +|-
  • 〈乘法运算符〉∷= * |/

本次课程设计分为如下步骤完成:

  1. 根据题目要求的文法写出产生式
  2. 进行文法拓广,根据产生式画出识别活前缀的 DFA
  3. 根据 DFA 写出 LR(0)或 SLR(1)分析表
  4. 编写程序,对输入串进行分析
  5. 设计若干用例,上机测试并通过所设计的分析程序

三、翻译方法

3.1 词法分析

词法分析是计算机科学中将字符序列转换为单词(Token)序列的过程。进行语法分析的程序或者函数叫作词法分析器(Lexical analyzer,简称 Lexer)&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值