document lineutils library
This commit is contained in:
parent
ff75b8ff85
commit
6062b1c738
124
docs/yap.tex
124
docs/yap.tex
|
@ -197,6 +197,7 @@ Subnodes of Library
|
||||||
* AVL Trees:: Predicates to add and lookup balanced binary trees.
|
* AVL Trees:: Predicates to add and lookup balanced binary trees.
|
||||||
* Heaps:: Labelled binary tree where the key of each node is less
|
* Heaps:: Labelled binary tree where the key of each node is less
|
||||||
than or equal to the keys of its children.
|
than or equal to the keys of its children.
|
||||||
|
* LineUtilities:: Line Manipulation Utilities
|
||||||
* Lists:: List Manipulation
|
* Lists:: List Manipulation
|
||||||
* matrix:: Matrix Objects
|
* matrix:: Matrix Objects
|
||||||
* MATLAB:: Matlab Interface
|
* MATLAB:: Matlab Interface
|
||||||
|
@ -8037,6 +8038,7 @@ Library, Extensions, Built-ins, Top
|
||||||
than or equal to the keys of its children.
|
than or equal to the keys of its children.
|
||||||
* LAM:: LAM MPI
|
* LAM:: LAM MPI
|
||||||
* Lists:: List Manipulation
|
* Lists:: List Manipulation
|
||||||
|
* LineUtilities:: Line Manipulation Utilities
|
||||||
* matrix:: Matrix Objects
|
* matrix:: Matrix Objects
|
||||||
* MATLAB:: Matlab Interface
|
* MATLAB:: Matlab Interface
|
||||||
* Non-Backtrackable Data Structures:: Queues, Heaps, and Beams.
|
* Non-Backtrackable Data Structures:: Queues, Heaps, and Beams.
|
||||||
|
@ -8509,7 +8511,7 @@ Returns the smallest (Key1) and second smallest (Key2) pairs in the
|
||||||
heap, without deleting them.
|
heap, without deleting them.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Lists, matrix, Heaps, Library
|
@node Lists, LineUtilities, Heaps, Library
|
||||||
@section List Manipulation
|
@section List Manipulation
|
||||||
@cindex list manipulation
|
@cindex list manipulation
|
||||||
|
|
||||||
|
@ -8745,7 +8747,125 @@ also @code{between/3}.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node matrix, MATLAB, Lists, Library
|
@node LineUtilities, matrix, Lists, Library
|
||||||
|
@section Line Manipulation Utilities
|
||||||
|
@cindex Line Utilities Library
|
||||||
|
|
||||||
|
This package provides a set of useful predicates to manipulate
|
||||||
|
sequences of characters codes, usually first read in as a line. It is
|
||||||
|
avalailable by loading the library @code{library(lineutils)}.
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
|
||||||
|
@item search_for(+@var{Char},+@var{Line})
|
||||||
|
@findex search_for/2
|
||||||
|
@snindex search_for/2
|
||||||
|
@cnindex search_for/2
|
||||||
|
|
||||||
|
Search for a character @var{Char} in the list of codes @var{Line}.
|
||||||
|
|
||||||
|
@item search_for(+@var{Char},+@var{Line})
|
||||||
|
@findex search_for/2
|
||||||
|
@snindex search_for/2
|
||||||
|
@cnindex search_for/2
|
||||||
|
|
||||||
|
Search for a character @var{Char} in the list of codes @var{Line}.
|
||||||
|
|
||||||
|
@item search_for(+@var{Char},+@var{Line},-@var{RestOfine})
|
||||||
|
@findex search_for/2
|
||||||
|
@snindex search_for/2
|
||||||
|
@cnindex search_for/2
|
||||||
|
|
||||||
|
Search for a character @var{Char} in the list of codes @var{Line},
|
||||||
|
@var{RestOfLine} has the line to the right.
|
||||||
|
|
||||||
|
@item scan_natural(?@var{Nat},+@var{Line},+@var{RestOfLine})
|
||||||
|
@findex scan_natural/3
|
||||||
|
@snindex scan_natural/3
|
||||||
|
@cnindex scan_natural/3
|
||||||
|
|
||||||
|
Scan the list of codes @var{Line} for a natural number @var{Nat}, zero
|
||||||
|
or a positive integer, and unify @var{RestOfLine} with the remainder
|
||||||
|
of the line.
|
||||||
|
|
||||||
|
@item scan_integer(?@var{Int},+@var{Line},+@var{RestOfLine})
|
||||||
|
@findex scan_integer/3
|
||||||
|
@snindex scan_integer/3
|
||||||
|
@cnindex scan_integer/3
|
||||||
|
|
||||||
|
Scan the list of codes @var{Line} for an integer @var{Nat}, either a
|
||||||
|
positive, zero, or negative integer, and unify @var{RestOfLine} with
|
||||||
|
the remainder of the line.
|
||||||
|
|
||||||
|
@item split(+@var{Line},+@var{Separators},-@var{Split})
|
||||||
|
@findex split/3
|
||||||
|
@snindex split/3
|
||||||
|
@cnindex split/3
|
||||||
|
|
||||||
|
Unify @var{Words} with a set of strings obtained from @var{Line} by
|
||||||
|
using the character codes in @var{Separators} as separators. As an
|
||||||
|
example, consider:
|
||||||
|
@example
|
||||||
|
?- split("Hello * I am free"," *",S).
|
||||||
|
|
||||||
|
S = ["Hello","I","am","free"] ?
|
||||||
|
|
||||||
|
no
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@item glue(+@var{Words},+@var{Separator},-@var{Line})
|
||||||
|
@findex glue/3
|
||||||
|
@snindex glue/3
|
||||||
|
@cnindex glue/3
|
||||||
|
|
||||||
|
Unify @var{Line} with string obtained by glueing @var{Words} with
|
||||||
|
the character code @var{Separator}.
|
||||||
|
|
||||||
|
@item copy_line(+@var{StreamInput},+@var{StreamOutput})
|
||||||
|
@findex copy_line/2
|
||||||
|
@snindex copy_line/2
|
||||||
|
@cnindex copy_line/2
|
||||||
|
|
||||||
|
Copy a line from @var{StreamInput} to @var{StreamOutput}.
|
||||||
|
|
||||||
|
@item copy_line(+@var{StreamInput},+@var{StreamOutput})
|
||||||
|
@findex copy_line/2
|
||||||
|
@snindex copy_line/2
|
||||||
|
@cnindex copy_line/2
|
||||||
|
|
||||||
|
Copy a line from @var{StreamInput} to @var{StreamOutput}.
|
||||||
|
|
||||||
|
@item process(+@var{StreamInp}, +@var{Goal})
|
||||||
|
@findex process/2
|
||||||
|
@snindex process/2
|
||||||
|
@cnindex process/2
|
||||||
|
|
||||||
|
For every line @var{LineIn} in stream @var{StreamInp}, call
|
||||||
|
@code{call(Goal,LineIn)}.
|
||||||
|
|
||||||
|
@item filter(+@var{StreamInp}, +@var{StreamOut}, +@var{Goal})
|
||||||
|
@findex filter/3
|
||||||
|
@snindex filter/3
|
||||||
|
@cnindex filter/3
|
||||||
|
|
||||||
|
For every line @var{LineIn} in stream @var{StreamInp}, execute
|
||||||
|
@code{call(Goal,LineIn,LineOut)}, and output @var{LineOut} to
|
||||||
|
stream @var{StreamOut}.
|
||||||
|
|
||||||
|
@item file_filter(+@var{FileIn}, +@var{FileOut}, +@var{Goal})
|
||||||
|
@findex filter/3
|
||||||
|
@snindex filter/3
|
||||||
|
@cnindex filter/3
|
||||||
|
|
||||||
|
For every line @var{LineIn} in file @var{FileIn}, execute
|
||||||
|
@code{call(Goal,LineIn,LineOut)}, and output @var{LineOut} to file
|
||||||
|
@var{FileOut}.
|
||||||
|
|
||||||
|
@end table
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@node matrix, MATLAB, LineUtilities, Library
|
||||||
@section Matrix Library
|
@section Matrix Library
|
||||||
@cindex Matrix Library
|
@cindex Matrix Library
|
||||||
|
|
||||||
|
|
Reference in New Issue