Author(s): First versions from SICStus 0.6 code; additional changes and documentation by Daniel Cabeza and Manuel Carro.
Version: 1.10#7 (2006/4/26, 19:22:13 CEST)
Version of last change: 1.9#289 (2004/2/13, 19:46:27 CET)
This module provides falicities to read terms in Prolog syntax. This is very convenient in many cases (and not only if you are writing a Prolog compiler), because Prolog terms are easy to write and can convey a lot of information in a human-readable fashion.
read)read)
read(Term)
Like read(Stream,Term) with Stream associated to the current input stream.
Usage: read(+Stream, ?Term)
* ISO *
. followed by either a space or a control character), is read from Stream and is unified with Term. The syntax of the term must agree with current operator declarations. If the end of Stream has been reached, Term is unified with the term end_of_file. Further calls to read/2 for the same stream will then cause an error, unless the stream is connected to the terminal (in which case a prompt is opened on the terminal).
+Stream is an open stream.
(streams_basic:stream/1)
?Term is any term.
(basic_props:term/1)
Usage: read_term(?Term, +Options)
* ISO *
Usage: read_term(+Stream, ?Term, +Options)
* ISO *
Term from Stream with the ISO-Prolog Options. These options can control the behavior of read term (see
read_option/1).
+Stream is an open stream.
(streams_basic:stream/1)
?Term is any term.
(basic_props:term/1)
+Options is a list of read_options.
(basic_props:list/2)
read_top_level(Stream, Data, Variables)
Predicate used to read in the Top Level.
Usage: second_prompt(?Old, ?New)
read/2 and friends to New, and returns the current one in Old.
?Old is currently instantiated to an atom.
(term_typing:atom/1)
?New is currently instantiated to an atom.
(term_typing:atom/1)
read)Defines flags as follows:
define_flag(read_hiord,[on,off],off).
(See section Changing system behaviour and various flags).
If flag is on (it is off by default), a variable followed by a parenthesized lists of arguments is read as a
call/N term, except if the variable is anonymous, in which case it is read as an anonymous predicate abstraction head. For example, P(X) is read as call(P,X) and _(X,Y) as "(X,Y).
The predicate is multifile.
read)
Usage: read_option(Option)
Option is an allowed
read_term/[2,3] option. These options are:
read_option(variables(_V)). read_option(variable_names(_N)). read_option(singletons(_S)). read_option(lines(_StartLine,_EndLine)). read_option(dictionary(_Dict)).They can be used to return the singleton variables in the term, a list of variables, etc.
Option is currently instantiated to an atom.
(term_typing:atom/1)
read)Go to the first, previous, next, last section, table of contents.