|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.anarres.cpp.Preprocessor
public class Preprocessor
A C Preprocessor.
The Preprocessor outputs a token stream which does not need
re-lexing for C or C++. Alternatively, the output text may be
reconstructed by concatenating the text
values of the returned Tokens
. (See
CppReader
, which does this.)
Field Summary | |
---|---|
static int |
FL_LINEMARKER
|
Constructor Summary | |
---|---|
Preprocessor(File file)
Equivalent to 'new Preprocessor(new FileLexerSource (file))' |
|
Preprocessor(Source initial)
|
|
Preprocessor(Source initial,
int flags)
|
Method Summary | |
---|---|
void |
addMacro(Macro m)
|
void |
addMacro(String name)
Defines the given name as a macro. |
void |
addMacro(String name,
String value)
Defines the given name as a macro. |
protected void |
error(Token tok,
String msg)
Handles an error. |
protected Map<String,Macro> |
getMacros()
Returns the Map of Macros parsed during the run of this Preprocessor. |
protected Source |
getSource()
Returns the top Source on the input stack. |
protected void |
include(File parent,
int line,
String name,
boolean quoted)
Handles a include directive. |
protected void |
pop_source()
Pops a Source from the input stack. |
protected void |
push_source(Source source,
boolean autopop)
Pushes a Source onto the input stack. |
void |
setFlags(int flags)
|
void |
setIncludePath(List<String> path)
Sets the include path used by this Preprocessor. |
void |
setListener(PreprocessorListener listener)
|
Token |
token()
Returns the next preprocessor token. |
String |
toString()
|
protected void |
warning(Token tok,
String msg)
Handles a warning. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int FL_LINEMARKER
Constructor Detail |
---|
public Preprocessor(Source initial, int flags)
public Preprocessor(Source initial)
public Preprocessor(File file) throws IOException
FileLexerSource
(file))'
IOException
Method Detail |
---|
public void setListener(PreprocessorListener listener)
public void setFlags(int flags)
protected void error(Token tok, String msg) throws LexerException
LexerException
protected void warning(Token tok, String msg) throws LexerException
LexerException
public void addMacro(Macro m) throws LexerException
LexerException
public void addMacro(String name, String value) throws LexerException
LexerException
public void addMacro(String name) throws LexerException
LexerException
public void setIncludePath(List<String> path)
protected Map<String,Macro> getMacros()
protected Source getSource()
Source
,
push_source(Source,boolean)
,
pop_source()
protected void push_source(Source source, boolean autopop)
getSource()
,
pop_source()
protected void pop_source()
getSource()
,
push_source(Source,boolean)
protected void include(File parent, int line, String name, boolean quoted) throws IOException, LexerException
IOException
LexerException
public Token token() throws IOException, LexerException
LexerException
- if a preprocessing error occurs.
InternalException
- if an unexpected error condition arises.
IOException
Token
public String toString()
toString
in class Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |