Top Description Fields Constructors Methods
org.jruby.lexer

public abstract Class LexingCommon

extends Object
Class Inheritance
Known Direct Subclasses
org.jruby.lexer.yacc.RubyLexer, org.jruby.ext.ripper.RubyLexer
Imports
java.io.IOException, java.nio.charset.Charset, .UnsupportedCharsetException, org.jcodings.Encoding, org.jcodings.specific.ASCIIEncoding, .USASCIIEncoding, .UTF8Encoding, org.jruby.Ruby, .RubyEncoding, .RubyRegexp, org.jruby.exceptions.RaiseException, org.jruby.lexer.yacc.LexContext, .StackState, org.jruby.parser.ProductionState, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.util.ByteList, .CommonByteLists, .KCode, .RegexpOptions, .StringSupport, org.jruby.util.io.EncodingUtils

Code and constants common to both ripper and main parser.

Field Summary

Modifier and TypeField and Description
protected boolean
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final Encoding
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static ByteList
protected int
public static final ByteList
public static final ByteList
protected StackState
public static ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public boolean
protected StackState
private ByteList
private Encoding
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public long
public static ByteList
public static ByteList
public static final int
public boolean
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final ByteList
public static final ByteList
public static final ByteList
protected boolean
protected int
protected int
protected int
private ByteList
public static final ByteList
protected int
protected int
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
private int
public ByteList
protected ByteList
public int
protected int
public int
protected int
public ByteList
private LexContext
protected int
protected int
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
protected int
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
Q

public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
public static final ByteList
protected int
public static final ByteList
public static final ByteList
protected LexerSource
public static final ByteList
public static final ByteList
public long
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final ByteList
protected int
private int
protected boolean
public int
public int
public static final Encoding
public static final Encoding
protected Object

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected abstract void
public void
public void
checkRegexpSyntax(Ruby runtime, ByteList value, RegexpOptions options)

public int
protected boolean
public abstract void
public void
public String
createAsEncodedString(byte[] bytes, int start, int length)

public ByteList
public ByteList
public String
createTokenString(int start)

public String
public static int
dedent_string(ByteList string, int width)

public void
public int
public StackState
public StackState
public ByteList
public String
public Encoding
public String
public int
public int
public int
public LexContext
public int
public int
public int
public int
public int
public ByteList
id()

public int
private static boolean
protected boolean
protected boolean
protected boolean
protected boolean
protected boolean
IS_LABEL_POSSIBLE(boolean commandState)

public boolean
public static boolean
IS_lex_state(int state, int mask)

protected boolean
IS_lex_state_all(int state, int mask)

protected boolean
IS_SPCARG(int c, boolean spaceSeen)

public boolean
public static boolean
isASCII(int c)

public boolean
public boolean
public static boolean

Returns:

true if character is a hex value (0-9a-f)
isHexChar
(int
the character to test
c
)

public static boolean

Returns:

whether c is an identifier or not mri: is_identchar
isIdentifierChar
(int
is character to be compared
c
)

This is a valid character for an identifier?

protected boolean
public boolean
protected boolean
public static boolean

Returns:

true if character is an octal value (0-7)
isOctChar
(int
the character to test
c
)

protected static boolean
ISSPACE(int c)

public static boolean
isSpace(int c)

public void
public int
protected void
public static int
magicCommentMarker(ByteList str, int begin)

protected abstract void
public void
newtok(boolean unreadOnce)

public abstract int
protected int
protected boolean
protected char
optionsEncodingChar(Encoding optionEncoding)

public int
p(int offset)

public abstract void
public boolean
public void
protected abstract RegexpOptions
protected RegexpOptions
public boolean
peek(int c)

protected boolean
peek(int c, int n)

public int
peekVariableName(int tSTRING_DVAR, int tSTRING_DBEG)

public int
public void
public void
pushback(int c)

public int
protected void
readUTF8EscapeIntoBuffer(int codepoint, ByteList buffer, boolean stringLiteral, boolean[] encodingDetermined)

public int
readUTFEscape(ByteList buffer, boolean stringLiteral, boolean[] encodingDetermined)

public void
public void
public void
protected int
scanHex(int count, boolean strict, String errorMessage)

Read up to count hexadecimal digits.

protected char
scanHexLiteral(ByteList buffer, int count, boolean strict, String errorMessage)

Read up to count hexadecimal digits and store those digits in a token numberBuffer.

protected char
scanOct(int count)

protected void
set_file_encoding(int str, int send)

protected void
protected void
public void
setBraceNest(int nest)

protected abstract void
public void
setCurrentArg(ByteList current_arg)

public void
public void
protected abstract void
public void
setHeredocIndent(int heredoc_indent)

public void
setHeredocLineIndent(int heredoc_line_indent)

public void
setLeftParenBegin(int value)

public void
public void
setRegexpEncoding(Ruby runtime, ByteList value, RegexpOptions options)

public void
public void
setSource(LexerSource
where the lexer gets raw data
source
)

Allow the parser to set the source for its lexer.

public void
setState(int state)

protected abstract void
public void
setValue(Object yaccValue)

protected boolean
strncmp(ByteList one, ByteList two, int length)

public void
tokAdd(int first_byte, ByteList buffer)

public boolean
tokadd_ident(int c)

public boolean
tokadd_mbchar(int first_byte)

This differs from MRI in a few ways.

public boolean
tokadd_mbchar(int first_byte, ByteList buffer)

public void
tokaddmbc(int codepoint, ByteList buffer)

This looks deceptively like tokadd_mbchar(int, ByteList) but it differs in that it uses the bytelists encoding and the first parameter is a full codepoint and not the first byte of a mbc sequence.

public void
tokCopy(int length, ByteList buffer)

public int

Returns:

last token read
token
()

Last token read from the lexer at the end of a call to yylex()

public abstract int
tokenize_ident(int result)

protected int
tokHex(int count, String errorMessage)

public boolean
protected void
updateStartPosition(int column)

protected void
public void
public void
validateFormalIdentifier(String identifier)
Deprecated

public Object

Returns:

value of last value-laden token
value
()

Value of last token (if it is a token which has a value).

protected int
warn_balanced(int c, boolean spaceSeen, int token, String op, String syn)

public boolean
public boolean
whole_match_p(ByteList eos, boolean indent)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait