Package org.opencypher.tools.grammar
Class ISO14977
- java.lang.Object
-
- org.opencypher.tools.grammar.ISO14977
-
- All Implemented Interfaces:
AutoCloseable,ProductionVisitor<RuntimeException>,TermVisitor<RuntimeException>
public class ISO14977 extends Object
Generates an EBNF grammar according to the ISO14977 notation specification.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceISO14977.HtmlLinker
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidalternativesLinePrefix(int altPrefix)protected voidalternativesSeparator()static voidappend(Grammar.Term term, Output output)protected voidcaseInsensitive(String value)Writes a case insensitive literal.protected voidcaseInsensitiveProductionStart(String name)protected voidcharacterSet(CharacterSet characters)voidclose()protected voidepsilon()protected voidgroupPrefix()protected voidgroupSuffix()static voidhtml(HtmlTag parent, Production production, ISO14977.HtmlLinker linker)protected voidliteral(String value)Writes a case sensitive literal.static voidmain(String... args)protected voidnonTerminal(NonTerminal nonTerminal)protected booleanoptionalPrefix()protected voidoptionalSuffix()protected Stringprefix(String s)protected voidproductionCommentLinePrefix()protected voidproductionCommentPrefix()protected voidproductionCommentSuffix()protected voidproductionEnd()protected voidproductionStart(Production p)protected voidrepeat(int minTimes, Integer maxTimes, Runnable repeated)protected voidsequenceSeparator()static Outputstring(Output str, Production production)voidvisitAlternatives(Alternatives alternatives)voidvisitCharacters(CharacterSet characters)voidvisitEpsilon()voidvisitLiteral(Literal literal)voidvisitNonTerminal(NonTerminal nonTerminal)voidvisitOptional(Optional optional)voidvisitProduction(Production production)voidvisitRepetition(Repetition repetition)voidvisitSequence(Sequence sequence)static voidwrite(Grammar grammar, OutputStream stream)static voidwrite(Grammar grammar, Writer writer)static voidwrite(Grammar grammar, Output output)
-
-
-
Method Detail
-
write
public static void write(Grammar grammar, OutputStream stream)
-
append
public static void append(Grammar.Term term, Output output)
-
string
public static Output string(Output str, Production production)
-
html
public static void html(HtmlTag parent, Production production, ISO14977.HtmlLinker linker)
-
productionCommentPrefix
protected void productionCommentPrefix()
-
productionCommentLinePrefix
protected void productionCommentLinePrefix()
-
productionCommentSuffix
protected void productionCommentSuffix()
-
productionStart
protected void productionStart(Production p)
-
productionEnd
protected void productionEnd()
-
alternativesLinePrefix
protected void alternativesLinePrefix(int altPrefix)
-
alternativesSeparator
protected void alternativesSeparator()
-
sequenceSeparator
protected void sequenceSeparator()
-
literal
protected void literal(String value)
Writes a case sensitive literal.- Parameters:
value- the case sensitive literal to be written.
-
caseInsensitive
protected void caseInsensitive(String value)
Writes a case insensitive literal.- Parameters:
value- the case insensitive literal to be written.
-
caseInsensitiveProductionStart
protected void caseInsensitiveProductionStart(String name)
-
epsilon
protected void epsilon()
-
characterSet
protected void characterSet(CharacterSet characters)
-
nonTerminal
protected void nonTerminal(NonTerminal nonTerminal)
-
optionalPrefix
protected boolean optionalPrefix()
- Returns:
trueif the prefix implies grouping.
-
optionalSuffix
protected void optionalSuffix()
-
groupPrefix
protected void groupPrefix()
-
groupSuffix
protected void groupSuffix()
-
visitProduction
public final void visitProduction(Production production) throws RuntimeException
- Specified by:
visitProductionin interfaceProductionVisitor<RuntimeException>- Throws:
RuntimeException
-
visitAlternatives
public final void visitAlternatives(Alternatives alternatives)
- Specified by:
visitAlternativesin interfaceTermVisitor<RuntimeException>
-
visitSequence
public final void visitSequence(Sequence sequence)
- Specified by:
visitSequencein interfaceTermVisitor<RuntimeException>
-
visitLiteral
public final void visitLiteral(Literal literal)
- Specified by:
visitLiteralin interfaceTermVisitor<RuntimeException>
-
visitCharacters
public final void visitCharacters(CharacterSet characters)
- Specified by:
visitCharactersin interfaceTermVisitor<RuntimeException>
-
visitNonTerminal
public final void visitNonTerminal(NonTerminal nonTerminal)
- Specified by:
visitNonTerminalin interfaceTermVisitor<RuntimeException>
-
visitOptional
public final void visitOptional(Optional optional)
- Specified by:
visitOptionalin interfaceTermVisitor<RuntimeException>
-
visitRepetition
public final void visitRepetition(Repetition repetition)
- Specified by:
visitRepetitionin interfaceTermVisitor<RuntimeException>
-
visitEpsilon
public final void visitEpsilon() throws RuntimeException- Specified by:
visitEpsilonin interfaceTermVisitor<RuntimeException>- Throws:
RuntimeException
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable
-
-