public class RipperLexer extends LexingCommon
Modifier and Type | Class and Description |
---|---|
static class |
RipperLexer.Keyword |
Modifier and Type | Field and Description |
---|---|
protected org.jruby.util.ByteList |
delayed |
__end__seen, AMPERSAND, AMPERSAND_AMPERSAND, AMPERSAND_DOT, ASCII8BIT_ENCODING, BACKSLASH, BACKTICK, BANG, BANG_EQ, BANG_TILDE, BEGIN_DOC_MARKER, braceNest, CALL, CARET, cmdArgumentState, CODING, COLON, COLON_COLON, COMMA, commandStart, conditionState, DOLLAR_BANG, DOLLAR_DOT, DOLLAR_UNDERSCORE, DOT, DOT_DOT, DOT_DOT_DOT, END_DOC_MARKER, END_MARKER, EOF, eofp, EQ, EQ_EQ, EQ_EQ_EQ, EQ_GT, EQ_TILDE, EXPR_ARG, EXPR_ARG_ANY, EXPR_BEG, EXPR_BEG_ANY, EXPR_CLASS, EXPR_CMDARG, EXPR_DOT, EXPR_END, EXPR_END_ANY, EXPR_ENDARG, EXPR_ENDFN, EXPR_FITEM, EXPR_FNAME, EXPR_LABEL, EXPR_LABELED, EXPR_MID, EXPR_VALUE, GT, GT_EQ, GT_GT, has_shebang, heredoc_end, heredoc_indent, heredoc_line_indent, inKwarg, last_cr_line, last_state, LBRACKET, LBRACKET_RBRACKET, LBRACKET_RBRACKET_EQ, LCURLY, lex_lastline, lex_nextline, lex_p, lex_pbeg, lex_pend, lex_state, lexb, line_count, line_offset, LT, LT_EQ, LT_EQ_RT, LT_LT, MINUS, MINUS_AT, MINUS_GT, OR, OR_OR, parenNest, PERCENT, PLUS, PLUS_AT, Q, QQ, QUESTION, RBRACKET, RCURLY, RPAREN, ruby_sourceline, SEMICOLON, SLASH, src, STAR, STAR_STAR, str_dquote, str_dsym, str_dword, STR_FUNC_ESCAPE, STR_FUNC_EXPAND, STR_FUNC_LABEL, STR_FUNC_LIST, STR_FUNC_QWORDS, STR_FUNC_REGEXP, STR_FUNC_SYMBOL, STR_FUNC_TERM, str_label, str_regexp, str_squote, str_ssym, str_sword, str_xquote, SUFFIX_ALL, SUFFIX_I, SUFFIX_R, TAB_WIDTH, TILDE, token, tokenSeen, tokline, tokp, USASCII_ENCODING, UTF8_ENCODING, yaccValue
Constructor and Description |
---|
RipperLexer(RipperParserBase parser,
LexerSource src) |
Modifier and Type | Method and Description |
---|---|
void |
addDelayedToken(int tok,
int end) |
protected void |
ambiguousOperator(java.lang.String op,
java.lang.String syn) |
void |
compile_error(java.lang.String message) |
IRubyObject |
createStr(org.jruby.util.ByteList buffer,
int flags) |
void |
dispatchDelayedToken(int token) |
void |
dispatchHeredocEnd() |
void |
dispatchIgnoredScanEvent(int token) |
void |
dispatchScanEvent(int token) |
protected void |
flush_string_content(org.jcodings.Encoding encoding) |
java.lang.String |
getIdent() |
static RipperLexer.Keyword |
getKeyword(java.lang.String str) |
Ruby |
getRuntime() |
StrTerm |
getStrTerm() |
boolean |
hasScanEvent() |
boolean |
hasStarted()
Has lexing started yet?
|
void |
heredoc_restore(HeredocTerm here) |
boolean |
isVerbose() |
protected void |
mismatchedRegexpEncodingError(org.jcodings.Encoding optionEncoding,
org.jcodings.Encoding encoding) |
int |
nextc() |
int |
nextToken() |
protected boolean |
onMagicComment(java.lang.String name,
org.jruby.util.ByteList value) |
protected RegexpOptions |
parseRegexpFlags() |
int |
readEscape() |
int |
readUTFEscape(org.jruby.util.ByteList buffer,
boolean stringLiteral,
boolean symbolLiteral) |
void |
readUTFEscapeRegexpLiteral(org.jruby.util.ByteList buffer) |
protected void |
setCompileOptionFlag(java.lang.String name,
org.jruby.util.ByteList value) |
protected void |
setEncoding(org.jruby.util.ByteList name) |
void |
setParser(RipperParserBase parserSupport)
Parse must pass its support object for some check at bottom of
yylex().
|
void |
setStrTerm(StrTerm strterm) |
protected void |
setTokenInfo(java.lang.String name,
org.jruby.util.ByteList value) |
boolean |
tokenAddMBC(int first_byte,
org.jruby.util.ByteList buffer) |
int |
tokenize_ident(int result) |
void |
warn(java.lang.String message) |
void |
warning(java.lang.String fmt) |
void |
warning(java.lang.String fmt,
java.lang.String arg) |
checkRegexpFragment, checkRegexpSyntax, column, comment_at_top, createAsEncodedString, createTokenByteList, createTokenByteList, createTokenString, createTokenString, dedent_string, flush, getBraceNest, getCmdArgumentState, getConditionState, getCurrentArg, getCurrentLine, getEncoding, getFile, getHeredocIndent, getHeredocLineIndent, getLeftParenBegin, getLineOffset, getPosition, getRubySourceline, getState, getTokenCR, incrementParenNest, isAfterOperator, isARG, isASCII, isASCII, isBEG, isEND, isEndSeen, isGlobalCharPunct, isHexChar, isIdentifierChar, isLabelPossible, isLabelSuffix, isLexState, isLexStateAll, isNext_identchar, isOctChar, isSpace, isSpaceArg, lex_goto_eol, lineno, magicCommentEncoding, magicCommentMarker, newtok, numberLiteralSuffix, optionsEncodingChar, p, parser_magic_comment, parser_prepare, parseRegexpFlags, peek, peek, peekVariableName, precise_mbclen, printState, pushback, reset, resetStacks, scanOct, set_file_encoding, setBraceNest, setCurrentArg, setCurrentEncoding, setEncoding, setHeredocIndent, setHeredocLineIndent, setLeftParenBegin, setRegexpEncoding, setRubySourceline, setSource, setState, setValue, strncmp, tokadd_ident, tokadd_mbchar, tokadd_mbchar, tokAdd, tokaddmbc, tokCopy, token, update_heredoc_indent, validateFormalIdentifier, validateFormalIdentifier, value, warn_balanced, was_bol, whole_match_p
public RipperLexer(RipperParserBase parser, LexerSource src)
protected void ambiguousOperator(java.lang.String op, java.lang.String syn)
ambiguousOperator
in class LexingCommon
protected boolean onMagicComment(java.lang.String name, org.jruby.util.ByteList value)
onMagicComment
in class LexingCommon
public boolean isVerbose()
public void warn(java.lang.String message)
public void warning(java.lang.String fmt)
public void warning(java.lang.String fmt, java.lang.String arg)
public static RipperLexer.Keyword getKeyword(java.lang.String str)
public boolean hasStarted()
protected void flush_string_content(org.jcodings.Encoding encoding)
public void addDelayedToken(int tok, int end)
public int nextc()
nextc
in class LexingCommon
public void dispatchHeredocEnd()
public void compile_error(java.lang.String message)
compile_error
in class LexingCommon
public int tokenize_ident(int result)
tokenize_ident
in class LexingCommon
public void heredoc_restore(HeredocTerm here)
public int nextToken() throws java.io.IOException
java.io.IOException
public java.lang.String getIdent()
public Ruby getRuntime()
public void setParser(RipperParserBase parserSupport)
parserSupport
- protected void setCompileOptionFlag(java.lang.String name, org.jruby.util.ByteList value)
setCompileOptionFlag
in class LexingCommon
protected RegexpOptions parseRegexpFlags() throws java.io.IOException
parseRegexpFlags
in class LexingCommon
java.io.IOException
protected void mismatchedRegexpEncodingError(org.jcodings.Encoding optionEncoding, org.jcodings.Encoding encoding)
mismatchedRegexpEncodingError
in class LexingCommon
protected void setTokenInfo(java.lang.String name, org.jruby.util.ByteList value)
setTokenInfo
in class LexingCommon
protected void setEncoding(org.jruby.util.ByteList name)
setEncoding
in class LexingCommon
public StrTerm getStrTerm()
public void setStrTerm(StrTerm strterm)
public IRubyObject createStr(org.jruby.util.ByteList buffer, int flags)
public boolean hasScanEvent()
public void dispatchDelayedToken(int token)
public void dispatchIgnoredScanEvent(int token)
public void dispatchScanEvent(int token)
public void readUTFEscapeRegexpLiteral(org.jruby.util.ByteList buffer) throws java.io.IOException
java.io.IOException
public boolean tokenAddMBC(int first_byte, org.jruby.util.ByteList buffer)
public int readUTFEscape(org.jruby.util.ByteList buffer, boolean stringLiteral, boolean symbolLiteral) throws java.io.IOException
java.io.IOException
public int readEscape() throws java.io.IOException
java.io.IOException
Copyright © 2001-2018 JRuby. All Rights Reserved.