internal Symbol DefineLocal(Identifier i)
        {
            Symbol s = this.mScope.GetSymbol(i.Name);

            if (s != null)
                return s;

            VariableSymbol v = new VariableSymbol(i.Name, typeof(float));
            v.Local = this.CheckOutLocal(typeof(float));
            this.mGlobal.AddSymbol(v);
            this.mAutoVars.Add(v);

            return v;
        }
 public CastExpression(Expression expression, Identifier type)
 {
     this.Expression = expression;
     this.TypeIdentifier = type;
 }
 public DataInvokationExpression(Expression target, Identifier member)
 {
     this.Target = target;
     this.Member = member;
 }
        public CallExpression(Identifier name, List<Expression> arguments)
        {
            this.Name = name;

            if (arguments == null)
                throw new ArgumentNullException("arguments");

            this.mArguments = arguments;
        }
        public CallInvokationExpression(Expression target, Identifier name,
		                                IEnumerable<Expression> arguments)
        {
            this.Target = target;
            this.Name = name;

            if (arguments == null)
                throw new ArgumentNullException("arguments");

            this.mArguments = new List<Expression>(arguments);
        }
        public VariableDeclaration(Identifier type, Identifier lvalue,
		                           Expression rvalue)
            : base(new IdentifierExpression(lvalue), rvalue)
        {
            this.Type = type;
        }
 public PersistentVariableDeclaration(Identifier type, Identifier name)
 {
     this.Type = type;
     this.Name = name;
 }
 public LateBoundDataInvokationExpression(Expression target, Identifier member)
     : base(target, member)
 {
 }
        public LateBoundCallInvokationExpression(Expression target, Identifier name,
		                                         IEnumerable<Expression> arguments)
            : base(target, name, arguments)
        {
        }
示例#10
0
 public IdentifierExpression(Identifier identifier)
 {
     this.Identifier = identifier;
 }