![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
编译原理
杨yp老师加油!
我的巨剑能轻松搅动潮汐
这个作者很懒,什么都没留下…
展开
-
【编译原理】FirstVT和LastVT
FirstVT 右部从头算起的第一个终结符。若是非终结符,找该非终结符的右部从头算起的第一个终结符。FirstVT(S)={a,( }FirstVT(T)={,} UFirstVT(S) ={a,(,, }LastVT是右部从尾算起的第一个终结符。若是非终结符,找该非终结符的右部从尾算起的第一个终结符。LastVT(S)={a,)}LastVT(T)={,} ULastVT(S) ...原创 2022-05-14 18:12:08 · 1134 阅读 · 0 评论 -
【编译原理】LR(0)分析表(偏人话)
水印不知道怎么去掉……第一步:拓广文法把产生式拆出来单独写,第一行要用其他符号指向开始符号第二步:写出所有项目 在第一步之上,前中后加点(·)第三步:求项目集规范族 包括并不限于这3个要点(规则): ①某个项目的“·”走过一个符号(非空),下一个状态的开头,写这个项目的“·”后移一位的项目。 ②“·”后面非终结符,将它的“·”...原创 2022-05-14 17:13:27 · 2303 阅读 · 3 评论 -
【编译原理】First集和Follow集简易解释(偏人话)
\ε:非ε元素First集和Follow集是集合First集规则(相应字母在->左边,查找->右边第一个东西)①A->aB,a加进First(A);(->右边第一个是终结符,加进集合)②A->ε,ε加进First(A);③A->Xa,将集合First(X)\ε加入First(A)中。(->右边第一个是非终结符,将该非终结符的First集(去空)加进集合)(我的理解是:如果取了空,那头就不是...原创 2022-04-26 20:43:44 · 20229 阅读 · 14 评论 -
【编译原理】flex 十进制转十六进制参考&&以及flex初次接触心得
10转16↓%option noyywrap%{#include <stdlib.h>#include <stdio.h>#define NUM 233int num_digit=0;%}delim [ ]letter [A-Za-z]digit [0-9]number {digit}+%%{number} {int n= atoi(yytext); if(n%16==10) printf("%dA",n/16); else if(n%16==1原创 2022-03-27 16:18:45 · 752 阅读 · 0 评论 -
【编译原理】偶数个0奇数个1的组成串 学习心得
【编译原理】偶数个0奇数个1的组成串 学习心得串若1开头:带偶数个0和偶数个11((00|11)*(01|10)(00|11)*(01|10))*串若0开头:必有01或10原创 2022-03-25 23:10:49 · 3920 阅读 · 0 评论