Grammar

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

<Program> -> BEGIN [ProgName] <Code> END

<Code> -> <Instruction> , <Code>

<Code> -> ''

<Instruction> -> <Assign>

<Instruction> -> <If>

<Instruction> -> <While>

<Instruction> -> <Print>

<Instruction> -> <Read>

<Instruction> -> <CompoundAssign>

<CompoundAssign> -> [VarName] <CompoundOp> <Exp>

<CompoundOp> -> +=

<CompoundOp> -> -=

<CompoundOp> -> *=

<CompoundOp> -> /=

<Assign> -> [VarName] := <Exp>

<Exp> -> <Producer> <ExpTail>

<ExpTail> -> + <Producer> <ExpTail>

<ExpTail> -> - <Producer> <ExpTail>

<ExpTail> -> ''

<Producer> -> <Atom> <AtomTail>

<AtomTail> -> * <Atom> <AtomTail>

<AtomTail> -> / <Atom> <AtomTail>

<AtomTail> -> ''

<Atom> -> minus <Atom>

<Atom> -> [VarName]

<Atom> -> [Number]

<Atom> -> ( <Exp> )

<If> -> IF ( <Cond> ) THEN <Code> <EndIf>

<EndIf> -> END

<EndIf> -> ELSE <Code> END


<Cond> -> <Exp> <Comp> <Exp>

<Comp> -> =

<Comp> -> <

<Comp> -> >

<While> -> WHILE ( <Cond> ) DO <Code> END

<Print> -> PRINT( [VarName] )

<Read> -> READ( [VarName] )

You might also like