org.jvyamlb
Class ParserImpl

java.lang.Object
  extended by org.jvyamlb.ParserImpl
All Implemented Interfaces:
Parser

public class ParserImpl
extends java.lang.Object
implements Parser

Author:
Ola Bini

Nested Class Summary
private  class ParserImpl.EventIterator
           
private static class ParserImpl.ProductionEnvironment
           
 
Field Summary
private  YAMLConfig cfg
           
private  Event currentEvent
           
private static java.util.Map DEFAULT_TAGS_1_0
           
private static java.util.Map DEFAULT_TAGS_1_1
           
private static Event DOCUMENT_END_FALSE
           
private static Event DOCUMENT_END_TRUE
           
private static Event MAPPING_END
           
private static java.util.regex.Pattern ONLY_WORD
           
private static int P_ALIAS
           
private static int P_BLOCK_CONTENT
           
private static int P_BLOCK_INDENTLESS_SEQUENCE_END
           
private static int P_BLOCK_INDENTLESS_SEQUENCE_START
           
private static int P_BLOCK_MAPPING
           
private static int P_BLOCK_MAPPING_END
           
private static int P_BLOCK_MAPPING_ENTRY
           
private static int P_BLOCK_MAPPING_ENTRY_VALUE
           
private static int P_BLOCK_MAPPING_START
           
private static int P_BLOCK_NODE
           
private static int P_BLOCK_NODE_OR_INDENTLESS_SEQUENCE
           
private static int P_BLOCK_SEQUENCE
           
private static int P_BLOCK_SEQUENCE_END
           
private static int P_BLOCK_SEQUENCE_ENTRY
           
private static int P_BLOCK_SEQUENCE_START
           
private static int P_DOCUMENT_END
           
private static int P_DOCUMENT_START
           
private static int P_DOCUMENT_START_IMPLICIT
           
private static int P_EMPTY_SCALAR
           
private static int P_EXPLICIT_DOCUMENT
           
private static int P_FLOW_CONTENT
           
private static int P_FLOW_ENTRY_MARKER
           
private static int P_FLOW_INTERNAL_CONTENT
           
private static int P_FLOW_INTERNAL_MAPPING_END
           
private static int P_FLOW_INTERNAL_MAPPING_START
           
private static int P_FLOW_INTERNAL_VALUE
           
private static int P_FLOW_MAPPING
           
private static int P_FLOW_MAPPING_END
           
private static int P_FLOW_MAPPING_ENTRY
           
private static int P_FLOW_MAPPING_INTERNAL_CONTENT
           
private static int P_FLOW_MAPPING_INTERNAL_VALUE
           
private static int P_FLOW_MAPPING_START
           
private static int P_FLOW_NODE
           
private static int P_FLOW_SEQUENCE
           
private static int P_FLOW_SEQUENCE_END
           
private static int P_FLOW_SEQUENCE_ENTRY
           
private static int P_FLOW_SEQUENCE_START
           
private static int P_IMPLICIT_DOCUMENT
           
private static int P_INDENTLESS_BLOCK_SEQUENCE
           
private static int P_INDENTLESS_BLOCK_SEQUENCE_ENTRY
           
private static int P_PROPERTIES
           
private static int P_PROPERTIES_END
           
private static int P_SCALAR
           
private static int P_STREAM
           
private static int P_STREAM_END
           
private static int P_STREAM_START
           
private  IntStack parseStack
           
private  ParserImpl.ProductionEnvironment pEnv
           
private static java.lang.String[] productionNames
           
private  Scanner scanner
           
private static Event SEQUENCE_END
           
private static Event STREAM_END
           
private static Event STREAM_START
           
 
Constructor Summary
ParserImpl(Scanner scanner)
           
ParserImpl(Scanner scanner, YAMLConfig cfg)
           
 
Method Summary
 boolean checkEvent(java.lang.Class[] choices)
           
 java.util.Iterator eachEvent()
           
 Event getEvent()
           
 java.util.Iterator iterator()
           
static void main(java.lang.String[] args)
           
 void parseStream()
           
 Event parseStreamNext()
           
 Event peekEvent()
           
private static java.lang.Object[] processDirectives(ParserImpl.ProductionEnvironment env, Scanner scanner)
           
