加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

premature EOF

(2011-05-07 19:15:32)
标签:

premature

eof

lex

flex

杂谈

分类: Computing
最近在Windows下写了一个后缀为l的文件意欲用flex来编译,但是出现未知错误"premature EOF"。上网上没有查到答案,折腾了半天,原来是%{ ... %}写成了%{ }%了。

另外,定义了一个正则表达式Identifier
%{
%}
letter [A-Za-z]
digit [0-9]
Identifier {letter}({digit} | {letter})*
%%
{Identifier} {<语义定义>}
%%
int main()...

出现的情况是不能识别包含<语义定义>那一行,查找半天终于找到原因,是正则定义的时候不能在花括号出现空格,修改Identifier定义为
Identifier {letter}({digit}|{letter})*
即可。

另外,用C语言编写,文件最后空一行可消去文件末尾希望出现newline的警告。

加油。好多bug。

0

阅读 收藏 喜欢 打印举报/Report
前一篇:2011年05月05日
后一篇:关于拖延
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有