您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – AnTLR4:INDENT和DEDENT令牌

5b51 2022/1/14 8:20:28 python 字数 2038 阅读 498 来源 www.jb51.cc/python

我在AnTLR4中实现了 Python语法,但我遇到了与此处讨论的INDENT和DEDENT相同的问题: ANTLR4- dynamically inject token 我正在尝试的解决方案是转换Ter的解决方案,可以在这里找到http://antlr3.org/grammar/1078018002577/python.tar.gz(覆盖nextToken并插入虚构的标记). 问题是这个解决方案

概述

我正在尝试的解决方案是转换Ter的解决方案,可以在这里找到http://antlr3.org/grammar/1078018002577/python.tar.gz(覆盖nextToken并插入虚构的标记).

问题是这个解决方案假设我们有一个词法分析器规则,如:

LEADING_WS
    :   {getColumn()==1}?
        // match spaces or tabs,tracking indentation count
        (   ' '  { spaces++; }
        |   '\t' { spaces += 8; spaces -= (spaces % 8); }
        |   '\014' // formFeed is ok
        )+
        {
        }
        ...

但是我一直都会收到错误,因为词法分析器中的操作必须是单个altermost替代方案的最后一个元素.

任何人都可以帮我找到解决方案吗?

非常感谢!!!

LEADING_WS
  : {getColumn()==1}?
    // match spaces or tabs,tracking indentation count
    [ \t]+
    {spaces = computeSpaces(_input.getText());}
    ;

总结

以上是编程之家为你收集整理的python – AnTLR4:INDENT和DEDENT令牌全部内容,希望文章能够帮你解决python – AnTLR4:INDENT和DEDENT令牌所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