private static Event processEmptyScalar()
           
static void tmain(java.lang.String[] args)
           
static void tmainx(java.lang.String[] args)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

P_STREAM

private static final int P_STREAM
See Also:
Constant Field Values

P_STREAM_START

private static final int P_STREAM_START
See Also:
Constant Field Values

P_STREAM_END

private static final int P_STREAM_END
See Also:
Constant Field Values

P_IMPLICIT_DOCUMENT

private static final int P_IMPLICIT_DOCUMENT
See Also:
Constant Field Values

P_EXPLICIT_DOCUMENT

private static final int P_EXPLICIT_DOCUMENT
See Also:
Constant Field Values

P_DOCUMENT_START

private static final int P_DOCUMENT_START
See Also:
Constant Field Values

P_DOCUMENT_START_IMPLICIT

private static final int P_DOCUMENT_START_IMPLICIT
See Also:
Constant Field Values

P_DOCUMENT_END

private static final int P_DOCUMENT_END
See Also:
Constant Field Values

P_BLOCK_NODE

private static final int P_BLOCK_NODE
See Also:
Constant Field Values

P_BLOCK_CONTENT

private static final int P_BLOCK_CONTENT
See Also:
Constant Field Values

P_PROPERTIES

private static final int P_PROPERTIES
See Also:
Constant Field Values

P_PROPERTIES_END

private static final int P_PROPERTIES_END
See Also:
Constant Field Values

P_FLOW_CONTENT

private static final int P_FLOW_CONTENT
See Also:
Constant Field Values

P_BLOCK_SEQUENCE

private static final int P_BLOCK_SEQUENCE
See Also:
Constant Field Values

P_BLOCK_MAPPING

private static final int P_BLOCK_MAPPING
See Also:
Constant Field Values

P_FLOW_SEQUENCE

private static final int P_FLOW_SEQUENCE
See Also:
Constant Field Values

P_FLOW_MAPPING

private static final int P_FLOW_MAPPING
See Also:
Constant Field Values

P_SCALAR

private static final int P_SCALAR
See Also:
Constant Field Values

P_BLOCK_SEQUENCE_ENTRY

private static final int P_BLOCK_SEQUENCE_ENTRY
See Also:
Constant Field Values

P_BLOCK_MAPPING_ENTRY

private static final int P_BLOCK_MAPPING_ENTRY
See Also:
Constant Field Values

P_BLOCK_MAPPING_ENTRY_VALUE

private static final int P_BLOCK_MAPPING_ENTRY_VALUE
See Also:
Constant Field Values

P_BLOCK_NODE_OR_INDENTLESS_SEQUENCE

private static final int P_BLOCK_NODE_OR_INDENTLESS_SEQUENCE
See Also:
Constant Field Values

P_BLOCK_SEQUENCE_START

private static final int P_BLOCK_SEQUENCE_START
See Also:
Constant Field Values

P_BLOCK_SEQUENCE_END

private static final int P_BLOCK_SEQUENCE_END
See Also:
Constant Field Values

P_BLOCK_MAPPING_START

private static final int P_BLOCK_MAPPING_START
See Also:
Constant Field Values

P_BLOCK_MAPPING_END

private static final int P_BLOCK_MAPPING_END
See Also:
Constant Field Values

P_INDENTLESS_BLOCK_SEQUENCE

private static final int P_INDENTLESS_BLOCK_SEQUENCE
See Also:
Constant Field Values

P_BLOCK_INDENTLESS_SEQUENCE_START

private static final int P_BLOCK_INDENTLESS_SEQUENCE_START
See Also:
Constant Field Values

P_INDENTLESS_BLOCK_SEQUENCE_ENTRY

private static final int P_INDENTLESS_BLOCK_SEQUENCE_ENTRY
See Also:
Constant Field Values

P_BLOCK_INDENTLESS_SEQUENCE_END

private static final int P_BLOCK_INDENTLESS_SEQUENCE_END
See Also:
Constant Field Values

P_FLOW_SEQUENCE_START

private static final int P_FLOW_SEQUENCE_START
See Also:
Constant Field Values

P_FLOW_SEQUENCE_ENTRY

