首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SableCC期望: EOF

SableCC期望: EOF
EN

Stack Overflow用户
提问于 2014-09-15 01:49:56
回答 1查看 935关注 0票数 0

我正在为我的大学做一个关于编译器的作业,而且我是第一次使用SableCC 3.7。我正在尝试定义我的语法文件,但是当我尝试运行它(通过命令行)时,我得到了这个错误:

"ParserException: 51,5预期: EOF

代码语言:javascript
复制
Helpers

letter = ['a' .. 'z'];
digit = ['0' .. '9'];
plus = '+';
minus = '-';
mult = '*';
div = '/';
star = '*';
equals = '=';
leftbrack = '(';
rightbrack = ')';
leftcurly  = '{';
rightcurly = '{';
tab = 9;
cr = 13;
space = 32;
nl = 10;
eol = cr nl | cr | nl |;
func = 'func';
identifier = (letter|'_')(letter|'_'|digit)*;
float = minus ? digit ( digit ) * '.' digit ( digit ) * ( ( 'E' | 'e' ) ( '+' | '-' ) ? digit ( digit ) * ) ?;
combination = (tab|cr|eol|space|nl)+;
line_comment    ='/''/'[[ 0 .. 0xffff]-[cr+nl]]*eol|';'[[0..0xffff]-[cr+nl]]*eol;
multiline_comment   ='/''*'[[0..0xffff]-['*'+'/']]*'*''/';

令牌

代码语言:javascript
复制
func = 'FUNC';
plus = plus;
minus = minus;
mult = mult;
div = div;
equals = equals;
leftbrack = leftbrack;
rightbrack = rightbrack;
leftcurly  = leftcurly;
rightcurly = rightcurly;
identifier = ('ID,')(identifier);
float = ('ID,')(float);
number = digit+;
line_comment = 'COMMENT';
multiline_comment = 'COMMENT';
combination = 'WHITESPACE';

忽略的标记

代码语言:javascript
复制
line_comment;
multiline_comment;

有人知道怎么解决这个问题吗?在线文档并不是最好的。

EN

回答 1

Stack Overflow用户

发布于 2014-11-19 00:06:01

可能是这样的:

代码语言:javascript
复制
Ignored Tokens

    line_comment,
    multiline_comment;

您必须用逗号而不是分号来分隔Ignored Tokens

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25836209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档