File: Main.cs

package info (click to toggle)
antlr 2.7.7%2Bdfsg-14
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,016 kB
  • sloc: java: 54,649; cs: 12,537; makefile: 8,854; cpp: 7,359; pascal: 5,273; sh: 4,333; python: 4,297; lisp: 1,969; xml: 220; lex: 192; ansic: 127
file content (39 lines) | stat: -rw-r--r-- 1,138 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
namespace Test
{
	using System;
	using System.IO;
	using antlr;
	
	class AppMain {
	  // Define a selector that can handle nested include files.
	  // These variables are public so the parser/lexer can see them.
	  public static TokenStreamSelector selector = new TokenStreamSelector();
	  public static PParser parser;
	  public static PLexer mainLexer;
	
	  public static void Main(string[] args) {
	    try {
	      // open a simple stream to the input
	      CharBuffer input = new CharBuffer(Console.In);
	
	      // attach java lexer to the input stream,
	      mainLexer = new PLexer(input);
	
	      // notify selector about starting lexer; name for convenience
	      selector.addInputStream(mainLexer, "main");
	      selector.select("main"); // start with main P lexer
	
	      // Create parser attached to selector
	      parser = new PParser(selector);
	
		  // Parse the input language: P
		  parser.setFilename("<stdin>");
	      parser.startRule();
	    }
	    catch(Exception e) {
	      Console.Error.WriteLine("exception: "+e);
	      Console.Error.WriteLine(e.StackTrace);	// so we can get stack trace
	    }
	  }
	}
}