Exemple #1
0
 public Parser()
 {
     _prefixOperationTokens.Clear();
     _infixOperationTokens.Clear();
     _variableToken = new VariableToken();
     _stringToken = new StringLiteralToken();
 }
Exemple #2
0
 public Factory DefaultStringLiteralToken(IStringLiteralToken token)
 {
     if (token == null)
     {
         throw new ArgumentNullException();
     }
     defaultStringLiteralToken = token;
     return(this);
 }
Exemple #3
0
        public Parser(IEnumerable <IToken> operations, IVariableToken variableToken, IStringLiteralToken stringLiteralToken)
        {
            prefixOperationTokens.Clear();
            infixOperationTokens.Clear();

            this.variableToken      = variableToken;
            this.stringLiteralToken = stringLiteralToken;
            foreach (var item in operations)
            {
                Add(item);
            }
        }
        public static PsuedoToken For(IToken token, CodeText code)
        {
            var tokenType = token.GetType();
            var text      = token.Text(code);

            return(token switch
            {
                IIdentifierToken identifier => new PsuedoToken(tokenType, text, identifier.Value),
                IStringLiteralToken stringLiteral => new PsuedoToken(tokenType, text, stringLiteral.Value),
                IIntegerLiteralToken integerLiteral => new PsuedoToken(tokenType, text, integerLiteral.Value),
                _ => new PsuedoToken(tokenType, text)
            });
Exemple #5
0
 public IParser Create(IStringLiteralToken stringLiteralToken = null, IVariableToken variableToken = null)
 {
     return(new Parser(operations.Values, variableToken ?? this.defaultVariableToken, stringLiteralToken ?? this.defaultStringLiteralToken));
 }
Exemple #6
0
 public IParser SetStringLiteralToken(IStringLiteralToken token)
 {
     _stringToken = token;
     return this;
 }