|
BLC.grm
|
// FILE. . . . . /home/hak/ilt/src/ilog/rif/BLC.grm
// EDIT BY . . . Hassan Ait-Kaci
// ON MACHINE. . 4j4zn71
// STARTED ON. . Wed Apr 02 14:08:56 2008
// Last modified on Sun May 18 22:01:15 2008 by hak
////////////////////////////////////////////////////////////////////////
// The BLD Condition Language:
////////////////////////////////////////////////////////////////////////
Formula
: Atomic
| AND OPENPAR Formulas_opt CLOSEPAR
[ L:"And" C:(formula*3)]
| OR OPENPAR Formulas_opt CLOSEPAR
[ L:"Or" C:(formula*3)]
| EXISTS Vars OPENPAR Formula CLOSEPAR
[ L:"Exists" C:(declare*2 formula.4) ]
| EXTERNAL OPENPAR Atom CLOSEPAR
[ L:"External" C:(content.3) ]
;
Atomic
: Atom
| Equal
| Member
| Subclass
| Frame
;
Atom
: Const OPENPAR UniTermBody CLOSEPAR // UniTerm
[ L:"Atom" C:(op.1 arg*3) ]
;
// UniTerm
// : Const OPENPAR UniTermBody CLOSEPAR
// ;
Equal
: Term EQUAL Term
[ L:"Equal" C:(side.1 side.3) ]
;
Member
: Term MEMBER Term
[ L:"Member" C:(lower.1 upper.3) ]
;
Subclass
: Term SUBCLASS Term
[ L:"Subclass" C:(lower.1 upper.3) ]
;
Frame
: Term OPENBRA FrameAttributes_opt CLOSEBRA
[ L:"Frame" C:(object.1 slot*3)]
;
Term
: Const
| Var
| Expr
| EXTERNAL OPENPAR Expr CLOSEPAR
[ L:"External" C:(content.3) ]
;
Expr
: Const OPENPAR UniTermBody CLOSEPAR // UniTerm
[ L:"Expr" C:(op.1 arg*3) ]
;
Const
: STRING LEXSPACE SymSpace
[ L:"Const" A:{type=$TEXT("&" 3/typespace ";" 3/typename)} C:(1[1]) ]
;
SymSpace
: IDENTIFIER COLON IDENTIFIER
[ L:"Symspace" A:{typespace=1 typename=3} ]
;
Var
: VARIABLE
;
////////////////////////////////////////////////////////////////////////
// UniTermBody
// : Terms_opt
// | TermAttributes_opt
// ;
// Terms_opt
// : /* empty */
// | Terms_opt Term
// ;
// TermAttributes_opt
// : /* empty */
// | TermAttributes
// ;
// TermAttributes
// : TermAttribute
// | TermAttributes TermAttribute
// ;
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
[ L:Prop C:(key.1 val.3)]
;
Formulas_opt
: /* empty */
| Formulas
;
Formulas
: Formula
| Formulas Formula
;
Vars
: Var
| Vars Var
;
////////////////////////////////////////////////////////////////////////
This file was generated on Tue Jun 24 17:55:21 CEST 2008 from file BLC.grm
by the ilog.language.tools.Hilite Java tool written by Hassan Aït-Kaci