コード例 #1
0
        public bool IsNumber(SoalSyntaxKind kind)
        {
            switch (kind)
            {
            case SoalSyntaxKind.LInteger:
                return(true);

            case SoalSyntaxKind.LDecimal:
                return(true);

            case SoalSyntaxKind.LScientific:
                return(true);

            case SoalSyntaxKind.LDateTimeOffset:
                return(true);

            case SoalSyntaxKind.LDateTime:
                return(true);

            case SoalSyntaxKind.LDate:
                return(true);

            case SoalSyntaxKind.LTime:
                return(true);

            default:
                return(false);
            }
        }
コード例 #2
0
        public bool IsKeyword(SoalSyntaxKind kind)
        {
            switch (kind)
            {
            case SoalSyntaxKind.KNamespace:
            case SoalSyntaxKind.KEnum:
            case SoalSyntaxKind.KException:
            case SoalSyntaxKind.KStruct:
            case SoalSyntaxKind.KInterface:
            case SoalSyntaxKind.KThrows:
            case SoalSyntaxKind.KOneway:
            case SoalSyntaxKind.KReturn:
            case SoalSyntaxKind.KBinding:
            case SoalSyntaxKind.KTransport:
            case SoalSyntaxKind.KEncoding:
            case SoalSyntaxKind.KProtocol:
            case SoalSyntaxKind.KEndpoint:
            case SoalSyntaxKind.KAddress:
            case SoalSyntaxKind.KDatabase:
            case SoalSyntaxKind.KEntity:
            case SoalSyntaxKind.KAbstract:
            case SoalSyntaxKind.KComponent:
            case SoalSyntaxKind.KComposite:
            case SoalSyntaxKind.KReference:
            case SoalSyntaxKind.KService:
            case SoalSyntaxKind.KWire:
            case SoalSyntaxKind.KTo:
            case SoalSyntaxKind.KImplementation:
            case SoalSyntaxKind.KLanguage:
            case SoalSyntaxKind.KAssembly:
            case SoalSyntaxKind.KDeployment:
            case SoalSyntaxKind.KEnvironment:
            case SoalSyntaxKind.KRuntime:
            case SoalSyntaxKind.KNull:
            case SoalSyntaxKind.KTrue:
            case SoalSyntaxKind.KFalse:
            case SoalSyntaxKind.KObject:
            case SoalSyntaxKind.KString:
            case SoalSyntaxKind.KInt:
            case SoalSyntaxKind.KLong:
            case SoalSyntaxKind.KFloat:
            case SoalSyntaxKind.KDouble:
            case SoalSyntaxKind.KByte:
            case SoalSyntaxKind.KBool:
            case SoalSyntaxKind.KAny:
            case SoalSyntaxKind.KTypeof:
            case SoalSyntaxKind.KVoid:
                return(true);

            default:
                return(false);
            }
        }
コード例 #3
0
        public bool IsTriviaWithEndOfLine(SoalSyntaxKind kind)
        {
            switch (kind)
            {
            case SoalSyntaxKind.LCrLf:
                return(true);

            case SoalSyntaxKind.LLineEnd:
                return(true);

            default:
                return(false);
            }
        }
コード例 #4
0
        public bool IsComment(SoalSyntaxKind kind)
        {
            switch (kind)
            {
            case SoalSyntaxKind.LSingleLineComment:
                return(true);

            case SoalSyntaxKind.LMultiLineComment:
                return(true);

            default:
                return(false);
            }
        }
コード例 #5
0
        public bool IsIdentifier(SoalSyntaxKind kind)
        {
            switch (kind)
            {
            case SoalSyntaxKind.IdentifierNormal:
                return(true);

            case SoalSyntaxKind.IdentifierVerbatim:
                return(true);

            default:
                return(false);
            }
        }
コード例 #6
0
        public bool IsWhitespace(SoalSyntaxKind kind)
        {
            switch (kind)
            {
            case SoalSyntaxKind.LUtf8Bom:
                return(true);

            case SoalSyntaxKind.LWhiteSpace:
                return(true);

            case SoalSyntaxKind.LCrLf:
                return(true);

            case SoalSyntaxKind.LLineEnd:
                return(true);

            default:
                return(false);
            }
        }
コード例 #7
0
        public bool IsString(SoalSyntaxKind kind)
        {
            switch (kind)
            {
            case SoalSyntaxKind.LRegularString:
                return(true);

            case SoalSyntaxKind.LGuid:
                return(true);

            case SoalSyntaxKind.LDoubleQuoteVerbatimString:
                return(true);

            case SoalSyntaxKind.LSingleQuoteVerbatimString:
                return(true);

            default:
                return(false);
            }
        }
