Merge branch 'master' of yap.dcc.fc.up.pt:yap-6
This commit is contained in:
commit
1029828775
20
C/scanner.c
20
C/scanner.c
@ -548,17 +548,15 @@ get_num(int *chp, int *chbuffp, int inp_stream, int (*Nxtch) (int), int (*Quoted
|
|||||||
}
|
}
|
||||||
*chp = ch;
|
*chp = ch;
|
||||||
}
|
}
|
||||||
else if ((ch == 'o') && base == 0) {
|
else if ((ch == 'o' || ch == 'O') && base == 0) {
|
||||||
might_be_float = FALSE;
|
might_be_float = FALSE;
|
||||||
base = 8;
|
base = 8;
|
||||||
if (--max_size == 0) {
|
ch = Nxtch(inp_stream);
|
||||||
Yap_ErrorMessage = "Number Too Long";
|
} else if ((ch == 'b' || ch == 'B') && base == 0) {
|
||||||
return (TermNil);
|
might_be_float = FALSE;
|
||||||
}
|
base = 2;
|
||||||
*sp++ = ch;
|
ch = Nxtch(inp_stream);
|
||||||
*chp = Nxtch(inp_stream);
|
} else {
|
||||||
}
|
|
||||||
else {
|
|
||||||
val = base;
|
val = base;
|
||||||
base = 10;
|
base = 10;
|
||||||
}
|
}
|
||||||
@ -666,6 +664,10 @@ get_num(int *chp, int *chbuffp, int inp_stream, int (*Nxtch) (int), int (*Quoted
|
|||||||
*chp = ch;
|
*chp = ch;
|
||||||
if (s[0] == '0' && (s[1] == 'x' || s[1] == 'X'))
|
if (s[0] == '0' && (s[1] == 'x' || s[1] == 'X'))
|
||||||
return read_int_overflow(s+2,16,val,sign);
|
return read_int_overflow(s+2,16,val,sign);
|
||||||
|
else if (s[0] == '0' && (s[1] == 'o' || s[1] == 'O'))
|
||||||
|
return read_int_overflow(s+2,8,val,sign);
|
||||||
|
else if (s[0] == '0' && (s[1] == 'b' || s[1] == 'B'))
|
||||||
|
return read_int_overflow(s+2,2,val,sign);
|
||||||
if (s[1] == '\'')
|
if (s[1] == '\'')
|
||||||
return read_int_overflow(s+2,base,val,sign);
|
return read_int_overflow(s+2,base,val,sign);
|
||||||
if (s[2] == '\'')
|
if (s[2] == '\'')
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
|
|
||||||
|
/* This file, dglobals.h, was generated automatically by "yap -L misc/buildheap"
|
||||||
|
please do not update, update misc/GLOBALS instead */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
|
|
||||||
|
/* This file, dhstruct.h, was generated automatically by "yap -L misc/buildheap"
|
||||||
|
please do not update, update misc/HEAPFIELDS instead */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
|
|
||||||
|
/* This file, hglobals.h, was generated automatically by "yap -L misc/buildheap"
|
||||||
|
please do not update, update misc/GLOBALS instead */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
|
|
||||||
|
/* This file, hstruct.h, was generated automatically by "yap -L misc/buildheap"
|
||||||
|
please do not update, update misc/HEAPFIELDS instead */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
|
||||||
|
/* This file, iatoms.h, was generated automatically by "yap -L misc/buildatoms"
|
||||||
|
please do not update, update misc/ATOMS instead */
|
||||||
|
|
||||||
Atom3Dots = Yap_LookupAtom("...");
|
Atom3Dots = Yap_LookupAtom("...");
|
||||||
AtomAbol = Yap_FullLookupAtom("$abol");
|
AtomAbol = Yap_FullLookupAtom("$abol");
|
||||||
AtomAccess = Yap_LookupAtom("access");
|
AtomAccess = Yap_LookupAtom("access");
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
|
|
||||||
|
/* This file, iglobals.h, was generated automatically by "yap -L misc/buildheap"
|
||||||
|
please do not update, update misc/GLOBALS instead */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
|
|
||||||
|
/* This file, ihstruct.h, was generated automatically by "yap -L misc/buildheap"
|
||||||
|
please do not update, update misc/HEAPFIELDS instead */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
|
||||||
|
/* This file, ratoms.h, was generated automatically by "yap -L misc/buildatoms"
|
||||||
|
please do not update, update misc/ATOMS instead */
|
||||||
|
|
||||||
Atom3Dots = AtomAdjust(Atom3Dots);
|
Atom3Dots = AtomAdjust(Atom3Dots);
|
||||||
AtomAbol = AtomAdjust(AtomAbol);
|
AtomAbol = AtomAdjust(AtomAbol);
|
||||||
AtomAccess = AtomAdjust(AtomAccess);
|
AtomAccess = AtomAdjust(AtomAccess);
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
|
|
||||||
|
/* This file, rglobals.h, was generated automatically by "yap -L misc/buildheap"
|
||||||
|
please do not update, update misc/GLOBALS instead */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
|
|
||||||
|
/* This file, rhstruct.h, was generated automatically by "yap -L misc/buildheap"
|
||||||
|
please do not update, update misc/HEAPFIELDS instead */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
|
||||||
|
/* This file, tatoms.h, was generated automatically by "yap -L misc/buildatoms"
|
||||||
|
please do not update, update misc/ATOMS instead */
|
||||||
|
|
||||||
Atom Atom3Dots_;
|
Atom Atom3Dots_;
|
||||||
#define Atom3Dots Yap_heap_regs->Atom3Dots_
|
#define Atom3Dots Yap_heap_regs->Atom3Dots_
|
||||||
Atom AtomAbol_;
|
Atom AtomAbol_;
|
||||||
|
16
docs/yap.tex
16
docs/yap.tex
@ -9113,14 +9113,24 @@ For every line @var{LineIn} in stream @var{StreamInp}, execute
|
|||||||
stream @var{StreamOut}.
|
stream @var{StreamOut}.
|
||||||
|
|
||||||
@item file_filter(+@var{FileIn}, +@var{FileOut}, +@var{Goal})
|
@item file_filter(+@var{FileIn}, +@var{FileOut}, +@var{Goal})
|
||||||
@findex filter/3
|
@findex file_filter/3
|
||||||
@snindex filter/3
|
@snindex file_filter/3
|
||||||
@cnindex filter/3
|
@cnindex file_filter/3
|
||||||
|
|
||||||
For every line @var{LineIn} in file @var{FileIn}, execute
|
For every line @var{LineIn} in file @var{FileIn}, execute
|
||||||
@code{call(Goal,LineIn,LineOut)}, and output @var{LineOut} to file
|
@code{call(Goal,LineIn,LineOut)}, and output @var{LineOut} to file
|
||||||
@var{FileOut}.
|
@var{FileOut}.
|
||||||
|
|
||||||
|
@item file_filter(+@var{FileIn}, +@var{FileOut}, +@var{Goal},
|
||||||
|
+@var{FormatCommand}, +@var{Arguments})
|
||||||
|
@findex file_filter_with_init/5
|
||||||
|
@snindex file_filter_with_init/5
|
||||||
|
@cnindex file_filter_with_init/5
|
||||||
|
|
||||||
|
Same as @code{file_filter/3}, but before starting the filter execute
|
||||||
|
@code{format/3} on the output stream, using @var{FormatCommand} and
|
||||||
|
@var{Arguments}.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,10 +11,11 @@
|
|||||||
copy_line/2,
|
copy_line/2,
|
||||||
filter/3,
|
filter/3,
|
||||||
file_filter/3,
|
file_filter/3,
|
||||||
|
file_filter_with_init/5,
|
||||||
process/2
|
process/2
|
||||||
]).
|
]).
|
||||||
|
|
||||||
:- meta_predicate filter(+,+,:), file_filter(+,+,:), process(+,:).
|
:- meta_predicate filter(+,+,:), file_filter(+,+,:), file_filter_with_init(+,+,:,+,:), process(+,:).
|
||||||
|
|
||||||
:- use_module(library(lists),
|
:- use_module(library(lists),
|
||||||
[member/2,
|
[member/2,
|
||||||
@ -137,4 +138,12 @@ file_filter(Inp, Out, Command) :-
|
|||||||
close(StreamInp),
|
close(StreamInp),
|
||||||
close(StreamOut).
|
close(StreamOut).
|
||||||
|
|
||||||
|
file_filter_with_init(Inp, Out, Command, FormatString, Parameters) :-
|
||||||
|
open(Inp, read, StreamInp),
|
||||||
|
open(Out, write, StreamOut),
|
||||||
|
format(StreamOut, FormatString, Parameters),
|
||||||
|
filter(StreamInp, StreamOut, Command),
|
||||||
|
close(StreamInp),
|
||||||
|
close(StreamOut).
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
:- use_module(library(lineutils),
|
:- use_module(library(lineutils),
|
||||||
[file_filter/3,
|
[file_filter_with_init/5,
|
||||||
split/3]).
|
split/3]).
|
||||||
|
|
||||||
:- use_module(library(lists),
|
:- use_module(library(lists),
|
||||||
@ -11,11 +11,13 @@
|
|||||||
:- yap_flag(write_strings,on).
|
:- yap_flag(write_strings,on).
|
||||||
|
|
||||||
main :-
|
main :-
|
||||||
file_filter('misc/ATOMS','H/tatoms.h',gen_fields),
|
warning(Warning),
|
||||||
file_filter('misc/ATOMS','H/iatoms.h',gen_decl),
|
file_filter_with_init('misc/ATOMS','H/tatoms.h',gen_fields, Warning, ['tatoms.h']),
|
||||||
file_filter('misc/ATOMS','H/ratoms.h',gen_rcov).
|
file_filter_with_init('misc/ATOMS','H/iatoms.h',gen_decl, Warning, ['iatoms.h']),
|
||||||
% file_filter('misc/ATOMS','packages/PLStream/natoms.h',gen_swiatoms).
|
file_filter_with_init('misc/ATOMS','H/ratoms.h',gen_rcov, Warning, ['ratoms.h']).
|
||||||
|
% file_filter_with_init('misc/ATOMS','packages/PLStream/natoms.h', gen_swiatoms, Warning, ['natoms.h']).
|
||||||
|
|
||||||
|
warning('~n /* This file, ~a, was generated automatically by \"yap -L misc/buildatoms\"~n please do not update, update misc/ATOMS instead */~n~n').
|
||||||
|
|
||||||
gen_fields(Inp,Out) :-
|
gen_fields(Inp,Out) :-
|
||||||
split(Inp," ",["A",Atom,_,_]), !,
|
split(Inp," ",["A",Atom,_,_]), !,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
:- use_module(library(lineutils),
|
:- use_module(library(lineutils),
|
||||||
[file_filter/3,
|
[file_filter_with_init/5,
|
||||||
split/3,
|
split/3,
|
||||||
glue/3]).
|
glue/3]).
|
||||||
|
|
||||||
@ -17,14 +17,17 @@
|
|||||||
:- style_check(all).
|
:- style_check(all).
|
||||||
|
|
||||||
main :-
|
main :-
|
||||||
file_filter('misc/HEAPFIELDS','H/hstruct.h',gen_struct),
|
warning(Warning),
|
||||||
file_filter('misc/HEAPFIELDS','H/dhstruct.h',gen_dstruct),
|
file_filter_with_init('misc/HEAPFIELDS','H/hstruct.h',gen_struct,Warning,['hstruct.h','HEAPFIELDS']),
|
||||||
file_filter('misc/HEAPFIELDS','H/rhstruct.h',gen_hstruct),
|
file_filter_with_init('misc/HEAPFIELDS','H/dhstruct.h',gen_dstruct,Warning,['dhstruct.h','HEAPFIELDS']),
|
||||||
file_filter('misc/HEAPFIELDS','H/ihstruct.h',gen_init),
|
file_filter_with_init('misc/HEAPFIELDS','H/rhstruct.h',gen_hstruct,Warning,['rhstruct.h','HEAPFIELDS']),
|
||||||
file_filter('misc/GLOBALS','H/hglobals.h',gen_struct),
|
file_filter_with_init('misc/HEAPFIELDS','H/ihstruct.h',gen_init,Warning,['ihstruct.h','HEAPFIELDS']),
|
||||||
file_filter('misc/GLOBALS','H/dglobals.h',gen_dstruct),
|
file_filter_with_init('misc/GLOBALS','H/hglobals.h',gen_struct,Warning,['hglobals.h','GLOBALS']),
|
||||||
file_filter('misc/GLOBALS','H/rglobals.h',gen_hstruct),
|
file_filter_with_init('misc/GLOBALS','H/dglobals.h',gen_dstruct,Warning,['dglobals.h','GLOBALS']),
|
||||||
file_filter('misc/GLOBALS','H/iglobals.h',gen_init).
|
file_filter_with_init('misc/GLOBALS','H/rglobals.h',gen_hstruct,Warning,['rglobals.h','GLOBALS']),
|
||||||
|
file_filter_with_init('misc/GLOBALS','H/iglobals.h',gen_init,Warning,['iglobals.h','GLOBALS']).
|
||||||
|
|
||||||
|
warning('~n /* This file, ~a, was generated automatically by \"yap -L misc/buildheap\"~n please do not update, update misc/~a instead */~n~n').
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 9efaf4ce7063fbdae534b4555a80fa1373bb7e9a
|
Subproject commit 3823a8b909e99c8f0a581d14c9505a4fbd9a2853
|
Reference in New Issue
Block a user