read(string) → expression
The subroutine read takes a string as argument and returns as value the internal representation of the first Epilog expression in the specified string. In the event of a syntactically illegal string, it returns error.
Call: read('a')
Exit: a
Call: read('X')
Exit: X
Call: read('p(a,f(b),c)')
Exit: ["p","a",["f","b"],"c"]
Call: read('p(a,b) p(b,c)')
Exit: ["p","a","b"]
Call: read('p(a ~& q')
Exit: error
Note that read parses only the first expression in the string. It ignores all text thereafter.
Call: read('p(a,b) p(b,c)')
Exit: ["p","a","b"]
Call: read('p(a,b) )a ~& q')
Exit: ["p","a","b"]
Note also that every occurrence of the anonymous variable _ parses as a variable beginning with _ and followed by a unique natural number.
Call: read('p(a,_,_,d)')
Exit: ["p","a","_1","_2","b"]
|