コード例 #8
0
 public string GetKindText(SoalSyntaxKind kind)
 {
     return(kind.ToString());
 }
コード例 #9
0
        public bool IsToken(SoalSyntaxKind kind)
        {
            switch (kind)
            {
            case SoalSyntaxKind.Eof:
            case SoalSyntaxKind.KNamespace:
            case SoalSyntaxKind.KEnum:
            case SoalSyntaxKind.KException:
            case SoalSyntaxKind.KStruct:
            case SoalSyntaxKind.KInterface:
            case SoalSyntaxKind.KThrows:
            case SoalSyntaxKind.KOneway:
            case SoalSyntaxKind.KReturn:
            case SoalSyntaxKind.KBinding:
            case SoalSyntaxKind.KTransport:
            case SoalSyntaxKind.KEncoding:
            case SoalSyntaxKind.KProtocol:
            case SoalSyntaxKind.KEndpoint:
            case SoalSyntaxKind.KAddress:
            case SoalSyntaxKind.KDatabase:
            case SoalSyntaxKind.KEntity:
            case SoalSyntaxKind.KAbstract:
            case SoalSyntaxKind.KComponent:
            case SoalSyntaxKind.KComposite:
            case SoalSyntaxKind.KReference:
            case SoalSyntaxKind.KService:
            case SoalSyntaxKind.KWire:
            case SoalSyntaxKind.KTo:
            case SoalSyntaxKind.KImplementation:
            case SoalSyntaxKind.KLanguage:
            case SoalSyntaxKind.KAssembly:
            case SoalSyntaxKind.KDeployment:
            case SoalSyntaxKind.KEnvironment:
            case SoalSyntaxKind.KRuntime:
            case SoalSyntaxKind.KNull:
            case SoalSyntaxKind.KTrue:
            case SoalSyntaxKind.KFalse:
            case SoalSyntaxKind.KObject:
            case SoalSyntaxKind.KString:
            case SoalSyntaxKind.KInt:
            case SoalSyntaxKind.KLong:
            case SoalSyntaxKind.KFloat:
            case SoalSyntaxKind.KDouble:
            case SoalSyntaxKind.KByte:
            case SoalSyntaxKind.KBool:
            case SoalSyntaxKind.KAny:
            case SoalSyntaxKind.KTypeof:
            case SoalSyntaxKind.KVoid:
            case SoalSyntaxKind.TSemicolon:
            case SoalSyntaxKind.TColon:
            case SoalSyntaxKind.TDot:
            case SoalSyntaxKind.TComma:
            case SoalSyntaxKind.TAssign:
            case SoalSyntaxKind.TOpenParen:
            case SoalSyntaxKind.TCloseParen:
            case SoalSyntaxKind.TOpenBracket:
            case SoalSyntaxKind.TCloseBracket:
            case SoalSyntaxKind.TOpenBrace:
            case SoalSyntaxKind.TCloseBrace:
            case SoalSyntaxKind.TLessThan:
            case SoalSyntaxKind.TGreaterThan:
            case SoalSyntaxKind.TQuestion:
            case SoalSyntaxKind.TQuestionQuestion:
            case SoalSyntaxKind.TAmpersand:
            case SoalSyntaxKind.THat:
            case SoalSyntaxKind.TBar:
            case SoalSyntaxKind.TAndAlso:
            case SoalSyntaxKind.TOrElse:
            case SoalSyntaxKind.TPlusPlus:
            case SoalSyntaxKind.TMinusMinus:
            case SoalSyntaxKind.TPlus:
            case SoalSyntaxKind.TMinus:
            case SoalSyntaxKind.TTilde:
            case SoalSyntaxKind.TExclamation:
            case SoalSyntaxKind.TSlash:
            case SoalSyntaxKind.TAsterisk:
            case SoalSyntaxKind.TPercent:
            case SoalSyntaxKind.TLessThanOrEqual:
            case SoalSyntaxKind.TGreaterThanOrEqual:
            case SoalSyntaxKind.TEqual:
            case SoalSyntaxKind.TNotEqual:
            case SoalSyntaxKind.TAsteriskAssign:
            case SoalSyntaxKind.TSlashAssign:
            case SoalSyntaxKind.TPercentAssign:
            case SoalSyntaxKind.TPlusAssign:
            case SoalSyntaxKind.TMinusAssign:
            case SoalSyntaxKind.TLeftShiftAssign:
            case SoalSyntaxKind.TRightShiftAssign:
            case SoalSyntaxKind.TAmpersandAssign:
            case SoalSyntaxKind.THatAssign:
            case SoalSyntaxKind.TBarAssign:
            case SoalSyntaxKind.IDate:
            case SoalSyntaxKind.ITime:
            case SoalSyntaxKind.IDateTime:
            case SoalSyntaxKind.ITimeSpan:
            case SoalSyntaxKind.IVersion:
            case SoalSyntaxKind.IStyle:
            case SoalSyntaxKind.IMTOM:
            case SoalSyntaxKind.ISSL:
            case SoalSyntaxKind.IHTTP:
            case SoalSyntaxKind.IREST:
            case SoalSyntaxKind.IWebSocket:
            case SoalSyntaxKind.ISOAP:
            case SoalSyntaxKind.IXML:
            case SoalSyntaxKind.IJSON:
            case SoalSyntaxKind.IClientAuthentication:
            case SoalSyntaxKind.IWsAddressing:
            case SoalSyntaxKind.IdentifierNormal:
            case SoalSyntaxKind.IdentifierVerbatim:
            case SoalSyntaxKind.LInteger:
            case SoalSyntaxKind.LDecimal:
            case SoalSyntaxKind.LScientific:
            case SoalSyntaxKind.LDateTimeOffset:
            case SoalSyntaxKind.LDateTime:
            case SoalSyntaxKind.LDate:
            case SoalSyntaxKind.LTime:
            case SoalSyntaxKind.LRegularString:
            case SoalSyntaxKind.LGuid:
            case SoalSyntaxKind.LUtf8Bom:
            case SoalSyntaxKind.LWhiteSpace:
            case SoalSyntaxKind.LCrLf:
            case SoalSyntaxKind.LLineEnd:
            case SoalSyntaxKind.LSingleLineComment:
            case SoalSyntaxKind.LMultiLineComment:
            case SoalSyntaxKind.LDoubleQuoteVerbatimString:
            case SoalSyntaxKind.LSingleQuoteVerbatimString:
            case SoalSyntaxKind.DoubleQuoteVerbatimStringLiteralStart:
            case SoalSyntaxKind.SingleQuoteVerbatimStringLiteralStart:
            case SoalSyntaxKind.LCommentStart:
                return(true);

            default:
                return(false);
            }
        }
