예제 #1
0
        public static string GetValidType(this LexicCategories self)
        {
            switch (self)
            {
            case LexicCategories.frag:
                return("char");

            case LexicCategories.speck:
                return("int");

            case LexicCategories.sequ:
                return("decimal");

            case LexicCategories.splint:
                return("string");

            case LexicCategories.bin:
                return("binary");

            default:
                return(null);
            }
        }
예제 #2
0
        public static string Category(this LexicCategories self)
        {
            switch (self)
            {
            case LexicCategories.Declaratory:
                return("Declaratory");

            case LexicCategories.Decremental:
                return("Arithmetic Op");

            case LexicCategories.Division:
                return("Arithmetic Op");

            case LexicCategories.Plus:
                return("Arithmetic Op");

            case LexicCategories.Minus:
                return("Arithmetic Op");

            case LexicCategories.Product:
                return("Arithmetic Op");

            case LexicCategories.Power:
                return("Arithmetic Op");

            case LexicCategories.Incremental:
                return("Arithmetic Op");

            case LexicCategories.Module:
                return("Arithmetic Op");

            case LexicCategories.Terminator:
                return("Terminator");

            case LexicCategories.frag:
                return("Reserved word");

            case LexicCategories.speck:
                return("Reserved word");

            case LexicCategories.sequ:
                return("Reserved word");

            case LexicCategories.splint:
                return("Reserved word");

            case LexicCategories.bin:
                return("Reserved word");

            case LexicCategories.phase:
                return("Reserved word");

            case LexicCategories.sprint:
                return("Reserved word");

            case LexicCategories.Prime:
                return("Reserved word");

            case LexicCategories.inc:
                return("Reserved word");

            case LexicCategories.but:
                return("Reserved word");

            case LexicCategories.MoreThan:
                return("Comparator");

            case LexicCategories.LessThan:
                return("Comparator");

            case LexicCategories.Equals:
                return("Comparator");

            case LexicCategories.MoreEqual:
                return("Comparator");

            case LexicCategories.LessEqual:
                return("Comparator");

            case LexicCategories.Different:
                return("Comparator");

            case LexicCategories.Separator:
                return("Separator");

            case LexicCategories.StartProcess:
                return("Container");

            case LexicCategories.EndProcess:
                return("Container");

            case LexicCategories.StartArithProcess:
                return("Container");

            case LexicCategories.EndArithProcess:
                return("Container");

            case LexicCategories.StartParameter:
                return("Container");

            case LexicCategories.EndParameter:
                return("Container");

            default:
                return(null);
            }
        }
예제 #3
0
        public static int Key(this LexicCategories self)
        {
            switch (self)
            {
            case LexicCategories.Declaratory:
                return(1);

            case LexicCategories.Decremental:
                return(2);

            case LexicCategories.Division:
                return(2);

            case LexicCategories.Plus:
                return(2);

            case LexicCategories.Minus:
                return(2);

            case LexicCategories.Product:
                return(2);

            case LexicCategories.Power:
                return(2);

            case LexicCategories.Incremental:
                return(2);

            case LexicCategories.Terminator:
                return(3);

            case LexicCategories.frag:
                return(4);

            case LexicCategories.speck:
                return(4);

            case LexicCategories.sequ:
                return(4);

            case LexicCategories.splint:
                return(4);

            case LexicCategories.bin:
                return(4);

            case LexicCategories.phase:
                return(4);

            case LexicCategories.sprint:
                return(4);

            case LexicCategories.Prime:
                return(4);

            case LexicCategories.inc:
                return(4);

            case LexicCategories.but:
                return(4);

            case LexicCategories.MoreThan:
                return(5);

            case LexicCategories.LessThan:
                return(5);

            case LexicCategories.Equals:
                return(5);

            case LexicCategories.MoreEqual:
                return(5);

            case LexicCategories.LessEqual:
                return(5);

            case LexicCategories.Different:
                return(5);

            case LexicCategories.Separator:
                return(6);

            case LexicCategories.StartProcess:
                return(7);

            case LexicCategories.EndProcess:
                return(7);

            case LexicCategories.StartArithProcess:
                return(7);

            case LexicCategories.EndArithProcess:
                return(7);

            case LexicCategories.StartParameter:
                return(7);

            case LexicCategories.EndParameter:
                return(7);

            default:
                return(0);
            }
        }
예제 #4
0
        public static string ToDescriptionString(this LexicCategories val)
        {
            var attributes = (DescriptionAttribute[])val.GetType().GetField(val.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), false);

            return(attributes.Length > 0 ? attributes[0].Description : string.Empty);
        }