示例#1
0
 public Worker(coco.Parser parser)
 {
     this.parser = parser;
     indentation = 0;
     stack       = new Line[0xff];
     stack[0]    = new Line();
 }
示例#2
0
    public static int Main(string[] args)
    {
        if (args.Length == 3)
        {
            var name   = args[0];
            var input  = args[1];
            var output = args[2];

            var root   = ast.Define.Root(name);
            var worker = new ast.Worker(root);

            var scanner = new coco.Scanner(input);
            var parser  = new coco.Parser(scanner);

            parser.worker = worker;
            parser.Parse();

            if (parser.errors.count == 0)
            {
                root.Evaluate(ast.Define.none);
                var printer = new Printer();
                printer.Write(root, output);
            }

            Console.WriteLine(parser.errors.count + errorCount + " errors detected");
            return(parser.errors.count);
        }
        else
        {
            Console.WriteLine("name, input and output filename expected");
            return(-1);
        }
    }
示例#3
0
    public static void Main(string[] args)
    {
        if (args.Length == 3)
        {
            var name   = args[0];
            var input  = args[1];
            var output = args[2];

            var scanner = new coco.Scanner(input);
            var parser  = new coco.Parser(scanner);
            var worker  = new ast.Worker(parser);

            parser.worker = worker;
            parser.Parse();

            var builder = new Builder(parser);
            builder.WriteAssembly(name, output, worker.Root);

            Console.WriteLine(parser.errors.count + " errors detected");
        }
        else
        {
            Console.WriteLine("name, input and output filename expected");
        }
    }
示例#4
0
 public Builder(coco.Parser parser)
 {
     this.parser = parser;
 }
示例#5
0
文件: Old.cs 项目: knapiontek/therion
 public Builder(coco.Parser parser)
 {
     this.parser = parser;
     html        = new HTML();
     js          = new JavaScript();
 }