Пример #1
0
 public BinaryExpressionAst(ExpressionAst leftExp, ExpressionAst rightExp, string op)
 {
     Operator     = GetOperator(op);
     LeftExp      = leftExp;
     RightExp     = rightExp;
     AlwaysReturn = true;
 }
Пример #2
0
 public AssignExpressionAST(LHSExpressionAST leftExp, ExpressionAst rightExp, int line, int col)
     : base(line, col)
 {
     LeftExpression  = leftExp;
     RightExpression = rightExp;
     ReturnType      = TigerType.GetType <NoType>();
 }
Пример #3
0
 public FunctionDeclarationAST(string id, FormalParameterList parameterList,
                               ExpressionAst exprInstructions,
                               string retType)
     : this(id, parameterList, exprInstructions)
 {
     ReturnTypeId = retType;
 }
Пример #4
0
 public IfExpressionAST(ExpressionAst expCondition, ExpressionAst expThen,
                        ExpressionAst expElse)
     : this(expCondition, expThen)
 {
     ExpressionElse = expElse;
     ExpConditional = expCondition;
     ExpressionThen = expThen;
 }
Пример #5
0
        public ForExpressionAST(string id, ExpressionAst expFrom, ExpressionAst expTo, ExpressionAst expInstruction)
            : base(expInstruction)
        {
            VarId          = id;
            ExpressionFrom = expFrom;
            ExpressionTo   = expTo;

            AlwaysReturn = false;
        }
Пример #6
0
 private FunctionDeclarationAST(string id, FormalParameterList parameterList,
                                ExpressionAst exprInstructions)
 {
     FunctionId          = id;
     FormalParameterList = parameterList;
     ParameterList       = (parameterList ?? new FormalParameterList())
                           .Parameters
                           .Select(x => new KeyValuePair <string, string>(x.Name, x.TypeIdentifier)).ToList();
     ExprInstructions = exprInstructions;
     ReturnType       = TigerType.GetType <NoType>();
 }
Пример #7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="fieldId">El campo al cual se accede</param>
 /// <param name="exp">La expresion que representa a la instancia del record</param>
 /// <param name="line">Linea correspondiente en el codigo</param>
 /// <param name="col">Columna correspondiente en el codigo</param>
 public RecordAccessAST(string fieldId, ExpressionAst exp)
 {
     FieldId          = fieldId;
     ExpressionRecord = exp;
 }
Пример #8
0
 /// <summary>
 /// Cdo el tipo es inferido
 /// </summary>
 /// <param name="id">El id de la variable</param>
 /// <param name="expValue">La expresion que define el valor de la variable</param>
 public VarDeclarationAST(string id, ExpressionAst expValue)
 {
     Id = id;
     ExpressionValue = expValue;
 }
Пример #9
0
 /// <summary>
 /// </summary>
 /// <param name="id">El id de la variable</param>
 /// <param name="typeId">El nombre del tipo de la variable</param>
 /// <param name="expValue">La expresion que define el valor de la variable</param>
 /// <param name="line">Linea correspondiente en el codigo</param>
 /// <param name="col">Columna correspondiente en el codigo</param>
 public VarDeclarationAST(string id, string typeId, ExpressionAst expValue)
 {
     TypeId          = typeId;
     Id              = id;
     ExpressionValue = expValue;
 }
Пример #10
0
 /// <summary>
 /// Asigna lo que es comun para todos.
 /// </summary>
 /// <param name="bodyExpressions">La expression del cuerpo del ciclo</param>
 /// <param name="line">Linea correspondiente en el codigo</param>
 /// <param name="col">Columna correspondiente en el codigo</param>
 protected LoopAST(ExpressionAst bodyExpressions)
 {
     BreakPos        = new List <int>();
     BodyExpressions = bodyExpressions;
     AlwaysReturn    = false;
 }
Пример #11
0
 public ArrayAccessAST(ExpressionAst array, ExpressionAst indexer)
 {
     this.array   = array;
     this.indexer = indexer;
 }
Пример #12
0
 public FieldInstance(string name, ExpressionAst value)
 {
     Name  = name;
     Value = Value;
 }
Пример #13
0
 public AssignExpressionAST(LHSExpressionAST leftExp, ExpressionAst rightExp)
 {
     LeftExpression  = leftExp;
     RightExpression = rightExp;
     ReturnType      = TigerType.GetType <NoType>();
 }
Пример #14
0
 public IfExpressionAST(ExpressionAst expCondition, ExpressionAst expThen)
 {
     ExpConditional = expCondition;
     ExpressionThen = expThen;
 }
Пример #15
0
 public WhileExpressionAST(ExpressionAst expCondition, ExpressionAst expInstruction) :
     base(expInstruction)
 {
     ExpressionConditional = expCondition;
 }
Пример #16
0
 public NegExpressionAST(ExpressionAst exp)
     : base(exp)
 {
     AlwaysReturn = true;
 }