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

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

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