Beispiel #1
0
 public abstract void Compile(sunCompiler compiler, sunStorableSymbol symbol);
Beispiel #2
0
 public override void CompileSet(sunCompiler compiler)
 {
     // checks against this have to be implemented at a higher level
     throw new InvalidOperationException();
 }
Beispiel #3
0
        public override void Compile(sunCompiler compiler)
        {
            var operatorStack = new Stack <sunOperator>(32);

            CompileExpression(compiler, this, operatorStack);
        }
Beispiel #4
0
 public override void CompileDec(sunCompiler compiler)
 {
     OpenRelocation(new sunVariableDecSite(compiler.Binary, this));
 }
Beispiel #5
0
 public override void CompileGet(sunCompiler compiler)
 {
     mExpression.Compile(compiler);
 }
Beispiel #6
0
 public virtual void CompileInc(sunCompiler compiler)
 {
     CompileGet(compiler);
     compiler.Binary.WriteINT(1);
     compiler.Binary.WriteADD();
 }
Beispiel #7
0
 public virtual void CompileDec(sunCompiler compiler)
 {
     CompileGet(compiler);
     compiler.Binary.WriteINT(1);
     compiler.Binary.WriteSUB();
 }
Beispiel #8
0
 public override void Compile(sunCompiler compiler)
 {
     CompileGet(compiler);
 }
Beispiel #9
0
 public abstract void CompileSet(sunCompiler compiler);
Beispiel #10
0
 public override void Compile(sunCompiler compiler)
 {
     // don't compile builtins
     ++mCompiles;
 }
Beispiel #11
0
 public override sunRelocation CreateCallSite(sunCompiler compiler, int argCount)
 {
     return(new sunFunctionCallSite(compiler.Binary, this, argCount));
 }
Beispiel #12
0
 public abstract sunRelocation CreateCallSite(sunCompiler compiler, int argCount);
Beispiel #13
0
        public override void Compile(sunCompiler compiler)
        {
            var index = compiler.Context.DataTable.Add(Value);

            compiler.Binary.WriteSTR(index);
        }
Beispiel #14
0
 public override void Compile(sunCompiler compiler)
 {
     compiler.Binary.WriteADR(Value);
 }
Beispiel #15
0
 public override void Compile(sunCompiler compiler)
 {
     compiler.Binary.WriteBAND();
 }
Beispiel #16
0
 public virtual void Compile(sunCompiler compiler, sunStorableSymbol symbol, sunExpression expression)
 {
     expression.Compile(compiler);
     symbol.CompileSet(compiler);
 }