Ejemplo n.º 1
0
 /// <summary>
 /// Registers a token type to a new BinaryOperatorParselet
 /// </summary>
 /// <param name="opToken">Token type to register</param>
 /// <param name="precedence">Precedence of operator</param>
 /// <param name="rightAssociative">If the operator is right-associative or not</param>
 public static void RegisterBinaryOperator(TokenType opToken, Precedence precedence,
                                           bool rightAssociative = false)
 {
     Logger.Log(LogLevel.Debug, Logger.REGISTRY,
                "Registering binary operator parselet for token " + opToken.ToString());
     InfixParselets.Add(opToken, new BinaryOperatorParselet(precedence, rightAssociative));
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Registers a token type to a new PostfixOperatorParselet
 /// </summary>
 /// <param name="opToken">Token type to register</param>
 public static void RegisterPostfixOperator(TokenType opToken)
 {
     Logger.Log(LogLevel.Debug, Logger.REGISTRY,
                "Registering postfix operator parselet for token " + opToken.ToString());
     InfixParselets.Add(opToken, new PostfixOperatorParselet(Precedence.POSTFIX));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Registers a token type to an infix parselet
 /// </summary>
 /// <param name="token">Token type to register</param>
 /// <param name="parselet">Parselet to register to</param>
 public static void RegisterInfix(TokenType token, IInfixParselet parselet)
 {
     Logger.Log(LogLevel.Debug, Logger.REGISTRY,
                "Registering infix/postfix operator parselet for token " + token.ToString());
     InfixParselets.Add(token, parselet);
 }