コード例 #10
0
        public string GetText(SoalSyntaxKind kind)
        {
            switch (kind)
            {
            case SoalSyntaxKind.KNamespace:
                return("namespace");

            case SoalSyntaxKind.KEnum:
                return("enum");

            case SoalSyntaxKind.KException:
                return("exception");

            case SoalSyntaxKind.KStruct:
                return("struct");

            case SoalSyntaxKind.KInterface:
                return("interface");

            case SoalSyntaxKind.KThrows:
                return("throws");

            case SoalSyntaxKind.KOneway:
                return("oneway");

            case SoalSyntaxKind.KReturn:
                return("return");

            case SoalSyntaxKind.KBinding:
                return("binding");

            case SoalSyntaxKind.KTransport:
                return("transport");

            case SoalSyntaxKind.KEncoding:
                return("encoding");

            case SoalSyntaxKind.KProtocol:
                return("protocol");

            case SoalSyntaxKind.KEndpoint:
                return("endpoint");

            case SoalSyntaxKind.KAddress:
                return("address");

            case SoalSyntaxKind.KDatabase:
                return("database");

            case SoalSyntaxKind.KEntity:
                return("entity");

            case SoalSyntaxKind.KAbstract:
                return("abstract");

            case SoalSyntaxKind.KComponent:
                return("component");

            case SoalSyntaxKind.KComposite:
                return("composite");

            case SoalSyntaxKind.KReference:
                return("reference");

            case SoalSyntaxKind.KService:
                return("service");

            case SoalSyntaxKind.KWire:
                return("wire");

            case SoalSyntaxKind.KTo:
                return("to");

            case SoalSyntaxKind.KImplementation:
                return("implementation");

            case SoalSyntaxKind.KLanguage:
                return("language");

            case SoalSyntaxKind.KAssembly:
                return("assembly");

            case SoalSyntaxKind.KDeployment:
                return("deployment");

            case SoalSyntaxKind.KEnvironment:
                return("environment");

            case SoalSyntaxKind.KRuntime:
                return("runtime");

            case SoalSyntaxKind.KNull:
                return("null");

            case SoalSyntaxKind.KTrue:
                return("true");

            case SoalSyntaxKind.KFalse:
                return("false");

            case SoalSyntaxKind.KObject:
                return("object");

            case SoalSyntaxKind.KString:
                return("string");

            case SoalSyntaxKind.KInt:
                return("int");

            case SoalSyntaxKind.KLong:
                return("long");

            case SoalSyntaxKind.KFloat:
                return("float");

            case SoalSyntaxKind.KDouble:
                return("double");

            case SoalSyntaxKind.KByte:
                return("byte");

            case SoalSyntaxKind.KBool:
                return("bool");

            case SoalSyntaxKind.KAny:
                return("any");

            case SoalSyntaxKind.KTypeof:
                return("typeof");

            case SoalSyntaxKind.KVoid:
                return("void");

            case SoalSyntaxKind.TSemicolon:
                return(";");

            case SoalSyntaxKind.TColon:
                return(":");

            case SoalSyntaxKind.TDot:
                return(".");

            case SoalSyntaxKind.TComma:
                return(",");

            case SoalSyntaxKind.TAssign:
                return("=");

            case SoalSyntaxKind.TOpenParen:
                return("(");

            case SoalSyntaxKind.TCloseParen:
                return(")");

            case SoalSyntaxKind.TOpenBracket:
                return("[");

            case SoalSyntaxKind.TCloseBracket:
                return("]");

            case SoalSyntaxKind.TOpenBrace:
                return("{");

            case SoalSyntaxKind.TCloseBrace:
                return("}");

            case SoalSyntaxKind.TLessThan:
                return("<");

            case SoalSyntaxKind.TGreaterThan:
                return(">");

            case SoalSyntaxKind.TQuestion:
                return("?");

            case SoalSyntaxKind.TQuestionQuestion:
                return("??");

            case SoalSyntaxKind.TAmpersand:
                return("&");

            case SoalSyntaxKind.THat:
                return("^");

            case SoalSyntaxKind.TBar:
                return("|");

            case SoalSyntaxKind.TAndAlso:
                return("&&");

            case SoalSyntaxKind.TOrElse:
                return("||");

            case SoalSyntaxKind.TPlusPlus:
                return("++");

            case SoalSyntaxKind.TMinusMinus:
                return("--");

            case SoalSyntaxKind.TPlus:
                return("+");

            case SoalSyntaxKind.TMinus:
                return("-");

            case SoalSyntaxKind.TTilde:
                return("~");

            case SoalSyntaxKind.TExclamation:
                return("!");

            case SoalSyntaxKind.TSlash:
                return("/");

            case SoalSyntaxKind.TPercent:
                return("%");

            case SoalSyntaxKind.TLessThanOrEqual:
                return("<=");

            case SoalSyntaxKind.TGreaterThanOrEqual:
                return(">=");

            case SoalSyntaxKind.TEqual:
                return("==");

            case SoalSyntaxKind.TNotEqual:
                return("!=");

            case SoalSyntaxKind.TAsteriskAssign:
                return("*=");

            case SoalSyntaxKind.TSlashAssign:
                return("/=");

            case SoalSyntaxKind.TPercentAssign:
                return("%=");

            case SoalSyntaxKind.TPlusAssign:
                return("+=");

            case SoalSyntaxKind.TMinusAssign:
                return("-=");

            case SoalSyntaxKind.TLeftShiftAssign:
                return("<<=");

            case SoalSyntaxKind.TRightShiftAssign:
                return(">>=");

            case SoalSyntaxKind.TAmpersandAssign:
                return("&=");

            case SoalSyntaxKind.THatAssign:
                return("^=");

            case SoalSyntaxKind.TBarAssign:
                return("|=");

            case SoalSyntaxKind.IDate:
                return("Date");

            case SoalSyntaxKind.ITime:
                return("Time");

            case SoalSyntaxKind.IDateTime:
                return("DateTime");

            case SoalSyntaxKind.ITimeSpan:
                return("TimeSpan");

            case SoalSyntaxKind.IVersion:
                return("Version");

            case SoalSyntaxKind.IStyle:
                return("Style");

            case SoalSyntaxKind.IMTOM:
                return("MTOM");

            case SoalSyntaxKind.ISSL:
                return("SSL");

            case SoalSyntaxKind.IHTTP:
                return("HTTP");

            case SoalSyntaxKind.IREST:
                return("REST");

            case SoalSyntaxKind.IWebSocket:
                return("WebSocket");

            case SoalSyntaxKind.ISOAP:
                return("SOAP");

            case SoalSyntaxKind.IXML:
                return("XML");

            case SoalSyntaxKind.IJSON:
                return("JSON");

            case SoalSyntaxKind.IClientAuthentication:
                return("ClientAuthentication");

            case SoalSyntaxKind.IWsAddressing:
                return("WsAddressing");

            case SoalSyntaxKind.DoubleQuoteVerbatimStringLiteralStart:
                return("@\"");

            case SoalSyntaxKind.SingleQuoteVerbatimStringLiteralStart:
                return("@\'");

            case SoalSyntaxKind.LCommentStart:
                return("/*");

            case SoalSyntaxKind.LDoubleQuoteVerbatimString:
                return("\"");

            case SoalSyntaxKind.LSingleQuoteVerbatimString:
                return("\'");

            default:
                return(string.Empty);
            }
        }
