Package com.articulate.sigma.parsing
Class SuokifVisitor
java.lang.Object
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<String>
com.articulate.sigma.parsing.SuokifVisitor
- All Implemented Interfaces:
org.antlr.v4.runtime.tree.ParseTreeVisitor<String>
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic booleanstatic Map<String, Set<FormulaAST>> static Map<Integer, FormulaAST> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddToKeys(String k, FormulaAST f) voidvoidstatic voidstatic SuokifVisitorParse SUO-KIF from a filestatic SuokifVisitorparseFormula(Formula input) Parse a single formula and use this SuokifVisitor to process as the cached information for the formula.static SuokifVisitorparseString(String input) Parse a single formula and use this SuokifVisitor to process as the cached information for the formula.static voidshowHelp()visitAndsent(com.articulate.sigma.parsing.SuokifParser.AndsentContext context) andsent : '(' 'and' sentence sentence+ ')' ;visitArgument(com.articulate.sigma.parsing.SuokifParser.ArgumentContext context) argument : (sentence | term) ;visitComment(com.articulate.sigma.parsing.SuokifParser.CommentContext context) visitEqsent(com.articulate.sigma.parsing.SuokifParser.EqsentContext context) eqsent : '(' 'equal' term term ')' ; argument : (sentence | term) ; term : (funterm | variable | string | number | FUNWORD | IDENTIFIER ) ;visitExists(com.articulate.sigma.parsing.SuokifParser.ExistsContext context) exists : '(' 'exists' '(' variable+ ')' sentence ')' ;voidvisitFile(com.articulate.sigma.parsing.SuokifParser.FileContext context) file : (sentence | comment)+ EOF ; Fill maps that represent each statement or comment in the same order as the file.visitForall(com.articulate.sigma.parsing.SuokifParser.ForallContext context) forall : '(' 'forall' '(' variable+ ')' sentence ')' ;visitFunterm(com.articulate.sigma.parsing.SuokifParser.FuntermContext context) funterm : '(' FUNWORD argument+ ')' ;visitIff(com.articulate.sigma.parsing.SuokifParser.IffContext context) iff : '(' 'invalid input: '<'=>' sentence sentence ')' ;visitImplies(com.articulate.sigma.parsing.SuokifParser.ImpliesContext context) implies : '(' '=>' sentence sentence ')' ;visitLogsent(com.articulate.sigma.parsing.SuokifParser.LogsentContext context) logsent : (notsent | andsent | orsent | xorsent | implies | iff | eqsent) ;visitNotsent(com.articulate.sigma.parsing.SuokifParser.NotsentContext context) notsent : '(' 'not' sentence ')' ;visitNumber(com.articulate.sigma.parsing.SuokifParser.NumberContext context) visitOrsent(com.articulate.sigma.parsing.SuokifParser.OrsentContext context) orsent : '(' 'or' sentence sentence+ ')' ;visitQuantsent(com.articulate.sigma.parsing.SuokifParser.QuantsentContext context) quantsent : (forall | exists) ;visitRelsent(com.articulate.sigma.parsing.SuokifParser.RelsentContext context) relsent : ('(' IDENTIFIER argument+ ')') | ('(' variable argument+ ')') ; argument : (sentence | term) ; term : (funterm | variable | string | number | FUNWORD | IDENTIFIER ) ; Set the types of any variables that appear in an instance or subclass declarationvisitSentence(com.articulate.sigma.parsing.SuokifParser.SentenceContext context) sentence : (relsent | logsent | quantsent | variable) ;visitString(com.articulate.sigma.parsing.SuokifParser.StringContext context) visitTerm(com.articulate.sigma.parsing.SuokifParser.TermContext context) term : (funterm | variable | string | number | FUNWORD | IDENTIFIER ) ;visitVariable(com.articulate.sigma.parsing.SuokifParser.VariableContext context) variable : (REGVAR | ROWVAR) ;visitXorsent(com.articulate.sigma.parsing.SuokifParser.XorsentContext context) xorsent : '(' 'xor' sentence sentence+ ')' ;Methods inherited from class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor
aggregateResult, defaultResult, shouldVisitNextChild, visit, visitChildren, visitErrorNode, visitTerminal
-
Field Details
-
debug
public static boolean debug -
result
-
keys
-
hasRowVar
-
hasPredVar
-
hasNumber
-
multipleRowVar
-
multiplePredVar
-
rules
-
nonRulePredRow
-
ground
-
errors
-
-
Constructor Details
-
SuokifVisitor
public SuokifVisitor()
-
-
Method Details
-
parseFile
Parse SUO-KIF from a file- Parameters:
fname- the path to a file containing SUO-KIF- Returns:
- an instance for accessing a Map that should have a single formula
-
parseString
Parse a single formula and use this SuokifVisitor to process as the cached information for the formula.- Parameters:
input- the String containing SUO-KIF to process- Returns:
- an instance for accessing a Map that should have a single formula
-
parseFormula
Parse a single formula and use this SuokifVisitor to process as the cached information for the formula. Copy the formula meta-data to the new formulas.- Parameters:
input- the Formula containing SUO-KIF to process- Returns:
- an instance for accessing a Map that should have a single formula
-
addToKeys
-
generateRuleKeys
-
generateNonRuleKeys
-
visitFile
public void visitFile(com.articulate.sigma.parsing.SuokifParser.FileContext context) file : (sentence | comment)+ EOF ; Fill maps that represent each statement or comment in the same order as the file. Note that comments at the end of a SUO-KIF line that include a statement are recorded as occurring on the next line -
visitSentence
sentence : (relsent | logsent | quantsent | variable) ; -
visitComment
-
visitRelsent
relsent : ('(' IDENTIFIER argument+ ')') | ('(' variable argument+ ')') ; argument : (sentence | term) ; term : (funterm | variable | string | number | FUNWORD | IDENTIFIER ) ; Set the types of any variables that appear in an instance or subclass declaration -
visitArgument
argument : (sentence | term) ; -
visitLogsent
logsent : (notsent | andsent | orsent | xorsent | implies | iff | eqsent) ; -
visitNotsent
notsent : '(' 'not' sentence ')' ; -
visitAndsent
andsent : '(' 'and' sentence sentence+ ')' ; -
visitOrsent
orsent : '(' 'or' sentence sentence+ ')' ; -
visitXorsent
xorsent : '(' 'xor' sentence sentence+ ')' ; -
visitImplies
implies : '(' '=>' sentence sentence ')' ; -
visitIff
iff : '(' 'invalid input: '<'=>' sentence sentence ')' ; -
visitEqsent
eqsent : '(' 'equal' term term ')' ; argument : (sentence | term) ; term : (funterm | variable | string | number | FUNWORD | IDENTIFIER ) ; -
visitQuantsent
public FormulaAST visitQuantsent(com.articulate.sigma.parsing.SuokifParser.QuantsentContext context) quantsent : (forall | exists) ; -
visitForall
forall : '(' 'forall' '(' variable+ ')' sentence ')' ; -
visitExists
exists : '(' 'exists' '(' variable+ ')' sentence ')' ; -
visitVariable
variable : (REGVAR | ROWVAR) ; -
visitTerm
term : (funterm | variable | string | number | FUNWORD | IDENTIFIER ) ; -
visitFunterm
funterm : '(' FUNWORD argument+ ')' ; -
visitString
-
visitNumber
-
showHelp
public static void showHelp() -
main
-