code: public static Value freadval(Value fval, Context ctxt)
  	{
  		ValueList result = new ValueList();
  
  		try
  		{
  			File file = getFile(fval);
  
  			LexTokenReader ltr = new LexTokenReader(file, Dialect.VDM_PP, VDMJ.filecharset);
  			ExpressionReader reader = new ExpressionReader(ltr);
  			reader.setCurrentModule("IO");
  			PExp exp = reader.readExpression();
  
  			Interpreter ip = Interpreter.getInstance();
  			ip.typeCheck(exp, ip.getGlobalEnvironment());
  			result.add(new BooleanValue(true));
  			result.add(exp.apply(VdmRuntime.getExpressionEvaluator(), ctxt));
  		} catch (Exception e)
  		{
  			lastError = e.toString();
  			result = new ValueList();
  			result.add(new BooleanValue(false));
  			result.add(new NilValue());
  		}
  
  		return new TupleValue(result);
  	}
docs: reading the data.