C# Class Pegasus.Compiler.CodeGenerator

Inheritance: ExpressionTreeWalker
Mostra file Open project: otac0n/Pegasus

Public Methods

Method Description
CodeGenerator ( TextWriter writer, object>.Dictionary types, HashSet leftRecursiveRules ) : System.Collections.Generic
WalkGrammar ( Grammar grammar ) : void

Protected Methods

Method Description
WalkAndCodeExpression ( AndCodeExpression andCodeExpression ) : void
WalkAndExpression ( AndExpression andExpression ) : void
WalkChoiceExpression ( ChoiceExpression choiceExpression ) : void
WalkClassExpression ( ClassExpression classExpression ) : void
WalkCodeExpression ( CodeExpression codeExpression ) : void
WalkLiteralExpression ( LiteralExpression literalExpression ) : void
WalkNameExpression ( NameExpression nameExpression ) : void
WalkNotCodeExpression ( NotCodeExpression notCodeExpression ) : void
WalkNotExpression ( NotExpression notExpression ) : void
WalkPrefixedExpression ( PrefixedExpression prefixedExpression ) : void
WalkRepetitionExpression ( RepetitionExpression repetitionExpression ) : void
WalkRule ( Rule rule ) : void
WalkSequenceExpression ( SequenceExpression sequenceExpression ) : void
WalkWildcardExpression ( WildcardExpression wildcardExpression ) : void

Private Methods

Method Description
CreateVariable ( string prefix ) : string
EscapeName ( object name ) : string
ToLiteral ( string input ) : string
WalkExpression ( Expression expression, TextWriter writer, string indentation ) : void
WalkGrammar ( Grammar grammar, TextWriter writer, string indentation ) : void
WalkRule ( Rule rule, TextWriter writer, string indentation ) : void

Method Details

CodeGenerator() public method

public CodeGenerator ( TextWriter writer, object>.Dictionary types, HashSet leftRecursiveRules ) : System.Collections.Generic
writer System.IO.TextWriter
types object>.Dictionary
leftRecursiveRules HashSet
return System.Collections.Generic

WalkAndCodeExpression() protected method

protected WalkAndCodeExpression ( AndCodeExpression andCodeExpression ) : void
andCodeExpression Pegasus.Expressions.AndCodeExpression
return void

WalkAndExpression() protected method

protected WalkAndExpression ( AndExpression andExpression ) : void
andExpression Pegasus.Expressions.AndExpression
return void

WalkChoiceExpression() protected method

protected WalkChoiceExpression ( ChoiceExpression choiceExpression ) : void
choiceExpression Pegasus.Expressions.ChoiceExpression
return void

WalkClassExpression() protected method

protected WalkClassExpression ( ClassExpression classExpression ) : void
classExpression Pegasus.Expressions.ClassExpression
return void

WalkCodeExpression() protected method

protected WalkCodeExpression ( CodeExpression codeExpression ) : void
codeExpression Pegasus.Expressions.CodeExpression
return void

WalkGrammar() public method

public WalkGrammar ( Grammar grammar ) : void
grammar Pegasus.Expressions.Grammar
return void

WalkLiteralExpression() protected method

protected WalkLiteralExpression ( LiteralExpression literalExpression ) : void
literalExpression Pegasus.Expressions.LiteralExpression
return void

WalkNameExpression() protected method

protected WalkNameExpression ( NameExpression nameExpression ) : void
nameExpression Pegasus.Expressions.NameExpression
return void

WalkNotCodeExpression() protected method

protected WalkNotCodeExpression ( NotCodeExpression notCodeExpression ) : void
notCodeExpression Pegasus.Expressions.NotCodeExpression
return void

WalkNotExpression() protected method

protected WalkNotExpression ( NotExpression notExpression ) : void
notExpression Pegasus.Expressions.NotExpression
return void

WalkPrefixedExpression() protected method

protected WalkPrefixedExpression ( PrefixedExpression prefixedExpression ) : void
prefixedExpression Pegasus.Expressions.PrefixedExpression
return void

WalkRepetitionExpression() protected method

protected WalkRepetitionExpression ( RepetitionExpression repetitionExpression ) : void
repetitionExpression Pegasus.Expressions.RepetitionExpression
return void

WalkRule() protected method

protected WalkRule ( Rule rule ) : void
rule Pegasus.Expressions.Rule
return void

WalkSequenceExpression() protected method

protected WalkSequenceExpression ( SequenceExpression sequenceExpression ) : void
sequenceExpression Pegasus.Expressions.SequenceExpression
return void

WalkWildcardExpression() protected method

protected WalkWildcardExpression ( WildcardExpression wildcardExpression ) : void
wildcardExpression WildcardExpression
return void