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 voidambiguousOperator(String op, String syn) protected intvoidcompile_error(String message) voidcompile_error(String message, long start, long end) static RubyLexer.KeywordgetKeyword(String str) static RubyLexer.KeywordgetKeyword(ByteList str) voidheredoc_dedent(Node root) voidheredoc_restore(HeredocTerm here) protected voidmismatchedRegexpEncodingError(org.jcodings.Encoding optionEncoding, org.jcodings.Encoding encoding) intnextc()intvoidparse_error(String message) protected RegexpOptionsvoidreset()protected voidsetCompileOptionFlag(String name, ByteList value) protected voidsetEncoding(ByteList name) voidsetStrTerm(StrTerm strterm) protected voidsetTokenInfo(String name, ByteList value) voidsetWarnings(IRubyWarnings warnings) inttokenize_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:
ambiguousOperatorin classLexingCommon
-
getKeyword
-
getKeyword
-
getRuntime
-
tokenize_ident
public int tokenize_ident(int result) - Specified by:
tokenize_identin classLexingCommon
-
reset
public void reset()- Overrides:
resetin classLexingCommon
-
nextc
public int nextc()- Specified by:
nextcin classLexingCommon
-
heredoc_dedent
-
compile_error
-
compile_error
- Specified by:
compile_errorin classLexingCommon
-
parse_error
- Specified by:
parse_errorin classLexingCommon
-
heredoc_restore
-
nextToken
- Throws:
IOException
-
setCompileOptionFlag
- Specified by:
setCompileOptionFlagin classLexingCommon
-
parseRegexpFlags
- Specified by:
parseRegexpFlagsin classLexingCommon- Throws:
IOException
-
mismatchedRegexpEncodingError
protected void mismatchedRegexpEncodingError(org.jcodings.Encoding optionEncoding, org.jcodings.Encoding encoding) - Specified by:
mismatchedRegexpEncodingErrorin classLexingCommon
-
asTruth
-
setTokenInfo
- Specified by:
setTokenInfoin classLexingCommon
-
setEncoding
- Specified by:
setEncodingin classLexingCommon
-
getStrTerm
-
setStrTerm
-
setWarnings
-
createStr
-