gpt4 book ai didi

java - 如何在 jflex 中创建 lambda 符号?

转载 作者:行者123 更新时间:2023-11-30 07:30:21 24 4
gpt4 key购买 nike

我正在用 jflex + javacup 做一个语法分析器。在 .cup 语法中我有这部分:

   SUBPPARAMLIST ::= lambda | "(" EXPLIST ")"

其中 lambda 没有任何意义(SUBPPARAMLIST 可以为空)

嗯,我设法在 .flex 中正确创建所有 token ,但我不知道如何创建 lambda 符号。我希望你们能帮助我,如果你不明白我的问题,请告诉我


WhatDoIWriteHere{return symbol(sym.lambda);}

最佳答案

空的产生式(你称之为“lambda”)不需要符号,因为它是空的。您可以通过产生式规则来表达这一点:

SUBPPARAMLIST ::= lambda | "(" EXPLIST ")" ;
lambda ::= ;

引用:语法中的每个产生式都有一个左侧非终结符,后跟符号“::=”,然后是一系列零个或多个 Action 、终结符或非终结符符号,后跟可选的上下文优先级分配,并以分号 (;) 结尾。 请注意“...零个或多个...”

语法解析器可能也能够处理这个问题:

SUBPPARAMLIST ::= "(" EXPLIST ")" | ;

关于java - 如何在 jflex 中创建 lambda 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36232465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com