From: Michael K. <ki...@us...> - 2001-06-29 22:54:18
|
Update of /cvsroot/xsb/XSB/syslib In directory usw-pr-cvs1:/tmp/cvs-serv23617/syslib Modified Files: string.P string.O string.H std_xsb.P std_xsb.O machine.P machine.O machine.H loader.P loader.O loader.H debugger_data.P Log Message: added str_match. Changed offsets in str_sub to start from 0 Index: string.P =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/string.P,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- string.P 2001/06/22 22:19:50 1.17 +++ string.P 2001/06/29 22:54:10 1.18 @@ -78,7 +78,8 @@ str_cat(S1, S2, S3) :- str_cat(S1, S2, S3). %% Only checks the first match -str_sub(S1, S2, Pos) :- str_sub(S1, S2, Pos). -str_sub(S1, S2) :- str_sub(S1, S2, _Pos). +str_match(Sub,Str,Direction,Beg,End) :- str_match(Sub,Str,Direction,Beg,End). +str_sub(S1, S2, Pos) :- str_match(S1, S2, forward, Pos, _). +str_sub(S1, S2) :- str_match(S1, S2, forward, _, _). /* ---------------------- end of file string.P ------------------------ */ Index: string.O =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/string.O,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 Binary files /tmp/cvsZgmGnC and /tmp/cvs6E2fM6 differ Index: string.H =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/string.H,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- string.H 2001/05/31 18:00:31 1.11 +++ string.H 2001/06/29 22:54:10 1.12 @@ -26,7 +26,7 @@ :- export concat_atom/2, concat_atom/3. :- export str_cat/3, str_sub/2, str_sub/3, str_length/2, substring/4, - string_substitute/4. + str_match/5, string_substitute/4. :- import flatten/2 from basics. :- import str_len/2 from machine. Index: std_xsb.P =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/std_xsb.P,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- std_xsb.P 2001/06/22 17:36:10 1.53 +++ std_xsb.P 2001/06/29 22:54:10 1.54 @@ -235,6 +235,7 @@ standard_symbol(str_length, 2, string). standard_symbol(substring, 4, string). standard_symbol(string_substitute, 4, string). +standard_symbol(str_match, 5, string). standard_symbol((use_variant_tabling), 1, tables). standard_symbol((use_subsumptive_tabling), 1, tables). Index: std_xsb.O =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/std_xsb.O,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 Binary files /tmp/cvsQruP5E and /tmp/cvsMH7GT9 differ Index: machine.P =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/machine.P,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- machine.P 2001/03/28 08:56:34 1.50 +++ machine.P 2001/06/29 22:54:11 1.51 @@ -95,8 +95,11 @@ buff_dealloc(Buff, OldSize, NewSize) :- buff_dealloc(Buff, OldSize, NewSize). buff_cell(Buff, Disp, Cell) :- buff_cell(Buff, Disp, Cell). buff_set_cell(Buff, Disp, Tag, Value) :- buff_set_cell(Buff, Disp, Tag, Value). -/* check if Sub is a substring in Str */ -str_sub(Sub, Str, Pos) :- str_sub(Sub, Str, Pos). + +/* check if Sub is a substring in Str and return the matches. + Also does matching from the end */ +str_match(Sub,Str,Direction,Beg,End) :- str_match(Sub,Str,Direction,Beg,End). + /* If file is a directory, add slash, if needed, or strip extra slashes */ dirname_canonic(File, Canonic) :- dirname_canonic(File, Canonic). /* for efficiency reasons, the following predicates are also implemented */ Index: machine.O =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/machine.O,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 Binary files /tmp/cvs3SgrUH and /tmp/cvsmZyzCf differ Index: machine.H =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/machine.H,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- machine.H 2001/03/28 08:56:34 1.41 +++ machine.H 2001/06/29 22:54:11 1.42 @@ -67,7 +67,7 @@ code_load/3, file_gettoken/5, stat_cputime/1, - str_sub/3, + str_match/5, dirname_canonic/2, psc_insert/4, psc_import/3, Index: loader.P =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/loader.P,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- loader.P 2001/06/17 09:37:32 1.30 +++ loader.P 2001/06/29 22:54:11 1.31 @@ -55,10 +55,10 @@ windows_os_loader :- stat_flag(CONFIG_NAME, ConfigurationC), %% convert C string to Prolog intern_string(ConfigurationC, Configuration), - ( str_sub('win', Configuration, _) - ; str_sub('-nt', Configuration, _) - ; str_sub('w95', Configuration, _) - ; str_sub('wnt', Configuration, _) ). + ( str_match('win', Configuration, f, _, _) + ; str_match('-nt', Configuration, f, _, _) + ; str_match('w95', Configuration, f, _, _) + ; str_match('wnt', Configuration, f, _, _) ). %% we duplicate fmt_write_* here because they are used early on, in libpath() fmt_write_string(S,Fmt,A) :- formatted_io(FMT_WRITE_STRING, S,Fmt,A,_). Index: loader.O =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/loader.O,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 Binary files /tmp/cvsSzKKqK and /tmp/cvs4IGCuk differ Index: loader.H =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/loader.H,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- loader.H 2001/06/17 09:37:32 1.13 +++ loader.H 2001/06/29 22:54:11 1.14 @@ -37,7 +37,8 @@ :- import xsb_configuration/2 from xsb_configuration. :- import term_type/2, term_psc/2, psc_name/2, psc_arity/2, psc_env/2, psc_type/2, psc_set_type/2, psc_prop/2, psc_set_prop/2, - psc_insert/4, psc_import/3, conpsc/2, str_cat/3, str_sub/3, + psc_insert/4, psc_import/3, conpsc/2, str_cat/3, + str_match/5, code_call/3, code_load/3, intern_string/2, stat_flag/2, stat_set_flag/2, expand_filename/2, tilde_expand_filename/2, is_absolute_filename/1, Index: debugger_data.P =================================================================== RCS file: /cvsroot/xsb/XSB/syslib/debugger_data.P,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- debugger_data.P 2000/02/07 00:07:20 1.6 +++ debugger_data.P 2001/06/29 22:54:11 1.7 @@ -96,4 +96,5 @@ is_xpar_call(call_c, 1). + '_$_debugger_data_loaded'. |