编译原理
nai_dev
学无止境~
展开
-
编译原理之简单语法分析器(c语言)
语法分析是编译过程的核心部分,其基本任务是根据语言的语法规则进行语法分析,如果不存在语法错误即给出正确的语法结果,并为语义分析和代码生成做准备。语法分析器的两种方式语法分析器的任务主要是确定是否可以以及如何从语法的起始符号推导出输入符号串(输入文本),主要可以通过两种方式完成:1. 自顶向下分析根据形式语法规则,在语法分析树的自顶向下展开中搜索输入符号串可能的最左推导。单词按从左到右的顺序依次使用。2. 自底向上分析语法分析器从现有的输入符号串开始,尝试将其根据给定的形式语法规则进行改写,最.原创 2020-06-01 10:32:32 · 6908 阅读 · 0 评论 -
设计算法求解FIRSTVT和LASTVT(c语言)
Firstvt和Lastvt是为了画算符优先关系表的(就是表里面填优先大于小于等于的抄那个)。Firstvt:找Firstvt的三条规则:如果要找A的Firstvt,A的候选式中出现:A->a…,即以终结符开头,该终结符入Firstvt;A->B…,即以非终结符开头,该非终结符的Firstvt入A的Firstvt;A->Ba…,即先以非终结符开头,紧跟终结符,则终结符入Firstvt。Lastvt:找Lastvt的三条规则:如果要找A的Lastvt,A的候选式中出现:.原创 2020-06-01 10:31:59 · 4211 阅读 · 0 评论 -
编译原理之设计简单词法分析器(C语言)
本次的内容主要是通过c语言实现简单的词法分析器,所以理论方面的知识较少,在大家有了编译原理的基础知识后,提供代码学习。使用语言:C语言编译环境:vscode什么是词法分析器设计词法分析器c语言代码实现编译原理总框:一、什么是词法分析器词法分析(lexical analysis)是计算机科学中将字符序列转换为单词(Token)序列的过程。进行词法分析的程序或者...原创 2020-04-27 13:33:04 · 5706 阅读 · 0 评论