编译原理
kbtx
这个作者很懒,什么都没留下…
展开
-
编译原理-第四章-语法分析之知识点梳理
递归下降分析设有文法G,G: S → cAd A → ab那么,识别S的递归下降函数的伪代码为://识别 Svoid S(){ match(c); A(); match(d);}//识别 Avoid A(){ match(a); match(b); }EBNF表示法为了避免重复扫描词法分析输出的单词序列(提高效率),需要先将文法G采用EBNF表示法,然后写出递归下降分析程序EBNF使用[ ]原创 2020-06-22 19:55:12 · 1761 阅读 · 0 评论 -
编译原理-第二章-词法分析之NFA、DFA之间的转化和DFA的化简
NFA、DFA之间的转化NFA的等价转化假定有如下图所示的非确定状态机(NFA) M = <S, ∑, δ, S0, F>符号含义S状态集合∑字母表δ转换关系S0初始状态集F终止状态集我们对M的状态转换图进行以下改造:引进新的初态结点X和终态结点Y,X,Y∉S,从X到S0中任意状态结点连一条ε箭弧, 从F中任意状态结点连一条ε箭弧到Y这样,我们就能确保初态和终态的唯一性。对M的状态转换图进一步施行替换,通过新引入的状态原创 2020-05-25 14:55:05 · 3009 阅读 · 0 评论 -
编译原理 mJava词法分析实验(MJava的词法规则和课程设计要求)
MJava的语法规则语法规则为了保证开始符号唯一性,且不会出现在文法右侧,我们增添新规则:Accept -> Goal其他语法规则如下:Goal-> MainClass { ClassDeclaration } EOFMainClass->“class” Identifier “{”“public” “static” “void” “main” “(” “Stri...原创 2020-05-21 19:37:25 · 251 阅读 · 0 评论 -
编译原理 mJava语法分析实验(MJava的语法规则和课程设计要求)
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.util.ArrayList;import java.util.List;class Token_{ static StringBuilder sb = new StringBuilder(); Stri...原创 2020-04-24 23:02:20 · 947 阅读 · 6 评论 -
编译原理-第五章-语义分析之属性文法、属性计算
属性文法属性文法,也称属性翻译文法Knuth在1968年提出以上下文无关文法为基础为每个文法符号(终结符或非终结符)配备若干相关的“值"(称为属性),代表与文法符号相关信息,如类型、值、代码序列、符号表内容等对于文法的每个产生式都配备了一组属性的语义规则,对属性进行计算和传递产生式语义规则L→Enprint(E.val)E→E1+TE.val :...原创 2020-04-23 14:55:34 · 12235 阅读 · 1 评论