首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jison解析器中的SyntaxError

Jison解析器中的SyntaxError
EN

Stack Overflow用户
提问于 2013-03-12 04:55:55
回答 1查看 431关注 0票数 2

我正在尝试使用Jison编写一个解析器,它将解析javap工具的输出。下面是我的.jison文件的内容:

代码语言:javascript
复制
%lex

%x classfile

%%

"Classfile"             { this.begin("classfile"); }

<classfile>\s+          { /* ignore whitespace */ }
<classfile>[^\n]+       { this.popState(); return 'CLASSFILE'; }

<INITIAL><<EOF>>        { return 'EOF'; }

/lex

%start root

%%

root
  : CLASSFILE EOF { return $1; }
  ;

不幸的是,当我运行"jison javap.jison“时,我得到了这个错误:

代码语言:javascript
复制
undefined:5
case 0:"Classfile"             { this.begin("classfile"); }
                               ^
SyntaxError: Unexpected token {
    at Function (<anonymous>)
    at Object.buildActions (C:\Users\cdmck_000\AppData\Roaming\npm\node_modules\jison\node_modules\jison-lex\regexp-lexer.js:118:12)
    at Object.RegExpLexer (C:\Users\cdmck_000\AppData\Roaming\npm\node_modules\jison\node_modules\jison-lex\regexp-lexer.js:131:39)
    at Jison_Generator (C:\Users\cdmck_000\AppData\Roaming\npm\node_modules\jison\lib\jison.js:108:22)
    at (anonymous function) (C:\Users\cdmck_000\AppData\Roaming\npm\node_modules\jison\lib\util\typal.js:23:28)
    at new o.constructor (C:\Users\cdmck_000\AppData\Roaming\npm\node_modules\jison\lib\util\typal.js:77:70)
    at new Jison_Generator (C:\Users\cdmck_000\AppData\Roaming\npm\node_modules\jison\lib\jison.js:1578:20)
    at processGrammar (C:\Users\cdmck_000\AppData\Roaming\npm\node_modules\jison\lib\cli.js:87:21)
    at Object.exports.main (C:\Users\cdmck_000\AppData\Roaming\npm\node_modules\jison\lib\cli.js:61:56)
    at Object.<anonymous> (C:\Users\cdmck_000\AppData\Roaming\npm\node_modules\jison\lib\cli.js:105:13)

我尝试过用\w+替换"Classfile",但在\ of \w+上却出现了错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-12 05:18:11

我将行尾从Windows格式转换为UNIX格式,问题就解决了。

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

https://stackoverflow.com/questions/15348432

复制
相关文章

相似问题

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