摘要: 跳舞链 数独 阅读全文
posted @ 2013-10-19 23:48 huangnima 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 1 #include "token_define.h" 2 //这个文件是用来处理句型的,对于算术表达式都是放在前面的那个头文件中来处理 3 typedef struct _handle_tree_node//句型语法树的节点 4 { 5 union 6 { 7 int handle_type;//1代表基本句型,2代表代码块, 8 enum keywords_type keyword;//代表关键字的类型 9 } 10 union//产生体 11 { 12 ph... 阅读全文
posted @ 2013-07-24 17:56 huangnima 阅读(990) 评论(2) 推荐(0) 编辑
摘要: 1 #include "lex_define.h" 2 enum keywords_type//代表一些关键字 3 { 4 loop_for=3,//代表for关键字 5 loop_while,//代表while关键字 6 branch_if,//代表if关键字 7 branch_else,//代表else关键字 8 break, 9 }; 10 //这里sizeof被分到运算符里了,而main被分到函数名里面去了,基本数据类型和符号前缀被分到数据类型名之中了 11 enum delimit_type 12 {... 阅读全文
posted @ 2013-07-24 17:55 huangnima 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 typedef struct _array_description 5 { 6 int array_size;//代表当前层的最高索引,即上界 7 struct _array_description* next;//代表下一级 8 }array_description,*parray_description; 9 //注意我们把最低层的放在最前面,这样有利于下标的处理 10 11 typedef struct _basic_type_pattern 12 { 13 ... 阅读全文
posted @ 2013-07-24 17:53 huangnima 阅读(630) 评论(0) 推荐(1) 编辑
摘要: 1 #include 2 #include "symbol_table_def.h" 3 //前面的那个词法和文法说明只是大概的说明,现在又有了改动,把指针运算符改为了@,把取地址运算符改为了$ 4 //但是类型声明的时候的指针类型仍然是* 5 //现在所有的符号都用了,除了让人恶心的逗号和问号 6 //现在开始定义词法单元的枚举类型 7 enum lex_type 8 { 9 name,//代表字符串,包括所有的关键字和变量声明 10 delimit,//代表分号,以及大括号 11 char_type,//代表字符 12 an_opera... 阅读全文
posted @ 2013-07-24 17:52 huangnima 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 1 //这个文件主要是用来描述当前源语言的词法结构和语法结构 2 //当前语言是c语言的一个子集,因此里面所有的描述大家都很熟悉 3 //注意,当前语言并不支持预处理,因为c预处理比较复杂,而且楼主能力低下,因此做不来 4 //如果有想做预处理的同志,可以自行修改代码。 5 //本代码完全木有任何版权,因此各位读者在使用过程中由于程序bug而造成的挂科、失恋、车祸、离婚等不良后果 6 //楼主不负任何法律责任,钦此。 7 // 8 // 9 //第一版本修改,添加函数。函数这东西老牛逼了。 10 //下面来描述词法中的字符集 11 // 12 // 13 //变量名称符:大... 阅读全文
posted @ 2013-07-24 17:50 huangnima 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 上次忘了写函数的实现,只写了函数的声明。此外修改了基本语句的文法,把判断语句删除了。嗯,就是这样。 1 //这个文件主要是用来描述当前源语言的词法结构和语法结构 2 //当前语言是c语言的一个子集,因此里面所有的描述大家都很熟悉 3 //注意,当前语言并不支持预处理,因为c预处理比较复杂,而且楼主能力低下,因此做不来 4 //如果有想做预处理的同志,可以自行修改代码。 5 //本代码完全木有任何版权,因此各位读者在使用过程中由于程序bug而造成的挂科、失恋、车祸、离婚等不良后果 6 //楼主不负任何法律责任,钦此。 7 // 8 // 9 //第一版本修改,添加函数。函数这东... 阅读全文
posted @ 2013-07-18 18:50 huangnima 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 这两运算就是一祸害,删了多好。反正编译器在优化的时候会自己生成自增自减运算指令,不劳咱们操心。 阅读全文
posted @ 2013-07-12 10:15 huangnima 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1 //这个文件主要是用来描述当前源语言的词法结构和语法结构 2 //当前语言是c语言的一个子集,因此里面所有的描述大家都很熟悉 3 //注意,当前语言并不支持预处理,因为c预处理比较复杂,而且楼主能力低下,因此做不来 4 //如果有想做预处理的同志,可以自行修改代码。 5 //本代码完全木有任何版权,因此各位读者在使用过程中由于程序bug而造成的挂科、失恋、车祸、离婚等不良后果 6 //楼主不负任何法律责任,钦此。 7 // 8 // 9 //第一版本修改,添加函数。函数这东西老牛逼了。 10 //下面来描述词法中的字符集 11 // 12 // 13 //变量名称符:大... 阅读全文
posted @ 2013-07-10 13:40 huangnima 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 1 //这个文件主要是用来描述当前源语言的词法结构和语法结构 2 //当前语言是c语言的一个子集,因此里面所有的描述大家都很熟悉 3 //注意,当前语言并不支持预处理,因为c预处理比较复杂,而且楼主能力低下,因此做不来 4 //如果有想做预处理的同志,可以自行修改代码。 5 //本代码完全木有任何版权,因此各位读者在使用过程中由于程序bug而造成的挂科、失恋、车祸、离婚等不良后果 6 //楼主不负任何法律责任,钦此。 7 //下面来描述词法中的字符集 8 // 9 // 10 //变量名称符:大小写字母和下划线,注意这里并不支持数字,变量名字中有数字是很不科学的,个人认为,... 阅读全文
posted @ 2013-07-07 21:02 huangnima 阅读(1359) 评论(0) 推荐(0) 编辑