예제 #1
0
 public CompilerNode(CompilerNode owner)
 {
     if (owner == null && !(this is ModuleNode))
     {
         throw new Exception("Owner cannot be null");
     }
     this.Owner = owner;
 }
예제 #2
0
 public DeclarationNode(CompilerNode owner) : base(owner)
 {
     if (owner is BlockNode)
     {
         ((BlockNode)owner).declarations.Add(this);
     }
     else
     if (owner is ParameterNode)
     {
         ((ParameterNode)owner).decl = this;
     }
     else
     {
         throw new Exception("Invalid owner");
     }
 }
 public StackAssignmentNode(CompilerNode owner) : base(owner)
 {
 }
예제 #4
0
 public CallNode(CompilerNode owner) : base(owner)
 {
 }
예제 #5
0
 public TypeNode(CompilerNode owner, TypeKind kind) : base(owner)
 {
     this.Kind = kind;
 }
예제 #6
0
 public ReturnNode(CompilerNode owner) : base(owner)
 {
 }
 public UnaryExpressionNode(CompilerNode owner) : base(owner)
 {
 }
        public DeclarationNode declaration; // can resolved later

        public VariableExpressionNode(CompilerNode owner) : base(owner)
        {
        }
예제 #9
0
 public ExitNode(CompilerNode owner) : base(owner)
 {
 }
예제 #10
0
 public StatementNode(CompilerNode owner) : base(owner)
 {
 }
 public LiteralExpressionNode(CompilerNode owner) : base(owner)
 {
 }
예제 #12
0
 public BlockNode(CompilerNode owner) : base(owner)
 {
 }