网站怎么做充值系统,php图书管理系统网站开发,网站后台更新后主页不显示,360网站图标怎么做的前端处理概述
前端处理#xff1a;词法分析、语法分析、语义分析
前端处理犹如阅读英文文章#xff0c;往往我们需要先理清文章中各个词的意思#xff0c;这类似词法分析#xff0c;得到“单词序列”#xff1b;再梳理整篇文章的脉络#xff0c;这类似语法分析#xf…前端处理概述
前端处理词法分析、语法分析、语义分析
前端处理犹如阅读英文文章往往我们需要先理清文章中各个词的意思这类似词法分析得到“单词序列”再梳理整篇文章的脉络这类似语法分析得到描述文章脉络的“抽象语法树”再检查文章的议论是否逻辑正确、叙述是否前后连贯、抒情是否价值观一致这类似语义分析得到格式正确的“抽象语法树”。
前端处理的目标就是彻底理解源代码分析源代码内容完成词法分析语法分析和语义分析得到基本符合语言设计规范的“抽象语法树”。 词法分析 : 源代码 → 分析 单词序列 词法分析:源代码\xrightarrow{\ 分析\ }单词序列 词法分析:源代码 分析 单词序列 语法分析 : 单词序列 → 分析 抽象语法树 语法分析:单词序列\xrightarrow{\ 分析\ }抽象语法树 语法分析:单词序列 分析 抽象语法树 语义分析 : 抽象语法树 → 检查 抽象语法树 语义分析:抽象语法树\xrightarrow{\ 检查\ }抽象语法树 语义分析:抽象语法树 检查 抽象语法树
词法分析概述
高级语言源程序由一系列的句子构成句子由单词按照一定的规则构成而单词又由字符按照一定规则构成的。词法分析是编译基础主要分析源程序中的字符流能否构成正确的单词执行词法分析的程序称为词法分析程序或扫描器。
词法分析任务是从左到右逐个字符扫描输入的源程序按照构词规则检查词法错误识别出正确的单词并输出单词的内部表示形式。如果识别过程中发现错误或无法识别的单词则输出有关错误信息。
识别单词的目的是为了后续阶段的使用。因此为了简化后续阶段的工作需要对每个单词或单词类别进行编码这个编码称为种别码又称token值。当识别出一个单词时就将其种别码及单词自身的值一起输出把作为字符串输入的源程序改造成单词记号换的中间形式又称为token串提交给语法分析程序使用。
语法分析概述
语法分析器的作用根据词法分析器提供的单词流为语法正确的输入构造抽象语法树检查输入中的语法可能包括词法错误并调用出错处理器进行适当处理。
许多编译器特别是由自动生成工具构造的编译器往往其前端的中心部件就是语法分析器。
源程序中可能出现的错误 词法错误指非法字符或拼写错关键字、标识符等 语法错误指语法结构出错如少分号、括号不匹配、begin/end不配对等 静态语义错误如类型不一致、参数不匹配等 动态语义错误(逻辑错误)如死循环、变量为零时作除数等
语义分析概述
语义分析是编译过程的一个逻辑阶段 语义分析的任务是对结构上正确的源程序进行上下文有关性质的审查进行类型审查。语义分析是审查源程序有无语义错误为代码生成阶段收集类型信息。比如语义分析的一个工作是进行类型审查审查每个算符是否具有语言规范允许的运算对象当不符合语言规范时编译程序应报告错误如有的编译程序要对实数用作数组下标的情况报告错误。