Simple


Syntax


Statements :
    Statements Statement
    Statement

Statement :
    display Expression
    display Expression read Id
    assign Id = Expression
    while Expression do Statements end
    if Expression then Statements end
    if Expression then Statements else Statements end

Expression :
    Expression > Add-Exp
    Expression < Add-Exp
    Expression <= Add-Exp
    Expression >= Add-Exp
    Expression == Add-Exp
    Expression <> Add-Exp
    Add-Exp

Add-Exp :
    Add-Exp + Mult-Exp
    Add-Exp - Mult-Exp
    Add-Exp & Mult-Exp
    Mult-Exp

Mult-Exp :
    Mult-Exp * Negate-Exp
    Mult-Exp / Negate-Exp
    Negate-Exp

Negate-Exp :
    - Value
    Value

Value :
    Id
    StringLiteral
    NumberLiteral
    ( Expression )