コード例 #1
0
        private static void Expl1()
        {
            var mrt = new Component(0x6400000);

db:
            {
                var var      = @"space ac{
                        class AV{
                                System.int g;
                                constructor AV(){g=4;int y=M(2);}
                                function int M(int a){int l; if(a>0) l=a+M(a-1);else l= a; return l;}
                            }
                        }";
                var symentic = new Symentic();
                var typeCalc = new TypeCalc();
                var d        = new Assembly("MV");
                var lexical  = new Lexical(d, mrt.Cache.Cache);
                var builder  = new Pile(var);
                var compile  = new Compile(var);
                var parser   = new Parser(builder);
                var system   = new Classes.Compile.System(compile, symentic, lexical, parser, typeCalc, d, mrt);

                system.Lexical.StreamWriter.Reserve(8 * 6);
                if (!system.Compile.Excecute())
                {
                    goto db;
                }

                var e_ = 25635;
                mrt.Process.Execute(new InitialProcessData(6, e_, e_ * 3, e_ * 2, e_ * 4, 0));
                system.Assembly["ac"].Types.Clear();
            }
        }
コード例 #2
0
 public System(Compile compile, Symentic symentic, Lexical lexical, Parser parser, TypeCalc typeCalc, Assembly assembly, Component mrt)
 {
     Compile         = compile;
     Symentic        = symentic;
     Lexical         = lexical;
     Parser          = parser;
     this.TypeCalc   = typeCalc;
     compile.System  = this;
     symentic.System = this;
     lexical.System  = this;
     parser.System   = this;
     typeCalc.System = this;
     this.Assembly   = assembly;
 }