コード例 #11
0
        public SoalTokenKind GetTokenKind(SoalSyntaxKind kind)
        {
            switch (kind)
            {
            case SoalSyntaxKind.KNamespace:
            case SoalSyntaxKind.KEnum:
            case SoalSyntaxKind.KException:
            case SoalSyntaxKind.KStruct:
            case SoalSyntaxKind.KInterface:
            case SoalSyntaxKind.KThrows:
            case SoalSyntaxKind.KOneway:
            case SoalSyntaxKind.KReturn:
            case SoalSyntaxKind.KBinding:
            case SoalSyntaxKind.KTransport:
            case SoalSyntaxKind.KEncoding:
            case SoalSyntaxKind.KProtocol:
            case SoalSyntaxKind.KEndpoint:
            case SoalSyntaxKind.KAddress:
            case SoalSyntaxKind.KDatabase:
            case SoalSyntaxKind.KEntity:
            case SoalSyntaxKind.KAbstract:
            case SoalSyntaxKind.KComponent:
            case SoalSyntaxKind.KComposite:
            case SoalSyntaxKind.KReference:
            case SoalSyntaxKind.KService:
            case SoalSyntaxKind.KWire:
            case SoalSyntaxKind.KTo:
            case SoalSyntaxKind.KImplementation:
            case SoalSyntaxKind.KLanguage:
            case SoalSyntaxKind.KAssembly:
            case SoalSyntaxKind.KDeployment:
            case SoalSyntaxKind.KEnvironment:
            case SoalSyntaxKind.KRuntime:
            case SoalSyntaxKind.KNull:
            case SoalSyntaxKind.KTrue:
            case SoalSyntaxKind.KFalse:
            case SoalSyntaxKind.KObject:
            case SoalSyntaxKind.KString:
            case SoalSyntaxKind.KInt:
            case SoalSyntaxKind.KLong:
            case SoalSyntaxKind.KFloat:
            case SoalSyntaxKind.KDouble:
            case SoalSyntaxKind.KByte:
            case SoalSyntaxKind.KBool:
            case SoalSyntaxKind.KAny:
            case SoalSyntaxKind.KTypeof:
            case SoalSyntaxKind.KVoid:
                return(SoalTokenKind.Keyword);

            case SoalSyntaxKind.IdentifierNormal:
                return(SoalTokenKind.Identifier);

            case SoalSyntaxKind.IdentifierVerbatim:
                return(SoalTokenKind.Identifier);

            case SoalSyntaxKind.LInteger:
                return(SoalTokenKind.Number);

            case SoalSyntaxKind.LDecimal:
                return(SoalTokenKind.Number);

            case SoalSyntaxKind.LScientific:
                return(SoalTokenKind.Number);

            case SoalSyntaxKind.LDateTimeOffset:
                return(SoalTokenKind.Number);

            case SoalSyntaxKind.LDateTime:
                return(SoalTokenKind.Number);

            case SoalSyntaxKind.LDate:
                return(SoalTokenKind.Number);

            case SoalSyntaxKind.LTime:
                return(SoalTokenKind.Number);

            case SoalSyntaxKind.LRegularString:
                return(SoalTokenKind.String);

            case SoalSyntaxKind.LGuid:
                return(SoalTokenKind.String);

            case SoalSyntaxKind.LUtf8Bom:
                return(SoalTokenKind.Whitespace);

            case SoalSyntaxKind.LWhiteSpace:
                return(SoalTokenKind.Whitespace);

            case SoalSyntaxKind.LCrLf:
                return(SoalTokenKind.Whitespace);

            case SoalSyntaxKind.LLineEnd:
                return(SoalTokenKind.Whitespace);

            case SoalSyntaxKind.LSingleLineComment:
                return(SoalTokenKind.Comment);

            case SoalSyntaxKind.LMultiLineComment:
                return(SoalTokenKind.Comment);

            case SoalSyntaxKind.LDoubleQuoteVerbatimString:
                return(SoalTokenKind.String);

            case SoalSyntaxKind.LSingleQuoteVerbatimString:
                return(SoalTokenKind.String);

            default:
                return(SoalTokenKind.None);
            }
        }