LR(1)表驱动语法分析程序
摘要:1 /* 2 * LR(1) 语法分析 3 */ 4 #include 5 #include 6 #include 7 8 #include "Common.h" 9 #include "LRCal.h"10 #include "LRMigrate.h"11 #include "Stack.h"12 13 #define NEXTWORD(s) ((*(s)==0)?SYM_EOF:*((s)++))14 15 extern char *Grammer[];16 17 void LRParse(struct LRE
阅读全文
posted @
2013-08-31 17:15
RexfieldVon
阅读(870)
推荐(0) 编辑
LR(1)表生成算法演示程序
摘要:1 /* 2 * LR 转换表 3 * + Goto 记录表 4 * + 状态转换表 5 */ 6 #include 7 #include 8 #include 9 10 #include "Common.h" 11 #include "Closure.h" 12 #include "LRCal.h" 13 #include "LRMigrate.h" 14 15 extern char *Grammer[]; 16 extern char ***GrammerRule; 17 18 /* 19 * 创建Goto记
阅读全文
posted @
2013-08-31 10:50
RexfieldVon
阅读(1067)
推荐(0) 编辑
简单的LR核心项集和Goto表填充演示程序
摘要:1 /* 2 * 该程序用于计算语言的核心项集 3 * RexfieldVon 4 * 2013年8月24日21:19:25 5 */ 6 #include 7 #include 8 #include 9 #include 10 11 #ifndef bool 12 # define bool char 13 #endif 14 15 #ifndef true 16 # define true 1 17 #endif 18 19 #ifndef false 20 # define false 0 21 #endif 22 23 #d...
阅读全文
posted @
2013-08-24 21:39
RexfieldVon
阅读(587)
推荐(0) 编辑
利用Trie树对字符串集合进行排序并计算特征值
摘要:该算法用于将一组乱序的字符串反序列化到一个Trie树中,这个过程即可视为对字符串进行了一次排序。还可以通过调用GetFeatureString 将该 Trie 树重新序列化。 1 #include 2 #include 3 #include 4 5 #ifndef bool 6 # define bool char 7 #endif 8 9 #ifndef true 10 # define true 1 11 #endif 12 13 #ifndef false 14 # define false 0 15 #endif 16 17 #defi...
阅读全文
posted @
2013-08-24 21:17
RexfieldVon
阅读(391)
推荐(0) 编辑
付出半个小时的笔误级BUG
摘要:一开始,我为了偷懒将所有的任务全都压在了一个浮动指针上: 1 for (; CCPtr->S != NULL; CCPtr->S = CCPtr->S->next) // for each x following a · in an item in CCi 2 { 3 char *Placeholder = strchr(CCPtr->S->Expression, '\376'); 4 if (Placeholder != NULL && *(Placeholder + 1) != '\0') 5 {
阅读全文
posted @
2013-08-24 16:37
RexfieldVon
阅读(250)
推荐(0) 编辑
简单的Goto运算演示程序
摘要:1 /* 2 * 该程序用于计算某个项集的Goto集 3 * RexfieldVon 4 * 2013年8月11日2:34:50 5 */ 6 #include 7 #include 8 #include 9 10 #ifndef bool 11 # define bool char 12 #endif 13 14 #ifndef true 15 # define true 1 16 #endif 17 18 #ifndef false 19 # define false 0 20 #endif 21 22 struct Collec...
阅读全文
posted @
2013-08-11 02:37
RexfieldVon
阅读(286)
推荐(0) 编辑
简单的闭包运算(Closure)演示程序
摘要:1 /* 2 * 该程序用于计算某个产生式的闭包 3 * RexfieldVon 4 * 2013年8月9日16:01:38 5 */ 6 #include 7 #include 8 #include 9 10 #ifndef bool 11 # define bool char 12 #endif 13 14 #ifndef true 15 # define true 1 16 #endif 17 18 #ifndef false 19 # define false 0 20 #endif 21 22 struct Collecti...
阅读全文
posted @
2013-08-10 23:33
RexfieldVon
阅读(1167)
推荐(0) 编辑