コード例 #1
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestWildcard()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B C)" );
     bool valid = wiz.Parse( t, "(A . .)" );
     Assert.IsTrue( valid );
 }
コード例 #2
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestParseWithTextFails()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B C)" );
     bool valid = wiz.Parse( t, "(A[foo] B C)" );
     Assert.IsTrue( !valid ); // fails
 }
コード例 #3
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestParseWithWildcardLabels()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B C)" );
     var labels = new Dictionary<string, object>();
     bool valid = wiz.Parse( t, "(A %b:. %c:.)", labels );
     Assert.IsTrue( valid );
     Assert.AreEqual( "B", labels.get( "b" ).ToString() );
     Assert.AreEqual( "C", labels.get( "c" ).ToString() );
 }
コード例 #4
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestParseWithText()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B[foo] C[bar])" );
     // C pattern has no text arg so despite [bar] in t, no need
     // to match text--check structure only.
     bool valid = wiz.Parse( t, "(A B[foo] C)" );
     Assert.IsTrue( valid );
 }
コード例 #5
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestParseWithText2()
 {
     TreeWizard wiz = new TreeWizard(adaptor, tokens);
     CommonTree t = (CommonTree)wiz.Create("(A B[T__32] (C (D E[a])))");
     // C pattern has no text arg so despite [bar] in t, no need
     // to match text--check structure only.
     bool valid = wiz.Parse(t, "(A B[foo] C)");
     Assert.AreEqual("(A T__32 (C (D a)))", t.ToStringTree());
 }
コード例 #6
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestParseSingleNode()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "A" );
     bool valid = wiz.Parse( t, "A" );
     Assert.IsTrue( valid );
 }
コード例 #7
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestParseLabelsInNestedTree()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A (B C) (D E))" );
     var labels = new Dictionary<string, object>();
     bool valid = wiz.Parse( t, "(%a:A (%b:B %c:C) (%d:D %e:E) )", labels );
     Assert.IsTrue( valid );
     Assert.AreEqual( "A", labels.get( "a" ).ToString() );
     Assert.AreEqual( "B", labels.get( "b" ).ToString() );
     Assert.AreEqual( "C", labels.get( "c" ).ToString() );
     Assert.AreEqual( "D", labels.get( "d" ).ToString() );
     Assert.AreEqual( "E", labels.get( "e" ).ToString() );
 }
コード例 #8
0
ファイル: TestTreeWizard.cs プロジェクト: JSchofield/antlrcs
 public void TestParseLabelsAndTestText()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B[foo] C)" );
     var labels = new Dictionary<string, object>();
     bool valid = wiz.Parse( t, "(%a:A %b:B[foo] %c:C)", labels );
     Assert.IsTrue( valid );
     Assert.AreEqual( "A", labels.get( "a" ).ToString() );
     Assert.AreEqual( "foo", labels.get( "b" ).ToString() );
     Assert.AreEqual( "C", labels.get( "c" ).ToString() );
 }
コード例 #9
0
ファイル: TestTreeWizard.cs プロジェクト: bszafko/antlrcs
 public void TestParseLabels()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(A B C)" );
     IDictionary<string, object> labels = new Dictionary<string, object>();
     bool valid = wiz.Parse( t, "(%a:A %b:B %c:C)", labels );
     assertTrue( valid );
     assertEquals( "A", labels.get( "a" ).ToString() );
     assertEquals( "B", labels.get( "b" ).ToString() );
     assertEquals( "C", labels.get( "c" ).ToString() );
 }
コード例 #10
0
ファイル: TestTreeWizard.cs プロジェクト: bszafko/antlrcs
 public void TestParseFlatTree()
 {
     TreeWizard wiz = new TreeWizard( adaptor, tokens );
     CommonTree t = (CommonTree)wiz.Create( "(nil A B C)" );
     bool valid = wiz.Parse( t, "(nil A B C)" );
     assertTrue( valid );
 }