编译原理
追_梦_者
搬砖码农一位
展开
-
FIRST集与FOLLOW集
FIRST集怎样理解FIRST集呢?顾名思义就是一段文法所有可能的出现的开始符号的集。 求FIRST集的步骤如下:若X->a..,则将终结符a加入FIRST(X)中;若X->e ,则将终结符e加入FIRST(X)中(e表示空集);若 X->BCD…E,则将First(B)所有元素(除了空集)加入 First(X),然后检测First(B),若First(B)中不存在空集, 即e,则停止,若存原创 2016-12-01 19:39:06 · 2186 阅读 · 0 评论 -
LL(1)文法分析器简单实现
文法: E->E+T | T T->T*F | F F->(E)|i消除左递归: E->TH H->+TH|e(空,一普赛肋) T->FY Y->*FY|e F->(E)|i非终结符集: E,H,T,Y,F终结符集: i,+,*,(,),#原创 2016-12-06 12:11:36 · 9765 阅读 · 1 评论 -
Python词法分析器实现
简单Python词法分析器简单实现:词法分析器状态转换图:词法分析器总流程图:预处理程序:词法分析器:词法分析器程序详细设计#!/usr/bin/env python3.4# coding=utf-8import sysimport stringkeywards = {}# 关键字部分keywards['False'] = 101keywards['class'] = 102keywar原创 2016-12-06 12:36:54 · 14661 阅读 · 0 评论 -
编译原理中:短语,直接短语,句柄
这几天邻近期末,感觉上了快一学期的编译原理的许多方面还是难以理解,今天早上就突然遇到了一道题,求短语,直接短语和句柄的题,突然才发现自己连这些词的定义都不清楚,于是仔细查了以下,下面分享出来:短语书上的定义如下: 书上写的比较抽象,我这里简单解释一下,有两个文法,分别是:S=*=>aAp (由于部分字符难以输入,在此用a,b,p代替)A=+=>b我们由此可以画出他的抽象语法树,如下:那么,abp原创 2016-12-13 19:37:55 · 92144 阅读 · 45 评论