2012-03-06 52 views
0

这个问题在我的courswork上我无法理解。 Q. JAVA语言规范(3rd Edn。)可供浏览,或者可从java.sun.com/docs/books/jls/下载 。找到描述所谓的条件运算符''的部分 '? :”。 正式描述JAVA条件运算符构造的哪些方面,并且是非正式描述的。 请帮我理解“JAVA条件运算符构造的各个方面是正式描述的”的意思是什么“JAVA条件运算符构造的哪些方面是正式描述的,哪些方面是非正式描述的

回答

1

按照正式规范,我猜你的教练指的是BNF,这是关于在JLS中可以找到的唯一正式描述。形式化规范的目标太过于用数学分析的形式表达计算机语言。

我不想做你的功课你,但这里是一个形式语言表达的例子在BNF:

grammar ::= [{ assignment }] eoi 
assignment ::= name ('::=' | '=') expression 
expression = term [{ '|' term }] 
term = factor [{ white factor }] 
factor = IO | name | '[' expression ']' | '&{' expression '&}' 
IO = '\'' string '\'' | '"' string '"' | '`' string '`' 

这个小宝石是BNF具有讽刺意味,定义grammar of a BNF。您会注意到一行中的每个元素都由它下面的行来描述。 BNF只是一种形式化的符号,但是它非常常用于数学表达编程语言,因为它很容易被解析器分解。

JLS的非正式部分将是那些以BNF表示的部分,即而不是。它们可以采用简单的句子或以简单英语描述功能的项目符号列表。你会在你的家庭作业中发现很多这样的东西。祝你好运!

+0

谢谢,我只是想通了。我认为这是正确的答案。 – 2012-03-06 05:08:26

1

根据我的说法,Java语言规范(JLS)由Sun Microsystems制作,因此无论在JLS中描述什么例如正式的条件运算符。 JLS不像作者的书,作者有权以自己的风格解释Java术语和事物。

+0

谢谢你,但是有没有关于结构和哪部分的非正式描述?这个问题并不清楚,我在课程笔记中找不到任何信息。 – 2012-03-06 03:55:23