Example #1
0
 /// <summary>
 /// Erstellt einen neuen Token mit den angegebenen Eigenschaften
 /// </summary>
 /// <param name="type">Der Typ des Tokens</param>
 /// <param name="value">Der Token an sich, in String-Darstellung</param>
 /// <param name="associativity">Die Assoziativät des Tokens</param>
 /// <param name="precedence">Die Gewichtung des Tokens</param>
 protected Token(TokenType type,
                 string value,
                 TokenAssociativity associativity = TokenAssociativity.NoneAssociative,
                 TokenPrecedence precedence       = TokenPrecedence.Undefined)
 {
     Type          = type;
     Associativity = associativity;
     Precedence    = precedence;
     Value         = value;
 }
Example #2
0
 /// <summary>
 /// Fügt der Erkennungsroutine einen neuen logischen Block hinzu.
 /// </summary>
 /// <param name="tt">Der Block-Typ</param>
 /// <param name="strToken">Der zu erkennende Inhalt des Blocks</param>
 /// <param name="associativity"></param>
 /// <param name="precedence"></param>
 public static void RegisterToken(TokenType tt, string strToken,
                                  TokenAssociativity associativity = TokenAssociativity.NoneAssociative,
                                  TokenPrecedence precedence       = TokenPrecedence.Undefined)
 {
     _dictToken.Add(strToken, new TokenizerToken(tt, strToken, associativity, precedence));
 }
Example #3
0
 public TokenizerToken(TokenType type, string value,
                       TokenAssociativity associativity = TokenAssociativity.NoneAssociative,
                       TokenPrecedence precedence       = TokenPrecedence.Undefined) : base(type, value, associativity, precedence)
 {
 }
Example #4
0
 public Resolver(Lexer lexer,TokenPrecedence precedence)
 {
     _lexer = lexer;
     _precedence = precedence;
 }
Example #5
0
 public Resolver(Lexer lexer, CalculatorProxy calcProxy, TokenPrecedence precedence)
 {
     _lexer      = lexer;
     _calcProxy  = calcProxy;
     _precedence = precedence;
 }