Пример #1
0
        public static Verb Parse(ref List <String> statements, ref int index)
        {
            Verb   verb      = null;
            String statement = statements[index].Trim();
            int    idx       = statement.IndexOf(" ");//--- Find first space

            if (idx != -1)
            {
                String   lineNo   = statement.Substring(0, idx);
                String   command  = statement.Substring(idx).Trim();
                String[] parts    = command.Split(',');
                String   verbName = parts[0].Trim();
                if ("DEFINE" == verbName)
                {
                    verb = new Define(ref statements, ref index);
                }
                else if ("END" == verbName)
                {
                    verb = new End(ref statements, ref index);
                }
                else if ("DECLARE" == verbName)
                {
                    verb = new Declare(ref statements, ref index);
                }
                else if ("REQUIRE" == verbName)
                {
                    verb = new Require(ref statements, ref index);
                }
                else if ("APPLY" == verbName)
                {
                    verb = new Signal(ref statements, ref index);
                }
                else
                {
                    verb = new Verb(ref statements, ref index);
                }
                verb.LineNo = lineNo;
            }
            return(verb);
        }
Пример #2
0
 public static Verb Parse(ref List<String> statements, ref int index)
 {
     Verb verb = null;
     String statement = statements[index].Trim();
     int idx = statement.IndexOf(" ");//--- Find first space
     if( idx != -1 )
     {
         String lineNo = statement.Substring(0, idx);
         String command = statement.Substring(idx).Trim();
         String[] parts = command.Split(',');
         String verbName = parts[0].Trim();
         if( "DEFINE" == verbName )
             verb = new Define(ref statements, ref index);
         else if( "END" == verbName )
             verb = new End(ref statements, ref index);
         else if( "DECLARE" == verbName )
             verb = new Declare(ref statements, ref index);
         else if( "REQUIRE" == verbName )
             verb = new Require(ref statements, ref index);
         else if( "APPLY" == verbName )
             verb = new Signal(ref statements, ref index);
         else
             verb = new Verb(ref statements, ref index);
         verb.LineNo = lineNo;
     }
     return verb;
 }