C# Class ilcclib.Preprocessor.CPreprocessorContext

Show file Open project: soywiz/ilcc Class Usage Examples

Public Properties

Property Type Description
DebugPreprocessor bool
FileName string
Macros Macro>.Dictionary
Text string

Public Methods

Method Description
CPreprocessorContext ( IIncludeReader IncludeReader, TextWriter TextWriter ) : System
DumpMacros ( ) : void
EvaluateExpression ( CTokenReader Tokens ) : int
EvaluateExpressionAnd ( CTokenReader Tokens ) : int
EvaluateExpressionEquality ( CTokenReader Tokens ) : int
EvaluateExpressionInequality ( CTokenReader Tokens ) : int
EvaluateExpressionLogicalAnd ( CTokenReader Tokens ) : int
EvaluateExpressionLogicalOr ( CTokenReader Tokens ) : int
EvaluateExpressionOr ( CTokenReader Tokens ) : int
EvaluateExpressionProduct ( CTokenReader Tokens ) : int
EvaluateExpressionShift ( CTokenReader Tokens ) : int
EvaluateExpressionSum ( CTokenReader Tokens ) : int
EvaluateExpressionTernary ( CTokenReader Tokens ) : int

EvaluateExpressionUnary ( CTokenReader Tokens ) : int
EvaluateExpressionXor ( CTokenReader Tokens ) : int
IsDefinedExpression ( CTokenReader Tokens ) : bool
SetText ( string FileName, string NewText, System.Action Action ) : void
ShowLine ( CToken TokenCurrent ) : void

Private Methods

Method Description
BinaryOperation ( int Left, string Operator, int Right ) : int
TrinaryOperation ( int Cond, int True, int False ) : int
UnaryOperation ( string Operator, int Right ) : int
_EvaluateExpressionStep ( int>.Func ParseLeftExpression, int>.Func ParseRightExpression, HashSet Operators, CTokenReader Tokens ) : int

_EvaluateExpressionStep ( int>.Func ParseLeftRightExpression, HashSet Operators, CTokenReader Tokens ) : int

Method Details

CPreprocessorContext() public method

public CPreprocessorContext ( IIncludeReader IncludeReader, TextWriter TextWriter ) : System
IncludeReader IIncludeReader
TextWriter System.IO.TextWriter
return System

DumpMacros() public method

public DumpMacros ( ) : void
return void

EvaluateExpression() public method

public EvaluateExpression ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionAnd() public method

public EvaluateExpressionAnd ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionEquality() public method

public EvaluateExpressionEquality ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionInequality() public method

public EvaluateExpressionInequality ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionLogicalAnd() public method

public EvaluateExpressionLogicalAnd ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionLogicalOr() public method

public EvaluateExpressionLogicalOr ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionOr() public method

public EvaluateExpressionOr ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionProduct() public method

public EvaluateExpressionProduct ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionShift() public method

public EvaluateExpressionShift ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionSum() public method

public EvaluateExpressionSum ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionTernary() public method

public EvaluateExpressionTernary ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionUnary() public method

public EvaluateExpressionUnary ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

EvaluateExpressionXor() public method

public EvaluateExpressionXor ( CTokenReader Tokens ) : int
Tokens ilcclib.Tokenizer.CTokenReader
return int

IsDefinedExpression() public method

public IsDefinedExpression ( CTokenReader Tokens ) : bool
Tokens ilcclib.Tokenizer.CTokenReader
return bool

SetText() public method

public SetText ( string FileName, string NewText, System.Action Action ) : void
FileName string
NewText string
Action System.Action
return void

ShowLine() public method

public ShowLine ( CToken TokenCurrent ) : void
TokenCurrent ilcclib.Tokenizer.CToken
return void

Property Details

DebugPreprocessor public property

public bool DebugPreprocessor
return bool

FileName public property

public string FileName
return string

Macros public property

public Dictionary Macros
return Macro>.Dictionary

Text public property

public string Text
return string