private static string ToString(Variable parameter, Compiler.CodeModel.SymbolTable table) { var name = parameter.ToString(); if (parameter.IsLiteral) return name; var found = table.GetVariable(new Compiler.CodeElements.Expressions.URI(name)); if (found.Count < 1) return "?NOT_FOUND?"; // if (found.Count > 1) return "?AMBIGUOUS?"; var data = found[0] as Compiler.Nodes.DataDescription; if (data.DataType == DataType.Boolean) name += "-value"; return name; }
public ConditionOperand(Variable variable) : base(ExpressionNodeType.ConditionOperand) { Variable = variable; }
internal Variable CreateVariableOrIndex(CodeElementsParser.VariableOrIndexContext context) { Variable variable = null; if(context.identifierOrIndexName() != null) { variable = new Variable( CreateIdentifierOrIndexName(context.identifierOrIndexName())); } else if (context.numericValue() != null) { variable = new Variable( CobolWordsBuilder.CreateNumericValue(context.numericValue())); } else if (context.alphanumericValue2() != null) { variable = new Variable( CobolWordsBuilder.CreateAlphanumericValue(context.alphanumericValue2())); } else { variable = new Variable( CobolWordsBuilder.CreateRepeatedCharacterValue(context.repeatedCharacterValue2())); } // Collect storage area read/writes at the code element level if (variable.StorageArea != null) { this.storageAreaReads.Add(variable.StorageArea); } return variable; }
internal Variable CreateVariable(CodeElementsParser.Variable5Context context) { Variable variable = null; if (context.dataNameReference() != null) { SymbolReference dataNameReference = CobolWordsBuilder.CreateDataNameReference(context.dataNameReference()); StorageArea storageArea = new DataOrConditionStorageArea(dataNameReference); variable = new Variable(storageArea); } else if (context.numericValue() != null) { variable = new Variable( CobolWordsBuilder.CreateNumericValue(context.numericValue())); } else { variable = new Variable( CobolWordsBuilder.CreateAlphanumericValue(context.alphanumericValue3())); } // Collect storage area read/writes at the code element level if (variable.StorageArea != null) { this.storageAreaReads.Add(variable.StorageArea); } return variable; }
internal Variable CreateVariable([NotNull] CodeElementsParser.Variable4Context context) { Variable variable = null; if (context.identifier() != null) { StorageArea storageArea = CreateIdentifier(context.identifier()); variable = new Variable(storageArea); } else if (context.numericValue() != null) { variable = new Variable( CobolWordsBuilder.CreateNumericValue(context.numericValue())); } else if (context.alphanumericValue3() != null) { variable = new Variable( CobolWordsBuilder.CreateAlphanumericValue(context.alphanumericValue3())); } else { variable = null; } // Collect storage area read/writes at the code element level if (variable != null && variable.StorageArea != null) { this.storageAreaReads.Add(variable.StorageArea); } return variable; }
internal Variable CreateVariable(CodeElementsParser.Variable1Context context) { if (context == null) return null; StorageArea storageArea = CreateIdentifier(context.identifier()); var variable = new Variable(storageArea); // Collect storage area read/writes at the code element level this.storageAreaReads.Add(storageArea); return variable; }