当前位置: 首页 > news >正文

成都高标建设有限公司官方网站临沭网站建设

成都高标建设有限公司官方网站,临沭网站建设,西昌网站建设公司,永久免费不收费的污染app前言#xff1a; 作者的词法分析程序以及算符优先语法分析设计程序仓库链接 1、目标任务 **[实验项目] **以专题 1 词法分析程序的输出为语法分析的输入#xff0c;实现算符优先分析算法#xff0c;完成以下描述算术表达式的算符优先文法的算符优先分析过程。 G[E]:E→E…前言 作者的词法分析程序以及算符优先语法分析设计程序仓库链接 1、目标任务 **[实验项目] **以专题 1 词法分析程序的输出为语法分析的输入实现算符优先分析算法完成以下描述算术表达式的算符优先文法的算符优先分析过程。 G[E]:E→ET∣E-T∣T T→T*F∣T/F∣F F→(E)∣i[设计说明] 终结符号 i 为用户定义的简单变量,即标识符的定义。 **[设计要求] **1构造该算符优先文法的优先关系矩阵或优先函数2输入串应是词法分析的输出二元式序列即某算术表达式“专题 1”的输出结果。输出为输入串是否为该文法定义的算术表达式的判断结果。3算符优先分析过程应能发现输入串出错。4设计至少四个测试用例尽可能完备正确和出错并给出测试结果 优先关系矩阵的构造如下图所示 程序功能描述 程序的功能是执行算符优先分析用于对给定的表达式进行语法分析。它基于算符优先算法来确定表达式中运算符的优先级和结合性以此进行语法分析。主要步骤包括 读取输入表达式: 从名为 “test.txt” 的文件中读取表达式。预处理: 将读取的表达式中的变量和常量替换为 ‘i’ 符号得到用于分析的表达式。算符优先级分析: 使用算符优先算法对表达式进行分析。分析过程: 逐步检查表达式中的运算符优先级利用预先定义的优先级矩阵和语法规则来判断是否存在语法错误或可以规约的部分。输出结果: 根据分析结果程序会输出语法分析的结果指出是否表达式符合定义的语法规则。 主要数据结构描述 mapchar, mapchar, char priorityMatrix: 这是一个嵌套的 map 结构用于表示算符之间的优先关系。外部的 char 表示当前栈顶运算符内部的 mapchar, char 表示当前输入运算符和栈顶运算符的优先级关系。mapstring, char grammer: 这个 map 结构定义了语法规则将字符串作为键将对应的非终结符作为值。它表示了规约过程中可以使用的规则。vector Vt: 包含终结符号的向量。这里存储了表达式中可能出现的所有终结符号。vector Vn: 包含非终结符号的向量。这个向量包含了在语法规则中用于推导的非终结符号。vector s: 这是模拟的分析栈用于存储算符优先分析过程中的中间状态。 程序结构描述 函数定义和其功能 readFile(): 从文件 “test.txt” 中读取输入的表达式。 对读取的表达式进行预处理将变量和常量替换为 ‘i’ 符号。返回预处理后的表达式字符串。 OperatorPrecedenceAnalysis(string str): 实现算符优先语法分析的核心逻辑。接收一个字符串作为输入对其进行算符优先分析。利用优先级矩阵和语法规则进行分析判断是否符合语法规则返回分析结果true/false。 reduce(string temp): 用于在分析过程中进行规约操作。根据规约的临时字符串在语法规则中查找对应的规约字符。 isVt(char ch) 和 isVn(char ch): 判断给定字符是否为终结符和非终结符。分别用于检查输入字符是否属于终结符和非终结符。 displayAnalysisProcess(const vector stack, const string input, int inputPointer): 打印当前分析栈的内容和剩余输入串的内容。 main(): 主函数负责程序的整体流程控制。 调用readFile()读取输入表达式。 调用OperatorPrecedenceAnalysis()执行算符优先语法分析。 根据语法分析的结果输出相应的信息。 函数调用关系 main() 调用 readFile() 获取表达式然后调用 OperatorPrecedenceAnalysis() 执行语法分析。OperatorPrecedenceAnalysis() 在分析过程中可能调用 reduce() 进行规约操作并在必要时调用 isVt() 和 isVn() 进行符号类型判断。reduce() 在规约时根据临时字符串查找对应的规约字符。displayAnalysisProcess() 在每次分析时用于输出当前状态。 程序测试 测试文件 测试文件 测试文件
http://www.zqtcl.cn/news/244814/

相关文章:

  • 怎么做监测网站的浏览量有没有专业做股指的评论网站
  • 济南微信网站开发网上效果代码网站可以下载吗
  • 门户网站的设计常见的管理信息系统有哪些
  • 网站添加悬浮二维码成都游戏网站开发
  • 用jquery做网站百度seo排名规则
  • 免备案手机网站室内设计说明
  • 网站被做站公司贩卖怎样将qq空间建设为个人网站
  • 网站开发有哪几类淮安app开发公司
  • 营销网站建设公司哪家好兵团第二师建设环保局网站
  • 做推广最好的网站是哪个深圳办公室装修招标
  • 郑州高端网站制作wordpress那个版本好
  • wordpress屏蔽右键f12奉化首页的关键词优化
  • cn域名做犯法网站做电影网站需要哪些证
  • 官方网站有哪些韶关做网站的公司
  • 商城网站设计公司怎么样网站制作预算
  • 在济南什么人想做网站网站建设后怎么做主页
  • 联合年检怎么做网站上国家备案查询
  • 社交网站wap模板wordpress网址导航插件
  • 沈阳快速建站公司有哪些国外做二手服装网站
  • 手机如何建立网站平台seo比较好的优化
  • 电商网站建设外包禅城南庄网站制作
  • 哈尔滨企业网站开发报价免费php网站源码
  • 东莞市公司网站建设淄博网站制作营销
  • 企业网站无线端怎么做手机网站做成app
  • 让他人建设网站需要提供的材料可在哪些网站做链接
  • 外贸公司做网站3d建模好学吗
  • dedecms新网站 上传到万网的空间上海新媒体运营公司排名
  • 包装东莞网站建设0769三层网络架构
  • 淘客网站自己做固安建站公司
  • 咸阳学校网站建设联系电话网络app开发网站建设价格