Package ghidra.app.util.cparser.C
Class SimpleCharStream
- java.lang.Object
-
- ghidra.app.util.cparser.C.SimpleCharStream
-
public class SimpleCharStream extends java.lang.Object
An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (without unicode processing).
-
-
Field Summary
Fields Modifier and Type Field Description protected int[]
bufcolumn
protected char[]
buffer
protected int[]
bufline
int
bufpos
Position in buffer.protected int
column
protected int
inBuf
protected java.io.Reader
inputStream
protected int
line
protected int
maxNextCharInd
protected boolean
prevCharIsCR
protected boolean
prevCharIsLF
static boolean
staticFlag
Whether parser is static.protected int
tabSize
-
Constructor Summary
Constructors Constructor Description SimpleCharStream(java.io.InputStream dstream)
Constructor.SimpleCharStream(java.io.InputStream dstream, int startline, int startcolumn)
Constructor.SimpleCharStream(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)
Constructor.SimpleCharStream(java.io.InputStream dstream, java.lang.String encoding)
Constructor.SimpleCharStream(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn)
Constructor.SimpleCharStream(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize)
Constructor.SimpleCharStream(java.io.Reader dstream)
Constructor.SimpleCharStream(java.io.Reader dstream, int startline, int startcolumn)
Constructor.SimpleCharStream(java.io.Reader dstream, int startline, int startcolumn, int buffersize)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
adjustBeginLineColumn(int newLine, int newCol)
Method to adjust line and column numbers for the start of a token.void
backup(int amount)
Backup a number of characters.char
BeginToken()
Start.void
Done()
Reset buffer when finished.protected void
ExpandBuff(boolean wrapAround)
protected void
FillBuff()
int
getBeginColumn()
Get token beginning column number.int
getBeginLine()
Get token beginning line number.int
getColumn()
Deprecated.int
getEndColumn()
Get token end column number.int
getEndLine()
Get token end line number.java.lang.String
GetImage()
Get token literal value.int
getLine()
Deprecated.char[]
GetSuffix(int len)
Get the suffix.protected int
getTabSize(int i)
char
readChar()
Read a character.void
ReInit(java.io.InputStream dstream)
Reinitialise.void
ReInit(java.io.InputStream dstream, int startline, int startcolumn)
Reinitialise.void
ReInit(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)
Reinitialise.void
ReInit(java.io.InputStream dstream, java.lang.String encoding)
Reinitialise.void
ReInit(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn)
Reinitialise.void
ReInit(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize)
Reinitialise.void
ReInit(java.io.Reader dstream)
Reinitialise.void
ReInit(java.io.Reader dstream, int startline, int startcolumn)
Reinitialise.void
ReInit(java.io.Reader dstream, int startline, int startcolumn, int buffersize)
Reinitialise.protected void
setTabSize(int i)
protected void
UpdateLineColumn(char c)
-
-
-
Field Detail
-
staticFlag
public static final boolean staticFlag
Whether parser is static.- See Also:
- Constant Field Values
-
bufpos
public int bufpos
Position in buffer.
-
bufline
protected int[] bufline
-
bufcolumn
protected int[] bufcolumn
-
column
protected int column
-
line
protected int line
-
prevCharIsCR
protected boolean prevCharIsCR
-
prevCharIsLF
protected boolean prevCharIsLF
-
inputStream
protected java.io.Reader inputStream
-
buffer
protected char[] buffer
-
maxNextCharInd
protected int maxNextCharInd
-
inBuf
protected int inBuf
-
tabSize
protected int tabSize
-
-
Constructor Detail
-
SimpleCharStream
public SimpleCharStream(java.io.Reader dstream, int startline, int startcolumn, int buffersize)
Constructor.
-
SimpleCharStream
public SimpleCharStream(java.io.Reader dstream, int startline, int startcolumn)
Constructor.
-
SimpleCharStream
public SimpleCharStream(java.io.Reader dstream)
Constructor.
-
SimpleCharStream
public SimpleCharStream(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
Constructor.- Throws:
java.io.UnsupportedEncodingException
-
SimpleCharStream
public SimpleCharStream(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)
Constructor.
-
SimpleCharStream
public SimpleCharStream(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn) throws java.io.UnsupportedEncodingException
Constructor.- Throws:
java.io.UnsupportedEncodingException
-
SimpleCharStream
public SimpleCharStream(java.io.InputStream dstream, int startline, int startcolumn)
Constructor.
-
SimpleCharStream
public SimpleCharStream(java.io.InputStream dstream, java.lang.String encoding) throws java.io.UnsupportedEncodingException
Constructor.- Throws:
java.io.UnsupportedEncodingException
-
SimpleCharStream
public SimpleCharStream(java.io.InputStream dstream)
Constructor.
-
-
Method Detail
-
setTabSize
protected void setTabSize(int i)
-
getTabSize
protected int getTabSize(int i)
-
ExpandBuff
protected void ExpandBuff(boolean wrapAround)
-
FillBuff
protected void FillBuff() throws java.io.IOException
- Throws:
java.io.IOException
-
BeginToken
public char BeginToken() throws java.io.IOException
Start.- Throws:
java.io.IOException
-
UpdateLineColumn
protected void UpdateLineColumn(char c)
-
readChar
public char readChar() throws java.io.IOException
Read a character.- Throws:
java.io.IOException
-
getColumn
@Deprecated public int getColumn()
Deprecated.
-
getLine
@Deprecated public int getLine()
Deprecated.
-
getEndColumn
public int getEndColumn()
Get token end column number.
-
getEndLine
public int getEndLine()
Get token end line number.
-
getBeginColumn
public int getBeginColumn()
Get token beginning column number.
-
getBeginLine
public int getBeginLine()
Get token beginning line number.
-
backup
public void backup(int amount)
Backup a number of characters.
-
ReInit
public void ReInit(java.io.Reader dstream, int startline, int startcolumn, int buffersize)
Reinitialise.
-
ReInit
public void ReInit(java.io.Reader dstream, int startline, int startcolumn)
Reinitialise.
-
ReInit
public void ReInit(java.io.Reader dstream)
Reinitialise.
-
ReInit
public void ReInit(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
Reinitialise.- Throws:
java.io.UnsupportedEncodingException
-
ReInit
public void ReInit(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)
Reinitialise.
-
ReInit
public void ReInit(java.io.InputStream dstream, java.lang.String encoding) throws java.io.UnsupportedEncodingException
Reinitialise.- Throws:
java.io.UnsupportedEncodingException
-
ReInit
public void ReInit(java.io.InputStream dstream)
Reinitialise.
-
ReInit
public void ReInit(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn) throws java.io.UnsupportedEncodingException
Reinitialise.- Throws:
java.io.UnsupportedEncodingException
-
ReInit
public void ReInit(java.io.InputStream dstream, int startline, int startcolumn)
Reinitialise.
-
GetImage
public java.lang.String GetImage()
Get token literal value.
-
GetSuffix
public char[] GetSuffix(int len)
Get the suffix.
-
Done
public void Done()
Reset buffer when finished.
-
adjustBeginLineColumn
public void adjustBeginLineColumn(int newLine, int newCol)
Method to adjust line and column numbers for the start of a token.
-
-