public override TiposBases ValidateSemantic() { var identificador = Operando.ValidateSemantic(); var tipo = new YreferenciaTipo(); tipo.tipoReferencia = identificador; return(tipo); }
public override TiposBases ValidateSemantic() { var expresion = Operando.ValidateSemantic(); if (expresion is BooleanTipo) { return(new BooleanTipo()); } throw new SemanticoException("La expresion debe ser booleana" + Operando._TOKEN.Fila + " columna " + Operando._TOKEN.Columna); }
public override TiposBases ValidateSemantic() { var operador = Operando.ValidateSemantic(); if (operador is IntTipo || operador is CharTipo) { return(new IntTipo()); } throw new Sintactico.SintanticoException(" no se puede negar el tipo " + operador + " " + Operando._TOKEN.Fila + " columna " + Operando._TOKEN.Columna); }
public override TiposBases ValidateSemantic() { var expresion = Operando.ValidateSemantic(); if (expresion is IntTipo || expresion is FloatTipo) { return(expresion); } throw new SemanticoException("se esperaba un literal numerica " + Operando._TOKEN.Fila + " columna " + Operando._TOKEN.Columna); }
public override TiposBases ValidateSemantic() { var expresion = Operando.ValidateSemantic(); if (expresion is StructTipo || expresion is ConstTipo || expresion is BooleanTipo || expresion is EnumTipo) { throw new Sintactico.SintanticoException("este tipo no puede incrementarse" + Operando._TOKEN.Fila + " columna " + Operando._TOKEN.Columna); } return(expresion); }
public override TiposBases ValidateSemantic() { var expresion = Operando.ValidateSemantic(); if (!(Operando is IdentificadorNode)) throw new SemanticoException("no se puede autoIncrementarLiterales literales fila " + _TOKEN.Fila + " columna " + _TOKEN.Columna); if (expresion is FloatTipo || expresion is IntTipo || expresion is CharTipo || expresion is EnumTipo) return expresion; throw new Sintactico.SintanticoException("este tipo no puede decrementarse fila" + Operando._TOKEN.Fila + " columna " + Operando._TOKEN.Columna); }
public override TiposBases ValidateSemantic() { var operador = Operando.ValidateSemantic(); return(operador); }