# Yacc Form of grammar BLD.grm

Copyright © 2008 ILOG, Inc.; All Rights Reserved.

This yacc grammar was generated on Tue Oct 07 10:36:15 CEST 2008 from the annotated Jacc grammar file `BLD.grm`.

    Group
    	: GROUP Meta_opt OPENPAR RuleSet_opt CLOSEPAR
    	;

    Meta
    	: Frame
    	;

    Rule
    	: Clause
    	| FORALL Vars_opt OPENPAR Clause CLOSEPAR
    	;

    Clause
    	: Atomic
    	| Implies
    	;

    Implies
    	: Atomic IF Formula
    	;

    RuleSet_opt
    	: /* empty */
    	| RuleSet
    	;

    RuleSet
    	: RuleOrGroup
    	| RuleSet RuleOrGroup
    	;

    RuleOrGroup
    	: Rule
    	| Group
    	;

    Meta_opt
    	: /* empty */
    	| Meta
    	;

    Vars_opt
    	: /* empty */
    	| Vars
    	;

    Formula
    	: Atomic
    	| AND OPENPAR Formulas_opt CLOSEPAR
    	| OR OPENPAR Formulas_opt CLOSEPAR
    	| EXISTS Vars OPENPAR Formula CLOSEPAR
    	| EXTERNAL OPENPAR Atom CLOSEPAR
    	;

    Atomic
    	: Atom
    	| Equal
    	| Member
    	| Subclass
    	| Frame
    	;

    Atom
    	: Const OPENPAR UniTermBody CLOSEPAR
    	;

    Equal
    	: Term EQUAL Term
    	;

    Member
    	: Term MEMBER Term
    	;

    Subclass
    	: Term SUBCLASS Term
    	;

    Frame
    	: Term OPENBRA FrameAttributes_opt CLOSEBRA
    	;

    Term
    	: Const
    	| Var
    	| Expr
    	| EXTERNAL OPENPAR Expr CLOSEPAR
    	;

    Expr
    	: Const OPENPAR UniTermBody CLOSEPAR
    	;

    Const
    	: STRING LEXSPACE SymSpace
    	;

    SymSpace
    	: IDENTIFIER COLON IDENTIFIER
    	;

    Var
    	: VARIABLE
    	;

    UniTermBody
    	: SubTerms_opt
    	;

    SubTerms_opt
    	: /* empty */
    	| SubTerms
    	;

    SubTerms
    	: SubTerm
    	| SubTerms SubTerm
    	;

    SubTerm
    	: Term
    	| TermAttribute
    	;

    TermAttribute
    	: Const ARROW Term
    	;

    FrameAttributes_opt
    	: /* empty */
    	| FrameAttributes
    	;

    FrameAttributes
    	: FrameAttribute
    	| FrameAttributes FrameAttribute
    	;

    FrameAttribute
    	: Term ARROW Term
    	;

    Formulas_opt
    	: /* empty */
    	| Formulas
    	;

    Formulas
    	: Formula
    	| Formulas Formula
    	;

    Vars
    	: Var
    	| Vars Var
    	;

    RifDocument
    	: OuterDocument
    	;

    OuterDocument
    	: Group
    	;

Copyright © 2008 ILOG, Inc.; All Rights Reserved.