编译原理 属性文法与语法制导翻译(一)

属性文法与语法制导翻译 一这部分为语义分析与中间代码生成部分。属性文法给产生式配上语义规则得到属性文法。 能够得到句子的语法结构,还能得到语法树中每个节点的属性值,实现了语义的分析为每个文法配备了值(属性),如语义规则中的val,代表与文法符号相关的信息,用来存放非终结符对应的表达式(子表达式 项 因子 等) 除了存放具体数值,还可以用来记录类型,代码序列,符号表内容等。对于文法得每个产生式配备

- 阅读全文 -

编译原理 更强的LR分析方法

更强的LR分析方法SLR(1)与LR(1)SLR(1)分析法LR0文法比较简单,描述的语言也比较有限,如下面这个文法不属于LR0,先构造LR0项目集规范族可以看出。注意 I1 I2 I9出现了移进和归约的冲突消解移进归约冲突是有可能的,可以细分。如,当前输入的单词不在要归约生成的A的FOLLOW集中,那不能采取归约动作。如,当前单词是+时,那它不在S‘的FOLLOW集合中,不采用归约,而是采用移进

- 阅读全文 -

中转cloudflare的安全隐患与隐患利用

反代/中转cloudflare的安全隐患与隐患利用本文核心:不要直接中转或反代cloudflare!存在着被他人利用的风险,还有就是不要利用文章内容做坏事!我发现出于各种目的,很多人喜欢用iptables或者是brook、socat等工具对cloudflare的端口进行中转或者是反代,但是这些工具都有一个共同的特点,不会检查传入的主机名(域名)就直接将流量转发给了cloudflare,这里存在着一

- 阅读全文 -