
编译原理思想
帐前卒
有道云笔记Server端码农。勤于专研算法架构等诡异的计算机知识。
展开
-
yacc lex 使用中错误信息解决解决方案
ex3.y: In function ‘yyerror’:ex3.y:32: warning: incompatible implicit declaration of built-in function ‘printf’这一条是因为.y缺少头文件。在.y文件中需要在%{....%}之中写入#include 等头文件。如果只有printf那就只用这个头文件就行了。 ex原创 2010-03-18 19:19:00 · 12962 阅读 · 0 评论 -
yacc与lex入门
转自Ashish Bansal (abansal@ieee.org), 软件工程师, Sapient 公司 LexLex 是一种生成扫描器的工具。扫描器是一种识别文本中的词汇模式的程序。这些词汇模式(或者常规表达式)在一种特殊的句子结构中定义,这个我们一会儿就要讨论。一种匹配的常规表达式可能会包含相关的动作。这一动作可能还包括返回一个标记。当 Lex 接收到文件或文转载 2010-03-18 11:20:00 · 1715 阅读 · 1 评论 -
用编译原理编写计算器程序中需要注意的问题
计算器程序有优先级。所以文法归于必须有先后顺序。也就是高优先级的先规约,低优先级的后规约。也就是在写文法时,见到高优先级便扩展。例如: -+在*/之后扩展Express = Express ‘+’ F | Express ‘-’ FF = T * T | T / T T = terminal 这就完事了吗?no...因为这样很有可能产生shift/reduce文法错原创 2010-03-21 18:29:00 · 3601 阅读 · 9 评论