12.4. Reading

12.4.1. Reading Gamma Expressions

Any valid Gamma expression can be read by the Gamma reader using the function read. The read function will read from the current location in a file, skipping over comments, until it encounters a character which could be the beginning of a Gamma expression. The reader then constructs the shortest possible complete expression from the input and returns that. A complete Gamma expression may be as simple as a number, or as complex as a complete function definition or complex data object. The reader ignores white space, except as a token separator. It may be interesting to note that the entire Gamma mainline is essentially just a simple loop:

while ((exp = read (input_file)) != _eof_) eval (exp);