示例#1
0
文件: Test.cs 项目: dilawar/ahir
    public static void Main(string[] args)
    {
        try
        {
            TinyCLexer  lexer  = new TinyCLexer(new ByteBuffer(Console.OpenStandardInput()));
            TinyCParser parser = new TinyCParser(lexer);
            parser.program();

            ParseTree tree = parser.getParseTree();
            Console.Out.WriteLine("parse tree: \n" + tree.ToStringTree());

            /*
             * Console.Out.WriteLine("derivation steps: "+parser.getNumberOfDerivationSteps());
             * Console.Out.WriteLine("derivation step 0: "+tree.getLeftmostDerivationStep(0));
             * Console.Out.WriteLine("derivation step 1: "+tree.getLeftmostDerivationStep(1));
             * Console.Out.WriteLine("derivation step 2: "+tree.getLeftmostDerivationStep(2));
             * Console.Out.WriteLine("derivation step 3: "+tree.getLeftmostDerivationStep(3));
             */

            int nSteps = parser.getNumberOfDerivationSteps();
            Console.Out.WriteLine("derivation:\n" + tree.getLeftmostDerivation(nSteps));
        }
        catch (Exception e)
        {
            Console.Error.WriteLine("exception: " + e);
        }
    }
示例#2
0
文件: GenHdr.cs 项目: dilawar/ahir
    public static void Main(string[] args)
    {
        try {
            TinyCLexer lexer = null;

            if (args.Length > 0)
            {
                lexer = new TinyCLexer(new StreamReader(new FileStream(args[0], FileMode.Open, FileAccess.Read)));
            }
            else
            {
                lexer = new TinyCLexer(new ByteBuffer(Console.OpenStandardInput()));
            }
            lexer.setTokenObjectClass(typeof(TokenWithIndex).FullName);
            TokenStreamRewriteEngine rewriteEngine = new TokenStreamRewriteEngine(lexer);
            rewriteEngine.discard(TinyCLexer.WS);
            TinyCParser parser = new TinyCParser(rewriteEngine);
            parser.program();
            Console.Out.Write(rewriteEngine.ToString());
        }
        catch (Exception e)
        {
            Console.Error.WriteLine("exception: " + e);
        }
    }
示例#3
0
文件: Test.cs 项目: 0xb1dd1e/boo
	public static void Main(string[] args) 
	{
		try 
		{
			TinyCLexer  lexer  = new TinyCLexer(new ByteBuffer(Console.OpenStandardInput()));
			TinyCParser parser = new TinyCParser(lexer);
			parser.program();

			ParseTree tree = parser.getParseTree();
			Console.Out.WriteLine("parse tree: \n"+tree.ToStringTree());
			/*
			Console.Out.WriteLine("derivation steps: "+parser.getNumberOfDerivationSteps());
			Console.Out.WriteLine("derivation step 0: "+tree.getLeftmostDerivationStep(0));
			Console.Out.WriteLine("derivation step 1: "+tree.getLeftmostDerivationStep(1));
			Console.Out.WriteLine("derivation step 2: "+tree.getLeftmostDerivationStep(2));
			Console.Out.WriteLine("derivation step 3: "+tree.getLeftmostDerivationStep(3));
			*/

			int nSteps = parser.getNumberOfDerivationSteps();
			Console.Out.WriteLine("derivation:\n" + tree.getLeftmostDerivation(nSteps));

		}
		catch(Exception e) 
		{
			Console.Error.WriteLine("exception: "+e);
		}
	}
示例#4
0
文件: GenHdr.cs 项目: 0xb1dd1e/boo
	public static void Main(string[] args) 
	{
		try {
			TinyCLexer lexer = null;

			if ( args.Length > 0 ) 
			{
				lexer = new TinyCLexer(new StreamReader(new FileStream(args[0], FileMode.Open, FileAccess.Read)));
			}
			else 
			{
				lexer = new TinyCLexer(new ByteBuffer(Console.OpenStandardInput()));
			}
			lexer.setTokenObjectClass(typeof(TokenWithIndex).FullName);
			TokenStreamRewriteEngine rewriteEngine = new TokenStreamRewriteEngine(lexer);
			rewriteEngine.discard(TinyCLexer.WS);
			TinyCParser parser = new TinyCParser(rewriteEngine);
			parser.program();
			Console.Out.Write(rewriteEngine.ToString());
		} 
		catch(Exception e) 
		{
			Console.Error.WriteLine("exception: "+e);
		}
	}