关于Java语法中修饰符的问题

发布于 2024-10-13 05:08:07 字数 365 浏览 7 评论 0原文

Java 语法定义了 ModifiersOpt: { 修饰符 }。 修饰符被定义为public、protected、private、static等之一...。{x}表示零次或多次出现x。

我们知道 public public 不是有效的标识符。这是否意味着 Modifier 列表中的任何元素(例如 public)在 {Modifier}仅出现一次{ Modifier } 是否有任何“标准”解析器组合器?

The Java grammar defines ModifiersOpt: { Modifier }. Modifier is defined as one of public, protected, private, static etc .... {x} denotes zero or more occurrences of x.

We know that public public is not a valid identifier. Does it mean that any element of the Modifier list (e.g. public) appears only once in {Modifier} ? Is there any "standard" parser combinator for { Modifier } ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云之铃。 2024-10-20 05:08:07

修饰符可以出现零次或多次。正如 aioobe 所说,虽然语法上可以接受,但 public例如 private 在语义上是无效的。有很多小情况严格按照语法是可以的,但编译器不允许。

下面的语法使用以下内容
BNF 风格约定:

{x} 表示出现零次或多次
x 的。

The modifiers can appear zero or more times. As aioobe said, while syntactically acceptable, public private for example is semantically invalid. There are lots of little situations that are fine strictly according to the grammar but are not allowed by the compiler.

The grammar below uses the following
BNF-style conventions:

{x} denotes zero or more occurrences
of x.

想你的星星会说话 2024-10-20 05:08:07

并非 Java 程序中的所有错误都是语法错误。例如,像 public private 这样的错误可能(正如您所发现的)被视为语义错误。

作为另一个例子,我打赌语法也允许,例如

int i = "type error";

尽管如此,它不是有效的 Java 代码片段。

Not all errors in a Java program are syntactical errors. An error like public private for instance may (as you have discovered) be considered as a semantical error.

As another example, I bet the grammar also allows, for instance

int i = "type error";

Still though, it is not a valid snippet of Java code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文