Class DelpParser

  • All Implemented Interfaces:
    DelpParserConstants

    public class DelpParser
    extends Parser<DefeasibleLogicProgram,​Formula>
    implements DelpParserConstants
    This class implements a parser for defeasible logic programs. The BNF for defeasible logic program files is given by (start symbol is THEORY)
     THEORY                 ::== (EXPRESSION)+
     EXPRESSION             ::== FACT | STRICTRULE | DEFEASIBLERULE
     FACT                   ::== LITERAL + "."
     STRICTRULE             ::== LITERAL + "<-" + RULEBODY + "."
     DEFEASIBLERULE         ::== LITERAL + "-<" + RULEBODY + "."
     RULEBODY               ::== LITERAL | LITERAL + "," + RULEBODY
     LITERAL                ::== "~" + ATOM | ATOM
     ATOM                   ::== PREDICATE | PREDICATE + "(" + TERMLIST + ")"
     TERMLIST               ::== TERM | TERM + "," + TERMLIST
     TERM                   ::== VARIABLE | CONSTANT | QUOTED_STRING
    
     PREDICATE is a sequence of symbols from {a,...,z,A,...,Z,0,...,9,_,-} with a letter at the beginning.
     VARIABLE is a sequence of symbols from {a,...,z,A,...,Z,0,...,9,_,-} with an uppercase letter at the beginning.
     CONSTANT is  a sequence of symbols from {a,...,z,A,...,Z,0,...,9,_,-} with an lowercase letter at the beginning.
     QUOTED_STRING is all characters between double quotes.