public virtual void Compile(StreamReader input, BytecodeStream output)
        {
            var scanner = new Scanner(input);
            var builder = new ProgramNodeBuilder();
            var parser  = new Parser();

            parser.Parse(scanner, builder);

            var generator = new RiscCodeGenerator(output);
            var parseTree = builder.GetRootNode();

            parseTree.Traverse(generator);
        }
 public void Parse(Scanner scanner, ProgramNodeBuilder builder)
 {
 }