编写符合以下要求的明确语句语法:

时间:2013-03-05 21:50:22

标签: grammar

编写符合以下要求的“语句”语法:

  • skip是一个有效的陈述
  • 表单x := E的赋值是一个有效的语句,其中x是标识符,E是 算术表达式
  • 两个陈述S0的组成; S1是有效的陈述

我有以下解决方案,但不确定它是否正确:

x:: E|skip|s0 E|s1 E

2 个答案:

答案 0 :(得分:1)

S:
  SKIP
| ID ':=' E
| S ';' S
;

E必须有另一条规则,SKIP和ID都是词汇标记。

答案 1 :(得分:0)

这个怎么样?我不确定什么被认为是“有效”的算术表达式,什么被认为是有效的标识符,但这样的事情怎么样?

S   :: 'skip'
S   :: IDENTIFIER ':=' E
S   :: S | S ';' S

A1  :: '+' | '-'
A2  :: '*' | '/'

NBR :: '1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'0'
O   :: NBR          /* remove this if arithm. expression only on identifiers */
O   :: IDENTIFIER
O   :: '(' E ')'

F   :: O
F   :: O A1 O

E   :: F A2 F