[試題] 100下 陳俊良 編譯程式設計 期中考

看板NTU-Exam作者 (猛矮)時間12年前 (2012/05/03 21:46), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
課程名稱︰編譯程式設計 課程性質︰系必修 課程教師︰陳俊良 開課學院:電資學院 開課系所︰資訊工程學系 考試日期(年月日)︰2012/5/3 考試時限(分鐘):120 是否需發放獎勵金:是的,感謝 (如未明確表示,則不予發放) 試題 : Consider the following grammar for questions 1~4 1.A -> B C 2.B -> e D 3.B -> λ 4.C -> f 5.C -> λ 6.D -> f e D 7.D ->λ 1.Complete the SetSetSet table.(15%) 2.Complete the LR(1) item sets, including non-kernel items. The following reference figure is generated by "bison --graph".(20%) 圖:http://i.imgur.com/TDT2B.jpg
3.Is the grammar LR(1)? Explain your reason briefly.(2+3%) 4.Prove that it is an LL(3) grammar.(20%) 5.In Java SE 6 and earlier, a decimal floating point literal is defined by: DecimalFloatingPointLiter: Digits.Digits(opt)FloatTypeSuffix(opt) .Digits FloatTypeSuffix(opt) Digits FloatTypeSuffix FloatTypeSuffix: one of f F d D In java SE 7 and later, any number of underscore characters(_) can appear anywhere between digits in a numberical literal. This feature enables you, for example, to separate groups of digits in numberic literals,which can improve the readability of your code. The following example shows several ways you can use the underscore in numberic literals: long creditCardNumber = 1234_5678_9012_3456L; float pi = 3.14_15F; long hexWords = 0xCAFE_BABE; long bytes = 0b11010010_01101001_10010100-10010010; You can place underscores only between digits; you cannot place underscores in the following places: At the beginning or end of a number Adjacent to a decimal point in a floating point literal Prior to an F,D or L suffix The following examples demonstrate valid and invalid underscore placements in numberic literals: int x1 = _52; //This is an identifier, not a numberic literal int x2 = 5_2; //OK(decimal literal) int x3 = 52_; //Invalid; cannot put underscores at the end of a literal int x4 = 5______2; //OK(decimal literal) float pi1 = 3_.1415F; //Invalid; cannot put underscores adjacent to a decimal point float pi2 = 3._1415F; //Invalid; cannot put underscores adjacent to a decimal point float pi3 = 3.1415_F; //Invalid; cannot put underscores prior to an F suffix Please give a regular expression to represent the decimal floating point literal for Java SE7.(20%) 6.The conditional operator ?: has three operand expressions;? appears between the first and second expressions, and : appears between the second and third expressions. At run time, the first operand expression is evaluated first. If it is true, then the second operand expression is chosen. If it is false, then the third operand expression is chosen. The conditional operator is syntacitcally right-associative, so that a?b:c?d:e?f:g means the same as a?b:(c?d:(e?f:g)). Please give grammar rule(s) for a conditional expression.(20%) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.6.232

05/03 21:46, , 1F
第二題的圖我明天補
05/03 21:46, 1F
※ 編輯: rod13824 來自: 140.112.30.42 (05/04 18:48)
文章代碼(AID): #1Feemq7I (NTU-Exam)