com.varankin.bnf.parser
Class SyntaxBnf

java.lang.Object
  extended by com.varankin.bnf.Container<SyntaxRule>
      extended by com.varankin.bnf.Syntax
          extended by com.varankin.bnf.parser.SyntaxBnf
All Implemented Interfaces:
java.lang.Iterable<SyntaxRule>

public final class SyntaxBnf
extends Syntax

Implementation of Syntax object based on textual description of syntax rules.

Author:
© 2009 Nikolai Varankine

Field Summary
 
Fields inherited from class com.varankin.bnf.Syntax
STRING_COMMENT_END, STRING_COMMENT_START, STRING_OPTION_END, STRING_OPTION_START, STRING_REPEAT_END, STRING_REPEAT_START, SYMBOL_CONCATENATE, SYMBOL_DEFINING, SYMBOL_DEFINITION_SEPARATOR, SYMBOL_EXCEPT, SYMBOL_GROUP_END, SYMBOL_GROUP_START, SYMBOL_OPTION_END, SYMBOL_OPTION_START, SYMBOL_QUOTE_FIRST, SYMBOL_QUOTE_SECOND, SYMBOL_REPEAT_END, SYMBOL_REPEAT_START, SYMBOL_REPETITION, SYMBOL_SPECIAL, SYMBOL_TERMINATOR
 
Constructor Summary
SyntaxBnf(java.io.Reader aInput)
           
 
Method Summary
 
Methods inherited from class com.varankin.bnf.Container
iterator, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SyntaxBnf

public SyntaxBnf(java.io.Reader aInput)
Parameters:
aInput - source of textual description of the syntax.
Throws:
java.lang.IllegalStateException - if character stream breaks into more than one implementation of the syntax.
java.lang.IllegalArgumentException - if character stream produces invalid syntax implementation.
java.util.NoSuchElementException - if either syntax definition was not found in character stream or cannot be created, or contains improper parsed units.