Code Search for Developers
 
 
  

Tokenizer.Generated.cs from p4shelf at Krugle


Show Tokenizer.Generated.cs syntax highlighted

/* **********************************************************************************
 *
 * Copyright (c) Microsoft Corporation. All rights reserved.
 *
 * This source code is subject to terms and conditions of the Shared Source License
 * for IronPython. A copy of the license can be found in the License.html file
 * at the root of this distribution. If you can not locate the Shared Source License
 * for IronPython, please send an email to ironpy@microsoft.com.
 * By using this source code in any fashion, you are agreeing to be bound by
 * the terms of the Shared Source License for IronPython.
 *
 * You must not remove this notice, or any other, from this software.
 *
 * **********************************************************************************/

using System;
using System.Collections.Generic;
using System.Text;

namespace IronPython.Compiler {
    public partial class Tokenizer {

        Token NextOperator(int ch) {
            switch (ch) {
                #region Generated Tokenize Ops

                // *** BEGIN GENERATED CODE ***

                case '+':
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.AddEqualToken;
                    }
                    SetEnd(); return Tokens.AddToken;
                case '-':
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.SubtractEqualToken;
                    }
                    SetEnd(); return Tokens.SubtractToken;
                case '*':
                    if (NextChar('*')) {
                        if (NextChar('=')) {
                            SetEnd(); return Tokens.PowerEqualToken;
                        }
                        SetEnd(); return Tokens.PowerToken;
                    }
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.MultiplyEqualToken;
                    }
                    SetEnd(); return Tokens.MultiplyToken;
                case '/':
                    if (NextChar('/')) {
                        if (NextChar('=')) {
                            SetEnd(); return Tokens.FloorDivideEqualToken;
                        }
                        SetEnd(); return Tokens.FloorDivideToken;
                    }
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.DivEqualToken;
                    }
                    SetEnd(); return Tokens.DivideToken;
                case '%':
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.ModEqualToken;
                    }
                    SetEnd(); return Tokens.ModToken;
                case '<':
                    if (NextChar('<')) {
                        if (NextChar('=')) {
                            SetEnd(); return Tokens.LeftShiftEqualToken;
                        }
                        SetEnd(); return Tokens.LeftShiftToken;
                    }
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.LessThanOrEqualToken;
                    }
                    if (NextChar('>')) {
                        SetEnd(); return Tokens.LessThanGreaterThanToken;
                    }
                    SetEnd(); return Tokens.LessThanToken;
                case '>':
                    if (NextChar('>')) {
                        if (NextChar('=')) {
                            SetEnd(); return Tokens.RightShiftEqualToken;
                        }
                        SetEnd(); return Tokens.RightShiftToken;
                    }
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.GreaterThanOrEqualToken;
                    }
                    SetEnd(); return Tokens.GreaterThanToken;
                case '&':
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.BitwiseAndEqualToken;
                    }
                    SetEnd(); return Tokens.BitwiseAndToken;
                case '|':
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.BitwiseOrEqualToken;
                    }
                    SetEnd(); return Tokens.BitwiseOrToken;
                case '^':
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.XorEqualToken;
                    }
                    SetEnd(); return Tokens.XorToken;
                case '=':
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.EqualToken;
                    }
                    SetEnd(); return Tokens.AssignToken;
                case '!':
                    if (NextChar('=')) {
                        SetEnd(); return Tokens.NotEqualToken;
                    }
                    return BadChar(NextChar());
                case '(':
                    parenLevel++;
                    SetEnd(); return Tokens.LeftParenthesisToken;
                case ')':
                    parenLevel--;
                    SetEnd(); return Tokens.RightParenthesisToken;
                case '[':
                    bracketLevel++;
                    SetEnd(); return Tokens.LeftBracketToken;
                case ']':
                    bracketLevel--;
                    SetEnd(); return Tokens.RightBracketToken;
                case '{':
                    braceLevel++;
                    SetEnd(); return Tokens.LeftBraceToken;
                case '}':
                    braceLevel--;
                    SetEnd(); return Tokens.RightBraceToken;
                case ',':
                    SetEnd(); return Tokens.CommaToken;
                case ':':
                    SetEnd(); return Tokens.ColonToken;
                case '`':
                    SetEnd(); return Tokens.BackQuoteToken;
                case ';':
                    SetEnd(); return Tokens.SemicolonToken;
                case '~':
                    SetEnd(); return Tokens.TwiddleToken;
                case '@':
                    SetEnd(); return Tokens.AtToken;

                // *** END GENERATED CODE ***

                #endregion
            }

            return null;
        }
    }
}




See more files for this project here

p4shelf

A feature in Visual Studio Team Studio that was immediately appealing to me was shelving. The goal of this tool is replicate that general functionality in Perforce.

Project homepage: http://code.google.com/p/p4shelf/
Programming language(s): C#,C++,Python
License: gpl2

  AST/
    Binder.cs
    ClassDef.cs
    Expressions.cs
    FlowChecker.cs
    FuncDef.Generated.cs
    FuncDef.cs
    Node.cs
    Operator.Generated.cs
    Operator.cs
    ScopeStatement.Generated.cs
    ScopeStatement.cs
    Statements.cs
    Walker.Generated.cs
  Generation/
    AssemblyGen.cs
    CodeGen.cs
    EnvironmentFactory.cs
    EnvironmentNamespace.cs
    EnvironmentReference.cs
    Namespace.cs
    NewSubtypeMaker.cs
    NewTypeMaker.cs
    OutputGenerator.cs
    Slot.cs
    SlotFactory.cs
    TypeGen.cs
    UserTypeGenerator.cs
  CompiledModule.cs
  CompilerContext.cs
  CompilerHelpers.cs
  MethodBinder.cs
  MethodTracker.cs
  NameConverter.cs
  NameEnv.cs
  NewTypeInfo.cs
  Options.cs
  Parser.cs
  ParserSink.cs
  Token.cs
  TokenKind.Generated.cs
  Tokenizer.Generated.cs
  Tokenizer.cs