<Query> ::= <Expr> SEMI;
<Expr>  ::= <ProjExpr>  | <RenameExpr>    | <UnionExpr> | 
            <MinusExpr> | <IntersectExpr> | <JoinExpr> |
            <TimesExpr> | <SelectExpr>    | RELATION
<ProjExpr>   ::= PROJECT [<AttrList>] (<Expr>)
<RenameExpr> ::= RENAME [<AttrList>] (<Expr>)
<AttrList>   ::= ATTRIBUTE | <AttrList> , ATTRIBUTE
<UnionExpr>  ::= (<Expr> UNION <Expr>)
<MinusExpr>  ::= (<Expr> MINUS <Expr>)
<IntersectExpr>  ::= (<Expr> INTERSECT <Expr>)
<JoinExpr>   ::= (<Expr> JOIN <Expr>)
<TimesExpr>  ::= (<Expr> TIMES <Expr>)
<SelectExpr> ::= SELECT [<Condition>](<Expr>)
<Condition>  ::= <SimpleCondition> | 
                 <SimpleCondition> AND <Condition>
<SimpleCondition> ::= <Operand> <Comparison> <Operand>
<Operand>    ::= ATTRIBUTE | STRING-CONST | NUMBER-CONST
<Comparison> ::= < | <= | = | <> | > | >=