private static final int P_FLOW_SEQUENCE_ENTRY
See Also:
Constant Field Values

P_FLOW_SEQUENCE_END

private static final int P_FLOW_SEQUENCE_END
See Also:
Constant Field Values

P_FLOW_MAPPING_START

private static final int P_FLOW_MAPPING_START
See Also:
Constant Field Values

P_FLOW_MAPPING_ENTRY

private static final int P_FLOW_MAPPING_ENTRY
See Also:
Constant Field Values

P_FLOW_MAPPING_END

private static final int P_FLOW_MAPPING_END
See Also:
Constant Field Values

P_FLOW_INTERNAL_MAPPING_START

private static final int P_FLOW_INTERNAL_MAPPING_START
See Also:
Constant Field Values

P_FLOW_INTERNAL_CONTENT

private static final int P_FLOW_INTERNAL_CONTENT
See Also:
Constant Field Values

P_FLOW_INTERNAL_VALUE

private static final int P_FLOW_INTERNAL_VALUE
See Also:
Constant Field Values

P_FLOW_INTERNAL_MAPPING_END

private static final int P_FLOW_INTERNAL_MAPPING_END
See Also:
Constant Field Values

P_FLOW_ENTRY_MARKER

private static final int P_FLOW_ENTRY_MARKER
See Also:
Constant Field Values

P_FLOW_NODE

private static final int P_FLOW_NODE
See Also:
Constant Field Values

P_FLOW_MAPPING_INTERNAL_CONTENT

private static final int P_FLOW_MAPPING_INTERNAL_CONTENT
See Also:
Constant Field Values

P_FLOW_MAPPING_INTERNAL_VALUE

private static final int P_FLOW_MAPPING_INTERNAL_VALUE
See Also:
Constant Field Values

P_ALIAS

private static final int P_ALIAS
See Also:
Constant Field Values

P_EMPTY_SCALAR

private static final int P_EMPTY_SCALAR
See Also:
Constant Field Values

productionNames

private static final java.lang.String[] productionNames

DOCUMENT_END_TRUE

private static final Event DOCUMENT_END_TRUE

DOCUMENT_END_FALSE

private static final Event DOCUMENT_END_FALSE

MAPPING_END

private static final Event MAPPING_END

SEQUENCE_END

private static final Event SEQUENCE_END

STREAM_END

private static final Event STREAM_END

STREAM_START

private static final Event STREAM_START

DEFAULT_TAGS_1_0

private static final java.util.Map DEFAULT_TAGS_1_0

DEFAULT_TAGS_1_1

private static final java.util.Map DEFAULT_TAGS_1_1

ONLY_WORD

private static final java.util.regex.Pattern ONLY_WORD

scanner

private Scanner scanner

cfg

private YAMLConfig cfg

currentEvent

private Event currentEvent

parseStack

private IntStack parseStack

pEnv

private ParserImpl.ProductionEnvironment pEnv
Constructor Detail

ParserImpl

public ParserImpl(Scanner scanner)

ParserImpl

public ParserImpl(Scanner scanner,
                  YAMLConfig cfg)
Method Detail

processEmptyScalar

private static Event processEmptyScalar()

processDirectives

private static java.lang.Object[] processDirectives(ParserImpl.ProductionEnvironment env,
                                                    Scanner scanner)

checkEvent

public boolean checkEvent(java.lang.Class[] choices)
Specified by:
checkEvent in interface Parser

peekEvent

public Event peekEvent()
Specified by:
peekEvent in interface Parser

getEvent

public Event getEvent()
Specified by:
getEvent in interface Parser

eachEvent

public java.util.Iterator eachEvent()
Specified by:
eachEvent in interface Parser

iterator

public java.util.Iterator iterator()
Specified by:
iterator in interface Parser

parseStream

public void parseStream()
Specified by:
parseStream in interface Parser

parseStreamNext

public Event parseStreamNext()
Specified by:
parseStreamNext in interface Parser

tmainx

public static void tmainx(java.lang.String[] args)
                   throws java.lang.Exception
Throws:
java.lang.Exception

tmain

public static void tmain(java.lang.String[] args)
                  throws java.lang.Exception
Throws:
java.lang.Exception

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception