コード例 #1
0
        public void TestInterfaceParser()
        {
            var data   = new ParsableData(System.IO.File.ReadAllText(@"C:\Users\wiw39784\Documents\git\CeusDL2\Test\Data\interface_demo.ceusdl"));
            var p      = new InterfaceParser(data);
            var result = p.Parse();

            // TODO: Ausgabe

            data   = new ParsableData(System.IO.File.ReadAllText(@"C:\Users\wiw39784\Documents\git\CeusDL2\Test\Data\interface_demo2.ceusdl"));
            p      = new InterfaceParser(data);
            result = p.Parse();

            data = new ParsableData(System.IO.File.ReadAllText(@"C:\Users\wiw39784\Documents\git\CeusDL2\Test\Data\interface_demo3.ceusdl"));
            p    = new InterfaceParser(data);
            var result2 = p.Parse();

            if (!result.Name.Equals(result2.Name))
            {
                throw new InvalidOperationException("Name nicht gleich!");
            }
            if (!result.Type.Equals(result2.Type))
            {
                throw new InvalidOperationException("Type nicht gleich!");
            }
            if (!result.Attributes.Count.Equals(result2.Attributes.Count))
            {
                throw new InvalidOperationException("Anzahl Attribute nicht gleich!");
            }
            if (!result.Parameters.Count.Equals(result2.Parameters.Count))
            {
                throw new InvalidOperationException("Anzahl Attribute nicht gleich!");
            }
        }
コード例 #2
0
 protected virtual void ParseInterface(TextReader r)
 {
     try
     {
         InterfaceLexer  lexer  = new InterfaceLexer(new Antlr.Runtime.ANTLRReaderStream(r));
         InterfaceParser parser = new InterfaceParser(new Antlr.Runtime.CommonTokenStream(lexer));
         parser.groupInterface(this);
         //System.out.println("read interface\n"+this.toString());
     }
     catch (Exception e)
     {
         string name = "<unknown>";
         if (Name != null)
         {
             name = Name;
         }
         Error("problem parsing group " + name + ": " + e, e);
     }
 }
コード例 #3
0
ファイル: Parser.cs プロジェクト: woanware/SessionViewer
 /// <summary>
 /// 
 /// </summary>
 /// <param name="parser"></param>
 public void SetParser(InterfaceParser parser)
 {
     _parsers.Add(parser);
 }