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!"); } }
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); } }
/// <summary> /// /// </summary> /// <param name="parser"></param> public void SetParser(InterfaceParser parser) { _parsers.Add(parser); }