Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Query ::= [ all | one | min | max ]
- [ Var { , Var } ] [ in [ Ident | String ] ] Formula [ end ]
- Prog ::= { Typedecl | Constdecl } { Pred }
- Formula ::= Formula2 { "|" Formula2 }
- Formula2 ::= Formula3 { & Formula3 }
- Formula3 ::= If | Case | All | false | true | ~Formula3 |
- Call | Term Oper Term | ( Formula ) | Vdecl
- Oper ::= < | > | <= | >= | <> | = | := | in
- Call ::= Ident ( Term )
- If ::= if Formula then Formula
- {elsif Formula then Formula} }
- [ else Formula ]
- end
- Case ::= case Term of
- Term { "|" Term } => Formula
- { ; Term { "|" Term } => Formula } [ ; ]
- [ else Formula ]
- end
- All ::= all Var { , Var } in Var Formula end |
- [ one | min | max ] Var { , Var } Formula end
- Term ::= Term1 [ ,Term ]
- Terml ::= [ - ] Term2 {Addop Term2 }
- Addop ::= + | -
- Term2 ::= Term3 { Multop Term3 }
- Multop ::= * | / | mod
- Term3 ::= _ | Ident | Call | Number | String | Charconst |
- Selection | ( Term ) | Array | Term3 : Type
- Selection ::= [ Var | Ident ] { . Var | ( Term ) }
- Array ::= "[" [Term ] "]"
- Number ::= DecimalDigit { DecimalDigit } | Radix RadixDigit {RadixDigit}
- Radix ::= 0x | 0b | 0o | 0d
- String ::= 'Char { Char }'
- Charconst ::= " Char "
- Type ::= Ptype [ Arrows Type ]
- Arrows ::= -> | ->>
- Ptype ::= ( Tuple ) | [ Ident ] "[" [ Term ]..[Term] "]" |
- list Ptype | rel Ptype | file Ptype | Ident
- Tuple ::= Named | Unnamed
- Named ::= Var : Type { , Unnamed }
- Unnamed ::= Type { , Unnamed }
- Vdecl ::= Var Mode Type
- Mode ::= :< | :> | :. | ::
- Typedecl ::= [ local ] Ident = Td
- Td ::= Tuple | Union
- Constdecl ::= [ local ] Ident :< Type = Term
- Union ::= Unionelem "|" Unionelem { "|" Unionelem }
- Unionelem = Ident | Ident ( Tuple )
- Pred ::= [ local ] Kind Ident ( Vdecl { , Vdecl } ) iff Body
- Kind ::= pred | proc | subr
- Body ::= Formula | Forwarded
- Forwarded ::= external [_cdecl | _stdcall] String : String
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement