Package org.jruby.lexer.yacc
Class RubyLexer
java.lang.Object
org.jruby.lexer.LexingCommon
org.jruby.lexer.yacc.RubyLexer
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class org.jruby.lexer.LexingCommon
__end__seen, AMPERSAND, AMPERSAND_AMPERSAND, AMPERSAND_DOT, AND_KEYWORD, 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, 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, KWNOREST, 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, NIL, OR, OR_KEYWORD, OR_OR, parenNest, PERCENT, PLUS, PLUS_AT, Q, QQ, QUESTION, RBRACKET, RCURLY, RPAREN, ruby_sourceline, SEMICOLON, SLASH, src, STAR, STAR_STAR, start, str_dquote, str_dsym, str_dword, STR_FUNC_ESCAPE, STR_FUNC_EXPAND, STR_FUNC_INDENT, 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 Summary
ConstructorsConstructorDescriptionRubyLexer
(RubyParserBase parser, LexerSource source, IRubyWarnings warnings) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
ambiguousOperator
(String op, String syn) protected int
void
compile_error
(String message) void
compile_error
(String message, long start, long end) static RubyLexer.Keyword
getKeyword
(String str) static RubyLexer.Keyword
getKeyword
(ByteList str) void
heredoc_dedent
(Node root) void
heredoc_restore
(HeredocTerm here) protected void
mismatchedRegexpEncodingError
(org.jcodings.Encoding optionEncoding, org.jcodings.Encoding encoding) int
nextc()
int
void
parse_error
(String message) protected RegexpOptions
void
reset()
protected void
setCompileOptionFlag
(String name, ByteList value) protected void
setEncoding
(ByteList name) void
setStrTerm
(StrTerm strterm) protected void
setTokenInfo
(String name, ByteList value) void
setWarnings
(IRubyWarnings warnings) int
tokenize_ident
(int result) Methods inherited from class org.jruby.lexer.LexingCommon
checkRegexpFragment, checkRegexpSyntax, column, comment_at_top, compile_error_pos, createAsEncodedString, createTokenByteList, createTokenByteList, createTokenString, createTokenString, dedent_string, flush, getBraceNest, getCmdArgumentState, getConditionState, getCurrentArg, getCurrentLine, getEncoding, getFile, getHeredocIndent, getHeredocLineIndent, getLeftParenBegin, getLexContext, getLineOffset, getParenNest, getRubySourceline, getState, getTokenCR, id, incrementParenNest, IS_AFTER_OPERATOR, IS_ARG, IS_BEG, IS_END, IS_LABEL_POSSIBLE, IS_LABEL_SUFFIX, IS_lex_state, IS_lex_state_all, IS_SPCARG, isASCII, isASCII, isEndSeen, isGlobalCharPunct, isHexChar, isIdentifierChar, isLambdaBeginning, isLookingAtEOL, isNext_identchar, isOctChar, isSpace, ISSPACE, lex_goto_eol, lineno, magicCommentEncoding, magicCommentMarker, newtok, numberLiteralSuffix, onMagicComment, optionsEncodingChar, p, parser_magic_comment, parser_prepare, parseRegexpFlags, peek, peek, peekVariableName, precise_mbclen, printState, pushback, readEscape, readUTF8EscapeIntoBuffer, readUTFEscape, readUTFEscapeRegexpLiteral, resetStacks, scanHex, scanHexLiteral, scanOct, set_file_encoding, set_yylval_id, set_yylval_name, setBraceNest, setCurrentArg, setCurrentEncoding, setEncoding, setHeredocIndent, setHeredocLineIndent, setLeftParenBegin, setLexContext, setRegexpEncoding, setRubySourceline, setSource, setState, setValue, strncmp, tokAdd, tokadd_ident, tokadd_mbchar, tokadd_mbchar, tokaddmbc, tokCopy, token, tokHex, update_heredoc_indent, updateStartPosition, updateTokenPosition, validateFormalIdentifier, validateFormalIdentifier, value, warn_balanced, was_bol, whole_match_p
-
Constructor Details
-
RubyLexer
-
-
Method Details
-
ambiguousOperator
- Specified by:
ambiguousOperator
in classLexingCommon
-
getKeyword
-
getKeyword
-
getRuntime
-
tokenize_ident
public int tokenize_ident(int result) - Specified by:
tokenize_ident
in classLexingCommon
-
reset
public void reset()- Overrides:
reset
in classLexingCommon
-
nextc
public int nextc()- Specified by:
nextc
in classLexingCommon
-
heredoc_dedent
-
compile_error
-
compile_error
- Specified by:
compile_error
in classLexingCommon
-
parse_error
- Specified by:
parse_error
in classLexingCommon
-
heredoc_restore
-
nextToken
- Throws:
IOException
-
setCompileOptionFlag
- Specified by:
setCompileOptionFlag
in classLexingCommon
-
parseRegexpFlags
- Specified by:
parseRegexpFlags
in classLexingCommon
- Throws:
IOException
-
mismatchedRegexpEncodingError
protected void mismatchedRegexpEncodingError(org.jcodings.Encoding optionEncoding, org.jcodings.Encoding encoding) - Specified by:
mismatchedRegexpEncodingError
in classLexingCommon
-
asTruth
-
setTokenInfo
- Specified by:
setTokenInfo
in classLexingCommon
-
setEncoding
- Specified by:
setEncoding
in classLexingCommon
-
getStrTerm
-
setStrTerm
-
setWarnings
-
createStr
-