示例#1
0
        private DbccSqlCodeExpr ParseDbcc(IParser parser, SqlToken tokenType, int min, int max)
        {
            if (!parser.MatchToken(tokenType))
            {
                return(null);
            }

            var parametersList = parser.ParseParameterList($"DBCC {tokenType.ToString().ToUpper()}", min, max);

            return(new DbccSqlCodeExpr
            {
                Name = tokenType.ToString().ToUpper(),
                ParametersList = parametersList
            });
        }
 protected override string GetSqlTokenText(SqlToken sqlToken)
 {
     if (sqlToken is IRouteUnitAware routeUnitAware)
     {
         return(routeUnitAware.ToString(_routeUnit));
     }
     return(sqlToken.ToString());
 }
示例#3
0
 protected override string GetSqlTokenText(SqlToken sqlToken)
 {
     return(sqlToken.ToString());
 }
示例#4
0
 public void InfixLeft(SqlToken tokenType, Precedence precedence)
 {
     Register(tokenType.ToString(), new BinaryOperatorParselet(precedence, false));
 }
示例#5
0
 protected void Prefix(SqlToken tokenType, Precedence precedence)
 {
     Register(tokenType.ToString(), new SqlPrefixOperatorParselet(precedence));
 }
示例#6
0
 protected void Register(SqlToken tokenType, IInfixParselet parselet)
 {
     Register(tokenType.ToString(), parselet);
 }
示例#7
0
        private string GetTokenType(TextSpan span, SqlToken defaultTokenType)
        {
            var tokenStr = GetSpanString(span);

            return(GetTokenType(tokenStr, defaultTokenType.ToString()));
        }