首页 > 解决方案 > 在执行词法分析时,如何正确处理“>”字符的“类型上下文”规则(Java SE 16 规范§3.2)?

问题描述

我最近对编写 Java 语言解析器很感兴趣。我的参考是新发布的 Java SE 16 规范。在3.2 上。Lexical Translations,我遇到了这句话,但我不确定我是否明白:

...有一个例外:如果词法转换发生在类型上下文(第 4.11 节)中,并且输入流有两个或多个连续的 > 字符,后面跟着一个非 > 字符 ...

我不明白的是,当词法分析甚至没有完成时,如何判断它是否是“类型上下文”?(§4.11 可能会提供一个答案,但它太长了,所以我懒得完整阅读它)这里的技巧是将每个>字符分隔为单独的标记并稍后在解析阶段消除歧义吗?或者有什么明显的我错过了 - 因为我没有太多编写语言解析器的经验。

只是为了提供更多上下文,我使用Alex进行词法分析和(计划使用)Happy进行解析。

标签: javalexical-analysislanguage-specifications

解决方案


推荐阅读