org.jvyamlb
Class ScannerImpl
java.lang.Object
org.jvyamlb.ScannerImpl
- All Implemented Interfaces:
- Scanner
public class ScannerImpl
- extends java.lang.Object
- implements Scanner
A Java implementation of the RbYAML scanner.
- Author:
- Ola Bini
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EMPTY
private static final byte[] EMPTY
NN
private static final byte[] NN
BANG
private static final org.jruby.util.ByteList BANG
SPACE
private static final org.jruby.util.ByteList SPACE
ALL_FALSE
private static final boolean[] ALL_FALSE
ALL_TRUE
private static final boolean[] ALL_TRUE
LINEBR
private static final boolean[] LINEBR
NULL_BL_LINEBR
private static final boolean[] NULL_BL_LINEBR
NULL_BL_T_LINEBR
private static final boolean[] NULL_BL_T_LINEBR
NULL_OR_LINEBR
private static final boolean[] NULL_OR_LINEBR
FULL_LINEBR
private static final boolean[] FULL_LINEBR
BLANK_OR_LINEBR
private static final boolean[] BLANK_OR_LINEBR
S4
private static final boolean[] S4
ALPHA
private static final boolean[] ALPHA
DIGIT
private static final boolean[] DIGIT
HEXA
private static final boolean[] HEXA
STRANGE_CHAR
private static final boolean[] STRANGE_CHAR
RN
private static final int[] RN
BLANK_T
private static final boolean[] BLANK_T
SPACES_AND_STUFF
private static final boolean[] SPACES_AND_STUFF
DOUBLE_ESC
private static final boolean[] DOUBLE_ESC
NON_ALPHA_OR_NUM
private static final boolean[] NON_ALPHA_OR_NUM
NON_PRINTABLE
private static final boolean[] NON_PRINTABLE
STUPID_CHAR
private static final boolean[] STUPID_CHAR
R_FLOWZERO
private static final boolean[] R_FLOWZERO
R_FLOWZERO1
private static final boolean[] R_FLOWZERO1
R_FLOWNONZERO
private static final boolean[] R_FLOWNONZERO
ESCAPE_REPLACEMENTS
private static final byte[] ESCAPE_REPLACEMENTS
IS_ESCAPE_REPLACEMENT
private static final boolean[] IS_ESCAPE_REPLACEMENT
ESCAPE_CODES
private static final java.util.Map ESCAPE_CODES
CHOMPING
private static final boolean[] CHOMPING
done
private boolean done
flowLevel
private int flowLevel
tokensTaken
private int tokensTaken
indent
private int indent
allowSimpleKey
private boolean allowSimpleKey
eof
private boolean eof
column
private int column
pointer
private int pointer
buffer
private org.jruby.util.ByteList buffer
stream
private java.io.InputStream stream
tokens
private java.util.List tokens
indents
private java.util.List indents
possibleSimpleKeys
private java.util.Map possibleSimpleKeys
docStart
private boolean docStart
lastFlowControl
private boolean lastFlowControl
HEXA_VALUES
private static final byte[] HEXA_VALUES
ScannerImpl
public ScannerImpl(java.io.InputStream stream)
ScannerImpl
public ScannerImpl(org.jruby.util.ByteList stream)
ScannerImpl
public ScannerImpl(java.lang.String stream)
update
private void update(int length,
boolean reset)
checkPrintable
private void checkPrintable(byte[] b,
int len)
ensure
private boolean ensure(int len,
boolean reset)
peek
private char peek()
peek
private char peek(int index)
forward
private void forward()
forward
private void forward(int length)
addToken
private void addToken(Token t)
checkToken
public boolean checkToken(java.lang.Class[] choices)
- Specified by:
checkToken
in interface Scanner
peekToken
public Token peekToken(int index)
- Specified by:
peekToken
in interface Scanner
peekToken
public Token peekToken()
- Specified by:
peekToken
in interface Scanner
getToken
public Token getToken()
- Specified by:
getToken
in interface Scanner
eachToken
public java.util.Iterator eachToken()
- Specified by:
eachToken
in interface Scanner
iterator
public java.util.Iterator iterator()
- Specified by:
iterator
in interface Scanner
needMoreTokens
private boolean needMoreTokens()
needMoreTokens
private boolean needMoreTokens(int size)
isEnding
private boolean isEnding()
isStart
private boolean isStart()
isEndOrStart
private boolean isEndOrStart()
fetchMoreTokens
private Token fetchMoreTokens()
fetchStreamStart
private Token fetchStreamStart()
fetchStreamEnd
private Token fetchStreamEnd()
scanToNextToken
private void scanToNextToken()
scanLineBreak
private byte[] scanLineBreak()
unwindIndent
private void unwindIndent(int col)
fetchDocumentStart
private Token fetchDocumentStart()
fetchDocumentIndicator
private Token fetchDocumentIndicator(Token tok)
fetchBlockEntry
private Token fetchBlockEntry()
addIndent
private boolean addIndent(int col)
fetchTag
private Token fetchTag()
removePossibleSimpleKey
private void removePossibleSimpleKey()
savePossibleSimpleKey
private void savePossibleSimpleKey()
scanTag
private Token scanTag()
scanTagUri
private org.jruby.util.ByteList scanTagUri(java.lang.String name)
scanTagHandle
private org.jruby.util.ByteList scanTagHandle(java.lang.String name)
scanUriEscapes
private org.jruby.util.ByteList scanUriEscapes(java.lang.String name)
fetchPlain
private Token fetchPlain()
scanPlain
private Token scanPlain()
nextPossibleSimpleKey
private int nextPossibleSimpleKey()
scanPlainSpaces
private org.jruby.util.ByteList scanPlainSpaces(int indent)
fetchSingle
private Token fetchSingle()
fetchDouble
private Token fetchDouble()
fetchFlowScalar
private Token fetchFlowScalar(char style)
scanFlowScalar
private Token scanFlowScalar(char style)
parseHexa
private org.jruby.util.ByteList parseHexa(int length)
scanFlowScalarNonSpaces
private org.jruby.util.ByteList scanFlowScalarNonSpaces(boolean dbl)
scanFlowScalarSpaces
private org.jruby.util.ByteList scanFlowScalarSpaces()
scanFlowScalarBreaks
private org.jruby.util.ByteList scanFlowScalarBreaks()
fetchValue
private Token fetchValue()
fetchFlowSequenceStart
private Token fetchFlowSequenceStart()
fetchFlowMappingStart
private Token fetchFlowMappingStart()
fetchFlowCollectionStart
private Token fetchFlowCollectionStart(Token tok)
fetchDocumentEnd
private Token fetchDocumentEnd()
fetchFlowSequenceEnd
private Token fetchFlowSequenceEnd()
fetchFlowMappingEnd
private Token fetchFlowMappingEnd()
fetchFlowCollectionEnd
private Token fetchFlowCollectionEnd(Token tok)
fetchFlowEntry
private Token fetchFlowEntry()
fetchLiteral
private Token fetchLiteral()
fetchFolded
private Token fetchFolded()
fetchBlockScalar
private Token fetchBlockScalar(char style)
scanBlockScalar
private Token scanBlockScalar(char style)
scanBlockScalarBreaks
private org.jruby.util.ByteList scanBlockScalarBreaks(int indent)
scanBlockScalarIndentation
private java.lang.Object[] scanBlockScalarIndentation()
scanBlockScalarIndicators
private java.lang.Object[] scanBlockScalarIndicators()
scanBlockScalarIgnoredLine
private boolean scanBlockScalarIgnoredLine()
fetchDirective
private Token fetchDirective()
fetchKey
private Token fetchKey()
fetchAlias
private Token fetchAlias()
fetchAnchor
private Token fetchAnchor()
scanDirective
private Token scanDirective()
scanDirectiveName
private java.lang.String scanDirectiveName()
scanDirectiveIgnoredLine
private byte[] scanDirectiveIgnoredLine()
scanAnchor
private Token scanAnchor(Token tok)
scanYamlDirectiveValue
private java.lang.String[] scanYamlDirectiveValue()
scanYamlDirectiveNumber
private java.lang.String scanYamlDirectiveNumber()
into
public static java.lang.String into(org.jruby.util.ByteList b)
scanTagDirectiveValue
private java.lang.String[] scanTagDirectiveValue()
scanTagDirectiveHandle
private org.jruby.util.ByteList scanTagDirectiveHandle()
scanTagDirectivePrefix
private org.jruby.util.ByteList scanTagDirectivePrefix()
main
public static void main(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