flora-commits Mailing List for Flora-2
Brought to you by:
kifer
You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(59) |
Jun
(43) |
Jul
(4) |
Aug
(4) |
Sep
(102) |
Oct
(20) |
Nov
(47) |
Dec
(32) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(24) |
Feb
(34) |
Mar
(72) |
Apr
(36) |
May
(10) |
Jun
(46) |
Jul
(36) |
Aug
(24) |
Sep
(37) |
Oct
(27) |
Nov
(43) |
Dec
(40) |
| 2004 |
Jan
(35) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(30) |
Aug
(83) |
Sep
(68) |
Oct
(38) |
Nov
(3) |
Dec
(7) |
| 2005 |
Jan
(9) |
Feb
(31) |
Mar
(46) |
Apr
(73) |
May
(21) |
Jun
(1) |
Jul
(32) |
Aug
(33) |
Sep
(3) |
Oct
(28) |
Nov
(4) |
Dec
(23) |
| 2006 |
Jan
(22) |
Feb
(2) |
Mar
(12) |
Apr
(23) |
May
(73) |
Jun
(14) |
Jul
|
Aug
(20) |
Sep
(14) |
Oct
(5) |
Nov
|
Dec
(14) |
| 2007 |
Jan
(54) |
Feb
(81) |
Mar
(286) |
Apr
(313) |
May
(154) |
Jun
(85) |
Jul
(8) |
Aug
(11) |
Sep
(12) |
Oct
(14) |
Nov
(6) |
Dec
(6) |
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(12) |
May
(4) |
Jun
|
Jul
(13) |
Aug
(22) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(46) |
Jun
(43) |
Jul
(46) |
Aug
(9) |
Sep
(13) |
Oct
(31) |
Nov
(42) |
Dec
(18) |
| 2014 |
Jan
(7) |
Feb
(7) |
Mar
(11) |
Apr
(13) |
May
(16) |
Jun
(6) |
Jul
(17) |
Aug
|
Sep
(2) |
Oct
|
Nov
(1) |
Dec
|
| 2015 |
Jan
|
Feb
(17) |
Mar
(4) |
Apr
(3) |
May
(2) |
Jun
(3) |
Jul
(2) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
|
2
|
3
|
4
(7) |
5
|
6
|
|
7
|
8
(4) |
9
(13) |
10
(4) |
11
|
12
|
13
|
|
14
|
15
|
16
|
17
|
18
(3) |
19
(5) |
20
|
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
|
28
|
29
|
30
(1) |
31
(3) |
|
|
|
|
From: <ki...@us...> - 2003-12-31 22:12:48
|
Update of /cvsroot/flora/flora2/syslib
In directory sc8-pr-cvs1:/tmp/cvs-serv9315/syslib
Modified Files:
flrdecode.P
Log Message:
typos
Index: flrdecode.P
===================================================================
RCS file: /cvsroot/flora/flora2/syslib/flrdecode.P,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- flrdecode.P 18 Dec 2003 20:20:03 -0000 1.16
+++ flrdecode.P 31 Dec 2003 22:12:36 -0000 1.17
@@ -630,7 +630,7 @@
!,
%% Don't increment nesting level
(nonvar(Term), !
- ; flora_abort('FLLIBMODLIT(WRAP_HILOG,[FL_TRAN,Term,C],Module,Caller): Internal error: Invalid goal in decode_literal_internal/3')
+ ; flora_abort('FLLIBMODLIT(WRAP_HILOG,[FL_TRAN,Term,C],Module,Caller): Internal error. Invalid goal in decode_literal_internal/3')
),
Term =.. [Basename|ArgList],
Depth1 is Depth+1,
@@ -647,7 +647,7 @@
!,
%% Don't increment nesting level
(nonvar(Args), !
- ; flora_abort('FLLIBMODLIT(WRAP_HILOG,Args,Module,Caller): Internal error: Invalid goal in decode_literal_internal/3')
+ ; flora_abort('FLLIBMODLIT(WRAP_TABLED_HILOG,Args,Module,Caller): Internal error. Invalid goal in decode_literal_internal/3')
),
Args = [Basename|ArgList],
Depth1 is Depth+1,
|
|
From: <ki...@us...> - 2003-12-31 22:11:56
|
Update of /cvsroot/flora/flora2/debugger In directory sc8-pr-cvs1:/tmp/cvs-serv9194/debugger Modified Files: static_data.in flrdebugger.P dynamic_data.in Log Message: bugfix Index: static_data.in =================================================================== RCS file: /cvsroot/flora/flora2/debugger/static_data.in,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- static_data.in 20 Aug 2003 04:57:41 -0000 1.15 +++ static_data.in 31 Dec 2003 22:11:52 -0000 1.16 @@ -40,6 +40,10 @@ hide_this_hide(flora_debug_module_registry,1). +hide_this_hide(flora_check_export_registry,3). +hide_this_hide(flora_check_export_registry,4). +hide_this_hide(flora_reset_export_registries,1). + hide_this_hide(flTrace,0). hide_this_hide(flTrace,1). hide_this_hide(flNoTrace,0). @@ -146,6 +150,8 @@ flora_hide_this_hide(FLLIBSHDIRECT/3). flora_hide_this_hide(FLLIBSHDIRECT/4). flora_hide_this_hide(FLLIBSHDIRECT/5). + +flora_hide_this_hide(FLLIBEXPORT/1). flora_hide_this_hide(FL_SILENT_EQUAL/2). Index: flrdebugger.P =================================================================== RCS file: /cvsroot/flora/flora2/debugger/flrdebugger.P,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- flrdebugger.P 14 Jul 2003 22:53:56 -0000 1.14 +++ flrdebugger.P 31 Dec 2003 22:11:52 -0000 1.15 @@ -224,6 +224,7 @@ \+flora_switch(low_level_trace), ( flora_hide_this_show(pref(X1/Y)), atom(X),atom(X1), str_sub(X1,X,0), ! ; flora_hide_this_show(match(X1/Y)), atom(X),atom(X1), str_sub(X1,X), ! + ; flora_hide_this_show(propermatch(X1/Y)), atom(X),atom(X1), str_sub(X1,X), X1 \= X, ! ) )), assert((show_this_hide(X,Y) :- Index: dynamic_data.in =================================================================== RCS file: /cvsroot/flora/flora2/debugger/dynamic_data.in,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- dynamic_data.in 14 Nov 2003 07:58:38 -0000 1.11 +++ dynamic_data.in 31 Dec 2003 22:11:52 -0000 1.12 @@ -42,8 +42,12 @@ WRAP_DYNZ_HILOG/_, WRAP_TDYNA_HILOG/_, WRAP_TDYNZ_HILOG/_, + WRAP_HILOG/_, + WRAP_TABLED_HILOG/_, FLDEFINEDPREFIX(WRAP_HILOG)/_, FLDEFINEDPREFIX(WRAP_TABLED_HILOG)/_, + FLTRAILERPREFIX(WRAP_HILOG)/_, + FLTRAILERPREFIX(WRAP_TABLED_HILOG)/_, debugging/0, debugger_data_loaded/0. @@ -254,6 +258,13 @@ flora_hide_this_show(match(WRAP_TDYNZ_HILOG/_)). flora_hide_this_hide(match(FLDEFINEDPREFIX(WRAP_HILOG)/_)). flora_hide_this_hide(match(FLDEFINEDPREFIX(WRAP_TABLED_HILOG)/_)). + +flora_hide_this_show(match(FLTRAILERPREFIX(WRAP_HILOG)/_)). +flora_hide_this_show(match(FLTRAILERPREFIX(WRAP_TABLED_HILOG)/_)). + +%% Hide anything that matches, but is unequal to the HiLog wrappers +flora_hide_this_show(propermatch(WRAP_HILOG/_)). +flora_hide_this_show(propermatch(WRAP_TABLED_HILOG/_)). /* |
|
From: <ki...@us...> - 2003-12-31 22:11:16
|
Update of /cvsroot/flora/flora2/docs
In directory sc8-pr-cvs1:/tmp/cvs-serv9145/docs
Modified Files:
technical.txt flora2.tex
Log Message:
typos
Index: technical.txt
===================================================================
RCS file: /cvsroot/flora/flora2/docs/technical.txt,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- technical.txt 23 Feb 2003 08:25:56 -0000 1.5
+++ technical.txt 31 Dec 2003 22:11:13 -0000 1.6
@@ -4,9 +4,9 @@
1) When compiling a flora program with debug option turned on, we
take the intermediate representation of the program from the
compiler, compute skeletons for rule heads and facts (see below), and
- remove duplications. These skeletons will be dumped into a file with
- extension .fld. When this program is loaded, the skeletons will
- be loaded into the fld storage trie of the corresponding module.
+ remove duplicates. These skeletons are then dumped into a file with
+ extension .fld. When the program is loaded, the skeletons are
+ loaded into the fld storage trie of the corresponding module.
2) The basic idea is to add patch rules to trap undefined predicates.
For example, if we have the following patch rules:
Index: flora2.tex
===================================================================
RCS file: /cvsroot/flora/flora2/docs/flora2.tex,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -d -r1.66 -r1.67
--- flora2.tex 19 Dec 2003 10:44:38 -0000 1.66
+++ flora2.tex 31 Dec 2003 22:11:13 -0000 1.67
@@ -2145,6 +2145,156 @@
differently for different clients.
+
+\section{Module Encapsulation}\label{sec-module-encap}
+
+\index{encapsulation}
+%%
+So far in multi-module programs any module could call any method or
+predicate in any other module. That is, modules were not encapsulated.
+However, \FLORA lets the user to incapsulate any module and export the
+methods and predicates that other modules are allowed to call. Making
+an unexported call will result in a runtime error.
+
+\index{{\tt export} directive}
+%%
+A module is encapsulated by placing an {\tt export} directive in it or by
+executing an {\tt export} directive at run time. Modules that do not have
+{\tt export} directives in them are not encapsulated, which means that any
+method or predicate defined inside such a module can be called from the outside.
+
+\paragraph{Syntax.}
+The {\tt export} directive has the form:
+%%
+\begin{quote}
+ {\tt :- export} \emph{MethodOrPredExportSpec1},
+ \emph{MethodOrPredExportSpec2}, ... .
+\end{quote}
+%%
+There can be one or more export specifications
+(\emph{MethodOrPredExportSpec}) in each {\tt export} statement, and there
+can be any number of different {\tt export} statements in a module. The
+effect of all
+these statements is cumulative.
+
+Each \emph{MethodOrPredExportSpec} specifies three things, two of which are
+optional:
+%%
+\begin{itemize}
+ \item The list of methods or predicates to export.
+ \item The list of modules to which to export.
+ This list is optional. If it is not given then the predicates
+ and modules are exported to \emph{all} modules.
+ \item Whether the above are exported as \emph{updatable} or not.
+ If a method or a predicate is exported as updatable, then the external
+ modules can add or delete the corresponding facts. Otherwise, these
+ modules can only query these methods and predicates.
+ If {\tt updatable} is not specified, the calls are exported for
+ querying only.
+\end{itemize}
+%%
+The exact syntax of a a \emph{MethodOrPredExportSpec} is as follows:
+%%
+\begin{quote}
+ [ {\tt updatable}]~ \emph{ExportList}~ [ {\tt >>} \emph{ModuleList} ]
+\end{quote}
+%%
+The square brackets here denote optional parts. The module list is simply a
+comma-separated list of modules and \emph{ExportList} is a comma-separated
+list of \emph{predicate/method/ISA templates}. Method templates have the form
+%%
+\begin{quote}
+ {\tt \_[} \emph{termTemplate} {\tt -> \_]},\\
+ {\tt \_[} \emph{termTemplate} {\tt ->> \_]} ~ or\\
+ {\tt \_[} \emph{termTemplate} {\tt]}\\
+\end{quote}
+%%
+and predicate templates are the same as term templates. A \emph{term
+ template} is a HiLog term that has no constants or function fymbols in
+it. For instance, {\tt p(\_,\_)(\_)} and {\tt q(\_,\_,\_)} are term templates,
+while {\tt p(a,\_)(\_)} and {\tt q(\_,\_,f(\_))} are not.
+
+ISA templates have the form {\tt \_:\_} or {\tt \_::\_}.
+
+\paragraph{Examples.}
+Here are some examples of export directives:
+%%
+\begin{verbatim}
+ :- export _[a(_) -> _].
+ :- export _[b ->> _], _[c(_,_)], _[d(_)(_,_) -> _].
+ :- export (_[e ->> _], _[f(_,_)]) >> (foo, bar).
+ :- export updatable (_[g ->> _], _[h(_,_)]) >> (foo, bar).
+ :- export updatable (_[g ->> _], _[h(_,_)]) >> (foo, bar),
+ (_[k -> _], m(_,_)(_)) >> abc.
+\end{verbatim}
+%%
+Observe that the set-valued method {\tt g} and the boolean method {\tt h}
+have been exported in the updatable mode. This means that the modules {\tt
+ foo} and {\tt bar} can insert and delete the facts of the form
+{\tt a[g->>b]} and {\tt a[h(b,c)]} using the statements like
+(assuming that {\tt moo} is the name of the module that includes the above
+directives):
+%%
+\begin{verbatim}
+ ?- insert{a[g->>b]@moo}.
+ ?- delete{a[h(b,c)]@moo}.
+\end{verbatim}
+%%
+
+\paragraph{Parenthesizing rules.}
+Note that in the last three export statements above we used parentheses to
+disambiguate the syntax. Without the parentheses, these statements would be
+understood differently:
+%%
+\begin{verbatim}
+ :- export _[e ->> _], (_[f(_,_)] >> foo), bar.
+ :- export updatable _[g ->> _], (_[h(_,_)]) >> foo), bar.
+ :- export updatable _[g ->> _], (_[h(_,_)] >> foo), bar,
+ _[k -> _], (m(_,_)(_) >> abc).
+\end{verbatim}
+%%
+We should also note that {\tt updatable} binds stronger than the comma or
+{\tt >>}, which means that an {\tt export} statement such as the one bellow
+%%
+\begin{verbatim}
+ :- export updatable _[g ->> _], _[h(_,_)] >> foo.
+\end{verbatim}
+%%
+is actually interpreted as
+%%
+\begin{verbatim}
+ :- export updatable(_[g ->> _]), (_[h(_,_)]) >> foo).
+\end{verbatim}
+%%
+
+\paragraph{Exporting molecules other than {\tt ->} and {\tt ->>}.}
+In order to export any kind of call to a set-valued or
+a functional method, one should use only {\tt ->>} and {\tt ->}. This will
+allow other modules to make calls, such as {\tt a[d(c)(e,f) ->* X]}, {\tt
+ a[b ->-> Z]}, and {\tt c[e=>>t]} to the exported methods. The {\tt export}
+directive does not allow the user to separately control calls to the
+molecules that involve the method specifiers such as {\tt ->*}, {\tt =>},
+{\tt ->->}, etc.
+
+The {\tt export} directive has an executable counterpart. For instance, at
+run time a module can execute an export instruction such as
+%%
+\begin{verbatim}
+ ?- export _[e ->> _], (_[f(_,_)] >> foo), bar.
+\end{verbatim}
+%%
+and export the corresponding methods. If the module was not encapsulated
+before, it will become now. Likewise, it is possible to execute export
+directives in another module. For instance executing
+%%
+\begin{verbatim}
+ ?- (export _[e ->> _], (_[f(_,_)] >> foo), bar)@foo.
+\end{verbatim}
+%%
+will cause the module {\tt foo} to export the specified methods and to
+encapsulate it, if it was not encapsulated before.
+
+
\section{Path Expressions}\label{sec-pathexpr}
\subsection{Path Expressions in the Rule Body}
@@ -2911,153 +3061,6 @@
overhead.
-\section{Module Encapsulation}\label{sec-module-encap}
-
-\index{encapsulation}
-%%
-So far in multi-module programs any module could call any method or
-predicate in any other module. That is, modules were not encapsulated.
-However, \FLORA lets the user to incapsulate any module and export the
-methods and predicates that other modules are allowed to call. Making
-an unexported call will result in a runtime error.
-
-\index{{\tt export} directive}
-%%
-A module is encapsulated by placing an {\tt export} directive in it or by
-executing an {\tt export} directive at run time. Modules that do not have
-{\tt export} directives in them are not encapsulated, which means that any
-method or predicate defined inside such a module can be called from the outside.
-
-\paragraph{Syntax.}
-The {\tt export} directive has the form:
-%%
-\begin{quote}
- {\tt :- export} \emph{MethodOrPredExportSpec1},
- \emph{MethodOrPredExportSpec2}, ... .
-\end{quote}
-%%
-There can be one or more export specifications
-(\emph{MethodOrPredExportSpec}) in each {\tt export} statement, and there
-can be any number of different {\tt export} statements in a module. The
-effect of all
-these statements is cumulative.
-
-Each \emph{MethodOrPredExportSpec} specifies three things, two of which are
-optional:
-%%
-\begin{itemize}
- \item The list of methods or predicates to export.
- \item The list of modules to which to export.
- This list is optional. If it is not given then the predicates
- and modules are exported to \emph{all} modules.
- \item Whether the above are exported as \emph{updatable} or not.
- If a method or a predicate is exported as updatable, then the external
- modules can add or delete the corresponding facts. Otherwise, these
- modules can only query these methods and predicates.
- If {\tt updatable} is not specified, the calls are exported for
- querying only.
-\end{itemize}
-%%
-The exact syntax of a a \emph{MethodOrPredExportSpec} is as follows:
-%%
-\begin{quote}
- [ {\tt updatable}]~ \emph{ExportList}~ [ {\tt >>} \emph{ModuleList} ]
-\end{quote}
-%%
-The square brackets here denote optional parts. The module list is simply a
-comma-separated list of modules and \emph{ExportList} is a comma-separated
-list of \emph{predicate/method templates}. Method templates have the form
-%%
-\begin{quote}
- {\tt \_[} \emph{termTemplate} {\tt -> \_]},\\
- {\tt \_[} \emph{termTemplate} {\tt ->> \_]} ~ or\\
- {\tt \_[} \emph{termTemplate} {\tt]}\\
-\end{quote}
-%%
-and predicate templates are the same as term templates. A \emph{term
- template} is a HiLog term that has no constants or function fymbols in
-it. For instance, {\tt p(\_,\_)(\_)} and {\tt q(\_,\_,\_)} are term templates,
-while {\tt p(a,\_)(\_)} and {\tt q(\_,\_,f(\_))} are not.
-
-\paragraph{Examples.}
-Here are some examples of export directives:
-%%
-\begin{verbatim}
- :- export _[a(_) -> _].
- :- export _[b ->> _], _[c(_,_)], _[d(_)(_,_) -> _].
- :- export (_[e ->> _], _[f(_,_)]) >> (foo, bar).
- :- export updatable (_[g ->> _], _[h(_,_)]) >> (foo, bar).
- :- export updatable (_[g ->> _], _[h(_,_)]) >> (foo, bar),
- (_[k -> _], m(_,_)(_)) >> abc.
-\end{verbatim}
-%%
-Observe that the set-valued method {\tt g} and the boolean method {\tt h}
-have been exported in the updatable mode. This means that the modules {\tt
- foo} and {\tt bar} can insert and delete the facts of the form
-{\tt a[g->>b]} and {\tt a[h(b,c)]} using the statements like
-(assuming that {\tt moo} is the name of the module that includes the above
-directives):
-%%
-\begin{verbatim}
- ?- insert{a[g->>b]@moo}.
- ?- delete{a[h(b,c)]@moo}.
-\end{verbatim}
-%%
-
-\paragraph{Parenthesizing rules.}
-Note that in the last three export statements above we used parentheses to
-disambiguate the syntax. Without the parentheses, these statements would be
-understood differently:
-%%
-\begin{verbatim}
- :- export _[e ->> _], (_[f(_,_)] >> foo), bar.
- :- export updatable _[g ->> _], (_[h(_,_)]) >> foo), bar.
- :- export updatable _[g ->> _], (_[h(_,_)] >> foo), bar,
- _[k -> _], (m(_,_)(_) >> abc).
-\end{verbatim}
-%%
-We should also note that {\tt updatable} binds stronger than the comma or
-{\tt >>}, which means that an {\tt export} statement such as the one bellow
-%%
-\begin{verbatim}
- :- export updatable _[g ->> _], _[h(_,_)]) >> foo.
-\end{verbatim}
-%%
-is actually interpreted as
-%%
-\begin{verbatim}
- :- export updatable(_[g ->> _]), (_[h(_,_)]) >> foo).
-\end{verbatim}
-%%
-
-\paragraph{Exporting molecules other than {\tt ->} and {\tt ->>}.}
-In order to export any kind of call to a set-valued or
-a functional method, one should use only {\tt ->>} and {\tt ->}. This will
-allow other modules to make calls, such as {\tt a[d(c)(e,f) ->* X]}, {\tt
- a[b ->-> Z]}, and {\tt c[e=>>t]} to the exported methods. The {\tt export}
-directive does not allow the user to separately control calls to the
-molecules that involve the method specifiers such as {\tt ->*}, {\tt =>},
-{\tt ->->}, etc.
-
-The {\tt export} directive has an executable counterpart. For instance, at
-run time a module can execute an export instruction such as
-%%
-\begin{verbatim}
- ?- export _[e ->> _], (_[f(_,_)] >> foo), bar.
-\end{verbatim}
-%%
-and export the corresponding methods. If the module was not encapsulated
-before, it will become now. Likewise, it is possible to execute export
-directives in another module. For instance executing
-%%
-\begin{verbatim}
- ?- (export _[e ->> _], (_[f(_,_)] >> foo), bar)@foo.
-\end{verbatim}
-%%
-will cause the module {\tt foo} to export the specified methods and to
-encapsulate it, if it was not encapsulated before.
-
-
\section{Custom Module Semantics}\label{sec-semantics-directive}
\index{setsemantics directive}
@@ -4992,7 +4995,7 @@
%%
\begin{verbatim}
flora2 ?- john[salary->X]@foo, Y is X+1000,
- \verb|#|update(john[salary->X],john[salary->Y])@foo.
+ #update(john[salary->X],john[salary->Y])@foo.
\end{verbatim}
%%
@@ -5090,7 +5093,7 @@
methods should not occur.
-\section{Insertion and Deletion of Rules into Modules}
+\section{Insertion and Deletion of Rules in Modules}
\index{rule insertion}
\index{rule deletion}
@@ -6252,18 +6255,18 @@
\paragraph{Stream-based I/O.}
%%
\begin{itemize}
-\item {\tt Filename[\#see]} --- open {\tt Filename} and make it into the
+\item {\tt \#see(Filename), Filename[\#see]} --- open {\tt Filename} and make it into the
current input stream.
\item {\tt \verb|#|seeing(Stream)} --- binds {\tt Stream} to the current input
stream.
\item {\tt \verb|#|seen} --- closes the current input stream.
-\item {\tt Filename[\#tell]} --- opens {\tt Filename} as the current output
+\item {\tt \#tell(Filename), Filename[\#tell]} --- opens {\tt Filename} as the current output
stream.
\item {\tt \verb|#|telling(Stream)} --- binds {\tt Stream} to the current output
stream.
\item {\tt \verb|#|told} --- closes the current output stream.
\item {\tt \verb|#|write(Obj)} --- writes {\tt Obj} to the current output stream.
-\item Stream[\#write(Obj)] --- writes {\tt Obj} to the stream {\tt Stream}.
+\item {\tt Stream[\#write(Obj)]} --- writes {\tt Obj} to the stream {\tt Stream}.
\item {\tt \verb|#|writeln(Obj)}, {\tt Stream[\#writeln(Obj)]} --- same as above,
except that the newline character is output after {\tt Obj}.
\item {\tt \verb|#|nl} --- writes the newline character to the current output
|
|
From: <ki...@us...> - 2003-12-30 17:18:36
|
Update of /cvsroot/flora/flora2
In directory sc8-pr-cvs1:/tmp/cvs-serv8912
Modified Files:
Makefile
Log Message:
small fix
Index: Makefile
===================================================================
RCS file: /cvsroot/flora/flora2/Makefile,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- Makefile 14 Nov 2003 07:58:38 -0000 1.15
+++ Makefile 30 Dec 2003 17:18:33 -0000 1.16
@@ -184,7 +184,7 @@
/bin/rm -f flrincludes/*~ flrincludes/.*~
cleantemp:
- /bin/rm -f $(HOME)/.xsb/flora/*${PROLOGEXT} $(HOME)/.xsb/flora/*${OBJEXT}
+ /bin/rm -f "$(HOME)"/.xsb/flora/*${PROLOGEXT} "$(HOME)"/.xsb/flora/*${OBJEXT}
veryclean: clean
cd docs && $(MAKE) clean
|
|
From: <ki...@us...> - 2003-12-19 17:51:38
|
Update of /cvsroot/flora/flora-website
In directory sc8-pr-cvs1:/tmp/cvs-serv2374
Modified Files:
release_notes.html download.php
Log Message:
Index: release_notes.html
===================================================================
RCS file: /cvsroot/flora/flora-website/release_notes.html,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- release_notes.html 9 Jul 2003 05:48:24 -0000 1.18
+++ release_notes.html 19 Dec 2003 17:51:34 -0000 1.19
@@ -8,17 +8,26 @@
<a name="top">
<hr>
+<a name="release">
<center>
<h1> Release Notes for Version 0.93 (Tropaeolum majus)</h1>
</center>
<h3>General</h3>
<p>
+ The development of FLORA-2 has continued unabated. Apart from making the
+ system more robust, we added several enhancements, such as encapsulation.
+ The syntax has also been cleaned up, which resulted in incompatible changes
+ to the syntax (see below).
</p>
<h3>News</h3>
<ul>
<li>
+ Modules can now be encapsulated. A module can export methods and
+ predicates to all modules our to a particular list of predicates.
+ </li>
+ <li>
The new directives <tt>setsemantics</tt> and <tt>semantics</tt>
allow the programmer set and query the semantics of any module.
</li>
@@ -27,6 +36,11 @@
<h3>Backward Incompatibility</h3>
<ul>
<li>
+ <i>Major incompatible change of syntax</i>: HiLog predicates are now tabled
+ by default. Non-tabled predicates must now be prefixed with a #, by analogy
+ with non-tabled methods. The <tt>table</tt> directive has been deprecated.
+ </li>
+ <li>
The <tt>equality</tt> directive has been deprecated. Use the new
<tt>setsemantics</tt> directive.
</li>
@@ -37,7 +51,6 @@
</pre>
<hr>
-<a name="release">
<center>
<h1> Release Notes for Version 0.92 (Cattleya intermedia)</h1>
</center>
Index: download.php
===================================================================
RCS file: /cvsroot/flora/flora-website/download.php,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- download.php 9 Jul 2003 05:48:24 -0000 1.8
+++ download.php 19 Dec 2003 17:51:34 -0000 1.9
@@ -38,11 +38,13 @@
as follows:
</p>
<pre>
- cd ~/XSB/packages/flora2
+ cd ~/XSB/packages/
# Wipe out the old FLORA-2 package that comes with XSB
- \rm -rf *
+ \rm -rf flora2
# Unpack the <a href="http://sourceforge.net/project/showfiles.php?group_id=50604" target="new_window">new version of FLORA-2</a> in that directory.
- # Then <a href="installation.html" target="new_window">configure FLORA-2 as usual</a>.
+ # Then configure FLORA-2 per the <a
+ href="installation.html" target="new_window">installation
+ instructions</a>.
</pre>
<h3>Installing outside of the XSB tree:</h3>
|
|
From: <ki...@us...> - 2003-12-19 10:44:43
|
Update of /cvsroot/flora/flora2
In directory sc8-pr-cvs1:/tmp/cvs-serv14588
Modified Files:
makeflora
Log Message:
some fixes for cygwin
Index: makeflora
===================================================================
RCS file: /cvsroot/flora/flora2/makeflora,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- makeflora 27 Jun 2003 21:40:25 -0000 1.3
+++ makeflora 19 Dec 2003 10:44:39 -0000 1.4
@@ -27,6 +27,7 @@
if [ -d c:\ ]; then
# Cygwin
PROLOG=`cat .prolog_path_cygwin`/xsb
+ rm -f p2h/*.dll p2h/*.lib p2h/*.exp p2h/*.obj
else
PROLOG=`cat .prolog_path`/xsb
fi
|
|
From: <ki...@us...> - 2003-12-19 10:44:43
|
Update of /cvsroot/flora/flora2/admin
In directory sc8-pr-cvs1:/tmp/cvs-serv14588/admin
Modified Files:
ReleaseTarBall.sh
Log Message:
some fixes for cygwin
Index: ReleaseTarBall.sh
===================================================================
RCS file: /cvsroot/flora/flora2/admin/ReleaseTarBall.sh,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- ReleaseTarBall.sh 18 Jun 2003 06:43:51 -0000 1.3
+++ ReleaseTarBall.sh 19 Dec 2003 10:44:38 -0000 1.4
@@ -29,9 +29,7 @@
./flora2/pkgs/Makefile ./flora2/pkgs/NMakefile.mak \
./flora2/syslib/*.P ./flora2/syslib/*.H ./flora2/syslib/*.sh \
./flora2/syslib/Makefile ./flora2/syslib/NMakefile.mak \
- ./flora2/syslibinc/*.flh \
- ./flora2/trailer/Makefile ./flora2/trailer/NMakefile.mak \
- ./flora2/trailer/README"
+ ./flora2/syslibinc/*.flh "
curdir=`pwd`
curdir=`basename $curdir`
|
|
From: <ki...@us...> - 2003-12-19 10:44:43
|
Update of /cvsroot/flora/flora2/docs
In directory sc8-pr-cvs1:/tmp/cvs-serv14588/docs
Modified Files:
flora2.tex
Log Message:
some fixes for cygwin
Index: flora2.tex
===================================================================
RCS file: /cvsroot/flora/flora2/docs/flora2.tex,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- flora2.tex 8 Dec 2003 17:51:43 -0000 1.65
+++ flora2.tex 19 Dec 2003 10:44:38 -0000 1.66
@@ -316,8 +316,8 @@
Although \FLORA runs under native Windows, it runs faster under Cygwin,
because the underlying Prolog engine has special optimizations for GCC.
Note that \FLORA one installation of \FLORA cannot be configured both for
-Cygwin and Windows. If you are planning to use both, create two separate
-installations of \FLORA.
+Cygwin and Windows. If you are planning to use both, create two \emph{separate}
+installations of \FLORA in \emph{different} directories.
To install \FLORA under Cygwin, configure XSB as in Unix, but make sure
that the option {\tt --enable-no-cygwin} is used (the name of the option
|
|
From: <ki...@us...> - 2003-12-19 01:33:30
|
Update of /cvsroot/flora/flora-testsuite/general_tests
In directory sc8-pr-cvs1:/tmp/cvs-serv30301/general_tests
Modified Files:
moduletst_old moduletst.flr
Log Message:
added more tests
Index: moduletst_old
===================================================================
RCS file: /cvsroot/flora/flora-testsuite/general_tests/moduletst_old,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- moduletst_old 23 Apr 2003 05:28:44 -0000 1.2
+++ moduletst_old 19 Dec 2003 01:33:27 -0000 1.3
@@ -43,6 +43,10 @@
tst14: foobar + marymodule
tst14: h = foobar
tst14: h = foobar
+tst15: done
+tst15: done
+tst16: done
+tst16: done
tst8: 40 = foobar
tst8: 40 = foobar
tst8: 40 = marymodule
Index: moduletst.flr
===================================================================
RCS file: /cvsroot/flora/flora-testsuite/general_tests/moduletst.flr,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- moduletst.flr 14 Nov 2003 07:49:16 -0000 1.3
+++ moduletst.flr 19 Dec 2003 01:33:27 -0000 1.4
@@ -74,8 +74,16 @@
#tst14 :- q[aaa-> #c@Mod]@Mod2,
write('tst14: ')@prolog(), writeln(Mod+Mod2)@prolog().
+foo(a).
+#tst15 :- X = ${tnot foo(b)}, X@main,
+ writeln('tst15: done')@prolog().
+
+#tst16 :- X = ${tnot foo(b)}, X,
+ writeln('tst16: done')@prolog().
+
#pretest :- #tst1, #tst2, #tst3, #tst4, #tst5, #tst6, #tst7,
- #tst8, #tst9, #tst10, #tst11, #tst12, #tst13, #tst14.
+ #tst8, #tst9, #tst10, #tst11, #tst12, #tst13, #tst14,
+ #tst15, #tst16.
#test :- tell(temp)@prolog(),
[marymodule >> marymodule],
|
|
From: <ch...@us...> - 2003-12-18 20:20:07
|
Update of /cvsroot/flora/flora2/syslib
In directory sc8-pr-cvs1:/tmp/cvs-serv30525/syslib
Modified Files:
flrdynmod.P flrdecode.P
Log Message:
fix a bug so that prolog predicates are not affected by module names
Index: flrdynmod.P
===================================================================
RCS file: /cvsroot/flora/flora2/syslib/flrdynmod.P,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- flrdynmod.P 10 Dec 2003 00:58:45 -0000 1.19
+++ flrdynmod.P 18 Dec 2003 20:20:03 -0000 1.20
@@ -27,6 +27,7 @@
:- compiler_options([xpp_on]).
#include "flora_terms.flh"
+#include "flora_porting.flh"
#include "flora_exceptions.flh"
@@ -73,7 +74,7 @@
/*********************************************************************
- FLLIBMODLIT(+Functor,+Args,+ModuleName,+Caller,)
+ FLLIBMODLIT(+Functor,+Args,+ModuleName,+Caller)
*********************************************************************/
FLLIBMODLIT(F,Arg,ModuleName,Caller) :-
%% If module is a variable, we must protect the call
@@ -140,7 +141,7 @@
/*********************************************************************
- FLLIBMODOBJ(+Functor,+Args,+ModuleName,,+Caller,-Predicate)
+ FLLIBMODOBJ(+Functor,+Args,+ModuleName,+Caller,-Predicate)
*********************************************************************/
FLLIBMODOBJ(F,Arg,ModuleName,Caller,Pout) :-
(var(Arg)
@@ -188,10 +189,8 @@
)
; atom(Arg), !, % Var@..., Var bound to atom
( % If already a hilog predicate-use it. Is this case possible?
- is_flora_callable_literal(Arg),
- Arg = P, !
- ; %% else construct it
- flora_module_predicate(WRAP_TABLED_HILOG,[Arg,Caller],ModuleName,P)
+ % else construct it
+ Arg = P
)
; is_nondistr_control(Arg), !,
Arg = P
@@ -220,8 +219,8 @@
flora_module_predicate(WRAP_TABLED_HILOG,AugmentedArgs,ModuleName,P)
)
;
- flora_add_last(Args,AugmentedArgs,Caller),
- flora_module_predicate(Wrapper,AugmentedArgs,ModuleName,P)
+ %% Var@... where Var bound to a prolog predicate
+ Arg = P
)
).
@@ -235,7 +234,7 @@
is_nondistr_control(FLLIBDOUNTIL(_Cond,_Action)).
is_nondistr_control(FLLIBWHILELOOP(_Cond,_Action)).
is_nondistr_control(FLLIBLOOPUNTIL(_Cond,_Action)).
-is_nondistr_control(tnot(_Cond)).
+is_nondistr_control(FLORA_TNOT_PREDICATE(_Cond)).
is_nondistr_control(not(_Cond)).
is_nondistr_control(FLLIBMODLIT(_W,_A,_M,_C)).
Index: flrdecode.P
===================================================================
RCS file: /cvsroot/flora/flora2/syslib/flrdecode.P,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- flrdecode.P 14 Nov 2003 07:58:39 -0000 1.15
+++ flrdecode.P 18 Dec 2003 20:20:03 -0000 1.16
@@ -874,7 +874,7 @@
decode_literal_internal(Call2,Call2Code,Level,Depth1).
%% call(...), tnot(...), not(...), \+ (...)
-decode_literal_internal(FLORA_TNOT_PREDICATE(Subcall),[ReifyStart,'(','tnot ',SubcallCode,')'],Level,Depth) :-
+decode_literal_internal(FLORA_TNOT_PREDICATE(Subcall),[ReifyStart,'(','tnot ',SubcallCode,')',ReifyEnd],Level,Depth) :-
!,
(Level==0 -> ReifyStart='',ReifyEnd='' ; ReifyStart='${',ReifyEnd='}'),
Depth1 is Depth+1,
|
|
From: <ki...@us...> - 2003-12-18 07:43:18
|
Update of /cvsroot/flora/flora2
In directory sc8-pr-cvs1:/tmp/cvs-serv17068
Modified Files:
flrundefined.P flrundefined.H
Log Message:
tell which predicate caused the "not exported" error.
Index: flrundefined.P
===================================================================
RCS file: /cvsroot/flora/flora2/flrundefined.P,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- flrundefined.P 9 Dec 2003 08:51:00 -0000 1.13
+++ flrundefined.P 18 Dec 2003 07:43:15 -0000 1.14
@@ -660,11 +660,16 @@
flora_decode_predicate(Predicate, _PType, MName,
_WPrefix, _PSymbol, _AList),
flora_module_type_and_name(MName,ModuleType,ModuleName),
+ flora_decode_goal_as_atom(Predicate,PrintablePred),
( ModuleType==system ->
- flora_concat_items(['Call to unexported predicate in system module ',ModuleName,' denied. '],
+ flora_concat_items(['Call to unexported predicate ',
+ PrintablePred,
+ ' in system module ',ModuleName,' denied. '],
ErrorMsg)
;
- flora_concat_items(['Call to unexported predicate in user module ',ModuleName,' denied. '],
+ flora_concat_items(['Call to unexported predicate ',
+ PrintablePred,
+ ' in user module ',ModuleName,' denied. '],
ErrorMsg)
),
close_open_tables,
Index: flrundefined.H
===================================================================
RCS file: /cvsroot/flora/flora2/flrundefined.H,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- flrundefined.H 9 Dec 2003 08:50:21 -0000 1.9
+++ flrundefined.H 18 Dec 2003 07:43:15 -0000 1.10
@@ -66,6 +66,8 @@
:- import flora_decode_predicate/6 from flrwrapper.
+:- import flora_decode_goal_as_atom/2 from flrdecode.
+
:- export
flora_debug_code/2,
flora_temp_protect_call/2,
|
|
From: <ki...@us...> - 2003-12-18 07:42:23
|
Update of /cvsroot/flora/flora2
In directory sc8-pr-cvs1:/tmp/cvs-serv16964
Modified Files:
flrcoder.P
Log Message:
Make sure that flora prolog built-ins don't get contaminated with workspaces,
i.e., true@main == true, nonvar(T)@foo = nonvat(T), etc.
Otherwise, things like (true, something)@foo give wrong results.
Index: flrcoder.P
===================================================================
RCS file: /cvsroot/flora/flora2/flrcoder.P,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- flrcoder.P 4 Dec 2003 19:34:04 -0000 1.26
+++ flrcoder.P 18 Dec 2003 07:42:20 -0000 1.27
@@ -682,6 +682,9 @@
; is_flogic(Term,F,N,Args) ->
flora_concat_atoms([Prefix,F],NewF),
flora_write_wsliteral(USERMODULE,WS,NewF,N,Args,Prefix)
+ ; is_prologterm(Term,F,N,Args) ->
+ is_pratom(F,FAtom,_Index),
+ flora_write_prolog(FAtom,N,Args,Prefix)
).
@@ -711,8 +714,11 @@
flora_write_atomlit(Mode,WS,[A,Caller],Prefix) :-
!,
flora_write_wsliteral(Mode,WS,WRAP_TABLED_HILOG,2,[A,Caller],Prefix).
-flora_write_atomlit(Mode,WS,[A],Prefix) :-
- flora_write_wsliteral(Mode,WS,WRAP_TABLED_HILOG,1,[A],Prefix).
+%% This happens when atom is not an F-logic or Hilog atom
+flora_write_atomlit(_Mode,_WS,[A],_Prefix) :-
+ flora_write_quoted_atom(A).
+%%flora_write_atomlit(Mode,WS,[A],Prefix) :-
+ %%flora_write_wsliteral(Mode,WS,WRAP_TABLED_HILOG,1,[A],Prefix).
/****************************************************************************
@@ -1358,6 +1364,9 @@
; is_flogic(Term,F,N,Args) ->
flora_concat_atoms([Prefix,F],NewF),
flora_build_wsliteral(USERMODULE,NewF,N,Args,WS,DWS,Prefix,VarList,Code,CodeInd)
+ ; is_prologterm(Term,F,N,Args) ->
+ is_pratom(F,FAtom,Index),
+ flora_build_prolog(FAtom,N,Args,DWS,Prefix,VarList,Code,CodeInd)
).
@@ -1405,8 +1414,11 @@
flora_build_atomlit(Mode,(A,Caller,I),WS,Prefix,VarList,Code,CodeInd) :-
!,
flora_build_wsliteral(Mode,WRAP_TABLED_HILOG,2,[PRATOM(A,I),Caller],WS,WS,Prefix,VarList,Code,CodeInd).
-flora_build_atomlit(Mode,(A,I),WS,Prefix,VarList,Code,CodeInd) :-
- flora_build_wsliteral(Mode,WRAP_TABLED_HILOG,1,[PRATOM(A,I)],WS,WS,Prefix,VarList,Code,CodeInd).
+flora_build_atomlit(_Mode,(A,_I),_WS,_Prefix,_VarList,Code,CodeInd) :-
+ Code=A,
+ CodeInd=A.
+%%flora_build_atomlit(Mode,(A,I),WS,Prefix,VarList,Code,CodeInd) :-
+ %%flora_build_wsliteral(Mode,WRAP_TABLED_HILOG,1,[PRATOM(A,I)],WS,WS,Prefix,VarList,Code,CodeInd).
/****************************************************************************
|
|
From: <ch...@us...> - 2003-12-10 18:39:12
|
Update of /cvsroot/flora/flora2
In directory sc8-pr-cvs1:/tmp/cvs-serv3259
Modified Files:
flrlexer.H flrlexer.P
Log Message:
one more fix to the problem of incorrectly attributing warnings to included files
Index: flrlexer.H
===================================================================
RCS file: /cvsroot/flora/flora2/flrlexer.H,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- flrlexer.H 9 Dec 2003 23:46:32 -0000 1.3
+++ flrlexer.H 10 Dec 2003 18:39:09 -0000 1.4
@@ -38,9 +38,11 @@
from flrporting.
:- dynamic flora_file_stack/2.
+:- dynamic flora_file_list/2.
:- dynamic flora_file_first_token/2.
:- dynamic flora_file_last_token/2.
:- index(flora_file_stack/2,trie).
+:- index(flora_file_list/2,trie).
:- export
Index: flrlexer.P
===================================================================
RCS file: /cvsroot/flora/flora2/flrlexer.P,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- flrlexer.P 9 Dec 2003 23:46:32 -0000 1.4
+++ flrlexer.P 10 Dec 2003 18:39:09 -0000 1.5
@@ -29,6 +29,8 @@
#define LINE_NO flora_lexer_line_no
#define CHAR_NO flora_lexer_char_no
#define CURR_FILE flora_lexer_current_file
+#define FILE_CNT flora_lexer_file_count
+#define PENDING 0
#define TKCNT tkcnt %% defined in composer
@@ -43,11 +45,13 @@
****************************************************************************/
flora_reset_lexer :-
reset_file_stack,
+ reset_file_list,
flora_reset_charpos.
flora_reset_lexer(FileName) :-
reset_file_stack,
+ reset_file_list,
flora_begin_file(FileName).
@@ -74,19 +78,30 @@
reset_file_stack :-
%% Set the top of stack to 0.
flora_set_counter(CURR_FILE,0),
- retractall(flora_file_first_token(_,_)),
- retractall(flora_file_last_token(_,_)),
retractall(flora_file_stack(_,_)).
+/****************************************************************************
+ reset_file_list/0
+ a list of files with their range of tokens
+****************************************************************************/
+reset_file_list :-
+ %% Set the beginning of list to 0.
+ flora_set_counter(FILE_CNT,0),
+ retractall(flora_file_first_token(_,_)),
+ retractall(flora_file_last_token(_,_)),
+ retractall(flora_file_list(_,_)).
/****************************************************************************
flora_begin_file(+FileName)
****************************************************************************/
flora_begin_file(FileName) :-
flora_increment_counter(CURR_FILE,1,_,M),
+ flora_increment_counter(FILE_CNT,1,_,FCnt),
flora_get_counter(TKCNT,Tk),
- assert(flora_file_first_token(M,Tk)),
+ assert(flora_file_first_token(FCnt,Tk)),
+ assert(flora_file_last_token(FCnt,PENDING)),
assert(flora_file_stack(M,FileName)),
+ assert(flora_file_list(FCnt,FileName)),
flora_reset_charpos.
@@ -95,8 +110,13 @@
****************************************************************************/
flora_end_file(LineNumber) :-
flora_increment_counter(CURR_FILE,-1,N,_M),
+ retract(flora_file_stack(N,_)),
+ %% the most near file beginning that waiting for an end
+ flora_file_last_token(FCnt,PENDING),
+ \+ (flora_file_last_token(FC,PENDING), FC > FCnt),
flora_get_counter(TKCNT,Tk),
- assert(flora_file_last_token(N,Tk)),
+ retract(flora_file_last_token(FCnt,_)),
+ assert(flora_file_last_token(FCnt,Tk)),
set_charpos(LineNumber,1).
@@ -119,7 +139,7 @@
/****************************************************************************
flora_compile_filename_by_token(+Token,-FileName)
- This procedure returns the name of the inner-most file in the file stack
+ This procedure returns the name of the inner-most file in the file list
to which the input token belongs.
It fails if a shell command is being processed.
****************************************************************************/
@@ -127,8 +147,13 @@
flora_file_first_token(SP,FFToken),
flora_file_last_token(SP,FLToken),
FLToken > TK, TK >= FFToken,
- \+ ( flora_file_last_token(_SP1,FT1), FT1 > TK, FT1 < FLToken),
- flora_file_stack(SP,Name),
+ \+ (
+ flora_file_last_token(SP1,FLT1),
+ flora_file_first_token(SP1,FFT1),
+ FLToken > FLT1, FLT1 > TK,
+ TK >= FFT1, FFT1 > FFToken
+ ),
+ flora_file_list(SP,Name),
parse_filename(Name,_,Base,Ext),
(Ext == '' -> FileName=Base
;
@@ -136,6 +161,7 @@
),
!.
+%% The outermost file, whose last_token will never be set
flora_compile_filename_by_token(_TK,FileName) :-
flora_current_compile_filename(FileName).
|
|
From: <ki...@us...> - 2003-12-10 08:30:34
|
Update of /cvsroot/flora/flora2
In directory sc8-pr-cvs1:/tmp/cvs-serv14446
Modified Files:
flrparser.P
Log Message:
comments
Index: flrparser.P
===================================================================
RCS file: /cvsroot/flora/flora2/flrparser.P,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- flrparser.P 9 Dec 2003 21:52:07 -0000 1.48
+++ flrparser.P 10 Dec 2003 08:30:31 -0000 1.49
@@ -948,13 +948,28 @@
flora_regularize_export_spec(Args,WS,Code,Status) :-
%% regularize to a list
flora_export_compose_operator(Args,WS,TermList),
+ %% VISHAL: I would expect these two clauses to be done
+ %% in flora_export_directive after you call flora_regularize_export_spec
+ %% These 2 clauses have nothing to do with regularization
%% parse the list
flora_export_parse_term_list(TermList,[],TermListCode,Status),
flexport_struct_list(TermListCode,Code),
!.
+%% VISHAL: your manner of writing Prolog code is rather strange.
+%% Normally, different clauses represent different cases, and these cases
+%% are either distinguished by terms with distinct structure in the head of
+%% the clause or by checks that are done right after the :- sign.
+%% But in these two clauses for flora_regularize_export_spec things are
+%% hidden inside flora_export_compose_operator and
+%% flora_export_compose_term_list. You have the same style in other places.
+%% This always makes me suspicious of what is going on and whether all the
+%% clauses are necessary. This is why your code requires so many comments:
+%% it is not possible to just read it and understand what is going on.
+
%% for all other cases.
-%% :-(export( (term1),(term2),(term3) )), One or many terms exported (may be enclosed by paranthesis).
+%% :-(export( (term1),(term2),(term3) ))
+%% One or many terms exported (may be enclosed by paranthesis).
%% typical canonical term = (export((term>>m1),m2,m3...mn))
flora_regularize_export_spec(Args,WS,Code,Status) :-
%% regularize to a list
@@ -978,8 +993,8 @@
/****************************************************************************
flora_export_compose_term_list(+Args,+InitTermCode,+WorkSpace,+IsUpdatable,-ExportCode)
- InitCode represents the list of terms processed till now. It is initally an
- empty list ([]) and gets populated progressively.
+ InitTermCode represents the list of terms processed till now.
+ It is initally an empty list ([]) and gets populated progressively.
***************************************************************************/
%% single term exported
%% t1>>m1,m2,m3
@@ -988,6 +1003,10 @@
flora_export_compose_term(Args,WS,IsUpd,Code).
flora_export_compose_term_list([H|T],InitTermCode,WS,IsUpd,Code) :-
+ %% VISHAL: Why do you wrap H inside a list below?
+ %% You have 3 clauses for flora_export_compose_term, which expect
+ %% a singleton list. Isn't it more natural to remove [...] here
+ %% and from those 3 clauses?
flora_export_compose_term([H],WS,IsUpd,TermCode),
%% The Code is usually a single term. However in cases
%% like (t1,t2) >> (m1,m2,m3), it is a list. In this case
@@ -995,14 +1014,13 @@
%% When it is not a list, (t >> m1,m2...), then the append
%% will fail and hence the second case.
(
- %% now the term actually may be a list of terms.
- %% when exported like (t1,t2) >> (m1,m2,m3)
- %% Hence we append it.
- append(TermCode,InitTermCode,List)
+ %% If TermCode is a list - append
+ %% Happens when exported like (t1,t2) >> (m1,m2,m3)
+ append(TermCode,InitTermCode,List)
+
;
- %% in other cases where it is a simple term and
- %% not a list.
- List = [TermCode|InitTermCode]
+ %% in other cases where it is a simple term and not a list.
+ List = [TermCode|InitTermCode]
),
flora_export_compose_term_list(T,List,WS,IsUpd,Code).
@@ -1019,9 +1037,11 @@
get_name(Funct,FL_UPDATABLE),
%% single or mutiple terms enclosed.
(
- flora_export_compose_term(Args,WS,FL_UPDATABLE,ExportCode)
+ %% VISHAL: do you need a cut after this?
+ %% After all, [A] unifies with [X|Y].
+ flora_export_compose_term(Args,WS,FL_UPDATABLE,ExportCode)
;
- flora_export_compose_term_list(Args,[],WS,FL_UPDATABLE,ExportCode)
+ flora_export_compose_term_list(Args,[],WS,FL_UPDATABLE,ExportCode)
).
@@ -1137,6 +1157,8 @@
TermCode = flrexport()
****************************************************************************/
flora_export_parse_term(TermCode,ExportCode,Status) :-
+ %% VISHAL: Why do you first wrap and then unwrap?
+ %% Can it be done in a simpler way?
flexport_unwrap_term(TermCode,WS,Term,Modules,IsUpdatable),
%% check for errors in the term exported
flora_export_check_error(Term,Status),
@@ -1171,6 +1193,11 @@
the flora_exec_export_directive call.
****************************************************************************/
flora_export_parse_body_term(Term,WS,Code,Status) :-
+ %% VISHAL: If WS is a var then you parse without the use of WS, right?
+ %% So, how is WS accounted for? For instance, it seems that
+ %% ?- WS=foobar, (export p(_) >> abs)@WS.
+ %% will be executed in the current module instead of foobar.
+ %% Please clarify.
(var(WS) ->
flora_body(Term,Code,Status)
;
@@ -1287,8 +1314,8 @@
flora_export_check_method([],_Status) :- !.
-%% [MethodName(AttrList) -> _]
-%% [MethodName(AttrList) => _]
+%% _[MethodName(AttrList) -> _]
+%% _[MethodName(AttrList) => _]
flora_export_check_method(CANOTERM(MethodSpec,_N1,FL_PARENTHESIS,[CANOTERM(MethodName,_N2,FL_PARENTHESIS,AttributeList,_If2,_Ip2),ReturnVar],_If1,_Ip1),Status) :-
flora_export_check_spec(MethodSpec,Status),
(var(Status) ->
@@ -1309,8 +1336,8 @@
!.
%% method with no attributes.
-%% [MethodName -> _]
-%% [MethodName => _]
+%% _[MethodName -> _]
+%% _[MethodName => _]
flora_export_check_method(CANOTERM(MethodSpec,_N1,FL_PARENTHESIS,[MethodName,ReturnVar],_If1,_Ip1),Status) :-
flora_export_check_spec(MethodSpec,Status),
(var(Status) ->
@@ -1415,6 +1442,8 @@
%% comma separated values.
flora_export_check_module(CANOTERM(Funct,_N,FL_PARENTHESIS,[H|T],_If,_Ip),Status) :-
get_atom(Funct,FL_COMMA),
+ %% VISHAL: Can you just call here flora_export_check_module([H|T],...)
+ %% instead of doing the stuff below?
flora_export_check_module(H,Status),
(var(Status) ->
flora_export_check_module(T,Status)
@@ -1423,6 +1452,8 @@
),
!.
+%% VISHAL: what is the difference between this case and the next clause
+%% for the same predicate?
flora_export_check_module([H|T],Status) :-
flora_export_check_module(H,Status),
(var(Status) ->
@@ -1464,10 +1495,10 @@
get_index(Term,ErrNo),
parsing_error(ErrNo,ErrMessage,Status).
-/**************** end of error handling for export *******************************/
+/**************** end of error handling for export *************************/
-/**************** end of parsing for export *************************************/
+/**************** end of parsing for export ********************************/
|
|
From: <ki...@us...> - 2003-12-10 08:30:34
|
Update of /cvsroot/flora/flora2/syslib
In directory sc8-pr-cvs1:/tmp/cvs-serv14446/syslib
Modified Files:
flrexport.P
Log Message:
comments
Index: flrexport.P
===================================================================
RCS file: /cvsroot/flora/flora2/syslib/flrexport.P,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- flrexport.P 9 Dec 2003 08:54:11 -0000 1.8
+++ flrexport.P 10 Dec 2003 08:30:30 -0000 1.9
@@ -203,35 +203,35 @@
/****************************************************************************
flora_check_export_registry(+ModuleName,+ExternalModuleName,+Term,+UpdateTag)
Called by the flrdb, insert delete, predicates with the Updatable tag.
+ flora_check_export_registry/4
****************************************************************************/
+%% basic idea: if the check succeeds, the call is failed & hence it
+%% makes the next call & proceeds towards unification with the answers.
flora_check_export_registry(Module,ExternalModuleName,Term,UpdateTag) :-
flora_check_export_registry_internal(Module,ExternalModuleName,Term,UpdateTag),
!.
+%% check if call is protected from undefinedness checking (when module
+%% name was unbound)
+flora_check_export_registry(_Module,_ExternalModuleName,Term,_UpdateTag) :-
+ flora_export_undef_check_protected(Term),
+ !,fail.
+%%error handling.
+flora_check_export_registry(_Module,_ExternalModuleName,Term,_UpdateTag) :-
+ flora_error_notexported(Term).
-%% should fail, else will get an un-necessary extra answer
-%% called by the normal query mechanism.
-%% basic idea is the check succeeds, the call is failed & hence
-%% it makes the next call & proceeds towards unification with the
-%% answers.
+/******************************************************************************
+** flora_check_export_registry/3
+******************************************************************************/
flora_check_export_registry(Module,ExternalModuleName,Term) :-
flora_check_export_registry_internal(Module,ExternalModuleName,Term,_UpdateTag),
!,fail.
-
-%% undefideness check, before the exception.
+%% check if call is protected from undefinedness checking (when module
+%% name was unbound)
+%% flora_check_export_registry/3
flora_check_export_registry(_Module,_ExternalModuleName,Term) :-
- flora_export_undefideness_check(Term),
- !,fail.
-
-flora_check_export_registry(_Module,_ExternalModuleName,Term,_UpdateTag) :-
- flora_export_undefideness_check(Term),
+ flora_export_undef_check_protected(Term),
!,fail.
-
-
-%%error handling.
-flora_check_export_registry(_Module,_ExternalModuleName,Term,_UpdateTag) :-
- flora_error_notexported(Term).
-
flora_check_export_registry(_Module,_ExternalModuleName,Term) :-
flora_error_notexported(Term).
@@ -255,10 +255,11 @@
%% Tell if call is protected
-flora_export_undefideness_check(Predicate) :-
+flora_export_undef_check_protected(Predicate) :-
%% write('Undefindness check -- '),writeln(Predicate),
(
flora_undefinedness_export_registry(Predicate,_Id)
+ %% VISHAL: should there be a cut after the above line?
;
%%transformations mvd -> d_mvd types.
convert_to_body_literal(Predicate,PredicateTerm),
|
|
From: <vi...@us...> - 2003-12-10 00:58:49
|
Update of /cvsroot/flora/flora2/syslib
In directory sc8-pr-cvs1:/tmp/cvs-serv30515/flora2/syslib
Modified Files:
flrdynmod.P
Log Message:
bug fix.
Index: flrdynmod.P
===================================================================
RCS file: /cvsroot/flora/flora2/syslib/flrdynmod.P,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- flrdynmod.P 9 Dec 2003 18:00:28 -0000 1.18
+++ flrdynmod.P 10 Dec 2003 00:58:45 -0000 1.19
@@ -88,37 +88,52 @@
;
true
),
- %% Protect call P from undefinedness check
- (nonvar(ProtectCall),
- %% New Id for protecting calls. Unique Id is used because
- %% several calls to the same method/predicate may be in
- %% progress at the same time, and we don't want to
- %% inadvertantly unprotect a call that might still
- %% need to be protected
- %% the same Id is also used for the export call.
- flora_increment_counter(FLORA_SYMBOL('protect_undef_call'),1,_,Id),
- flora_add_undef_export_call(P,Id),
- flora_in_debug_mode(_),
- flora_debug_module_registry(ModuleName)
- -> flora_temp_protect_call(P,Id)
- ; Id = 0
+ %% Assign a Id to be used by both the export & the undefinedness check.
+ (nonvar(ProtectCall) ->
+ (
+ %% New Id for protecting calls. Unique Id is used because
+ %% several calls to the same method/predicate may be in
+ %% progress at the same time, and we don't want to
+ %% inadvertantly unprotect a call that might still
+ %% need to be protected
+ %% the same Id is also used for the export call.
+ flora_increment_counter(FLORA_SYMBOL('protect_undef_call'),1,_,IdExport),
+ flora_add_undef_export_call(P,IdExport),
+ %% Protect call P from undefinedness check
+ ( flora_in_debug_mode(_),
+ flora_debug_module_registry(ModuleName)
+ -> IdUndef = IdExport,
+ flora_temp_protect_call(P,IdUndef)
+ ;
+ IdUndef = 0
+ )
+ )
+ ;
+ (
+ IdExport = 0,
+ IdUndef = 0
+ )
),
%% Whether P succeeds or fails we must remove the temporary
%% skeleton from the set of facts protected from undefinedness
%% checking in flrundefined.P so that undefinedness could be
%% checked again for P.
+ %% similarly remove the predicate from the export undef registry.
+ %% It may be the case that Id is not equal to 0 but IdUndef is.
(
- call(P),
- (Id > 0 ->
- (
- flora_remove_undef_export_call(Id),
- flora_temp_unprotect_call(Id)
- )
- ;
- true
- )
+ (
+ call(P),
+ (IdExport > 0 -> flora_remove_undef_export_call(IdExport)
+ ; true
+ ),
+ (IdUndef > 0 -> flora_temp_unprotect_call(IdUndef)
+ ; true
+ )
+ )
;
- Id > 0, flora_remove_undef_export_call(Id), flora_temp_unprotect_call(Id), fail
+ IdExport > 0, flora_remove_undef_export_call(IdExport), fail
+ ;
+ IdUndef > 0, flora_temp_unprotect_call(IdUndef), fail
)
)
).
|
|
From: <ch...@us...> - 2003-12-09 23:46:35
|
Update of /cvsroot/flora/flora2
In directory sc8-pr-cvs1:/tmp/cvs-serv17657
Modified Files:
flrlexer.H flrlexer.P flrutils.P
Log Message:
fix the problem with messages incorrectly attributing warnings to included files
Index: flrlexer.H
===================================================================
RCS file: /cvsroot/flora/flora2/flrlexer.H,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- flrlexer.H 9 Dec 2003 21:52:07 -0000 1.2
+++ flrlexer.H 9 Dec 2003 23:46:32 -0000 1.3
@@ -38,6 +38,7 @@
from flrporting.
:- dynamic flora_file_stack/2.
+:- dynamic flora_file_first_token/2.
:- dynamic flora_file_last_token/2.
:- index(flora_file_stack/2,trie).
Index: flrlexer.P
===================================================================
RCS file: /cvsroot/flora/flora2/flrlexer.P,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- flrlexer.P 9 Dec 2003 21:52:07 -0000 1.3
+++ flrlexer.P 9 Dec 2003 23:46:32 -0000 1.4
@@ -74,6 +74,7 @@
reset_file_stack :-
%% Set the top of stack to 0.
flora_set_counter(CURR_FILE,0),
+ retractall(flora_file_first_token(_,_)),
retractall(flora_file_last_token(_,_)),
retractall(flora_file_stack(_,_)).
@@ -83,6 +84,8 @@
****************************************************************************/
flora_begin_file(FileName) :-
flora_increment_counter(CURR_FILE,1,_,M),
+ flora_get_counter(TKCNT,Tk),
+ assert(flora_file_first_token(M,Tk)),
assert(flora_file_stack(M,FileName)),
flora_reset_charpos.
@@ -121,9 +124,10 @@
It fails if a shell command is being processed.
****************************************************************************/
flora_compile_filename_by_token(TK,FileName) :-
- flora_file_last_token(SP,FToken),
- FToken > TK,
- \+ ( flora_file_last_token(_SP1,FT1), FT1 > TK, FT1 < FToken),
+ flora_file_first_token(SP,FFToken),
+ flora_file_last_token(SP,FLToken),
+ FLToken > TK, TK >= FFToken,
+ \+ ( flora_file_last_token(_SP1,FT1), FT1 > TK, FT1 < FLToken),
flora_file_stack(SP,Name),
parse_filename(Name,_,Base,Ext),
(Ext == '' -> FileName=Base
Index: flrutils.P
===================================================================
RCS file: /cvsroot/flora/flora2/flrutils.P,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- flrutils.P 9 Dec 2003 21:52:07 -0000 1.31
+++ flrutils.P 9 Dec 2003 23:46:32 -0000 1.32
@@ -814,8 +814,8 @@
flora_reset_modules_for_file(+FullFileName)
*************************************************************************/
flora_reset_modules_for_file(FullFileName) :-
- flora_reset_lexer(FullFileName),
flora_reset_composer,
+ flora_reset_lexer(FullFileName),
flora_reset_operator,
flora_reset_arguments,
flora_reset_prolog,
@@ -830,8 +830,8 @@
flora_reset_modules_for_shell/0
*************************************************************************/
flora_reset_modules_for_shell :-
- flora_reset_lexer,
flora_reset_composer,
+ flora_reset_lexer,
flora_reset_compiler,
flora_set_counter(flora_shell_mode,1),
retractall(flora_compiler_environment(_,_)),
|
|
From: <ch...@us...> - 2003-12-09 21:52:10
|
Update of /cvsroot/flora/flora2
In directory sc8-pr-cvs1:/tmp/cvs-serv28115
Modified Files:
flrdependency.P flrlexer.H flrlexer.P flrparser.P flrutils.H
flrutils.P
Log Message:
fix two bugs in printing dependency warnings with _@ and included files
Index: flrdependency.P
===================================================================
RCS file: /cvsroot/flora/flora2/flrdependency.P,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- flrdependency.P 4 Dec 2003 19:34:05 -0000 1.14
+++ flrdependency.P 9 Dec 2003 21:52:07 -0000 1.15
@@ -35,17 +35,19 @@
:- compiler_options([xpp_on]).
#include "flora_terms.flh"
#include "flora_errors.flh"
+#include "flora_characters.flh"
:- table rec_depend/6.
:- use_subsumptive_tabling rec_depend(_,_,_,_,_,_).
#define MAXDEPTH 3
#define STARTPOINT 1
-#define DEFAULT_WORKSPACE ''
+#define DEFAULT_WORKSPACE '_@'
#mode save
#mode nostring "\!#'"
-#define PREFIXING(X) FLORA_USER_MODULE_PREFIX'''#1'
+#define PREFIXING(X) PREFIXINGWS(#1,DEFAULT_WORKSPACE)
+#define PREFIXINGWS(X,Y) FLORA_USER_MODULE_PREFIX#2'#1'
#mode restore
#define PREFIXED_WRAP_ISA PREFIXING(WRAP_ISA)
@@ -371,15 +373,20 @@
depend_list([]) :- !.
depend_list([(H)|T]) :-
- findall((Body,anu(A,N,U),Templete),
- depend_detail(H,dep(Body,anu(A,N,U),Templete)),
- DependencyList),
- retractall(dependency(_,_,_,_)),
- (DependencyList == [] ->
+ get_canonical_form(H,FLCANON(Wrap,Args,Mod,_Callable)),
+ ( ignored(W1,A1,M1), subsumes(ignored(W1,A1,M1),ignored(Wrap,Args,Mod)) ->
true
;
- assert_dependency_list(H,DependencyList),
- aggregate_warnings
+ findall((Body,anu(A,N,U),Templete),
+ depend_detail(H,dep(Body,anu(A,N,U),Templete)),
+ DependencyList),
+ (DependencyList == [] ->
+ true
+ ;
+ retractall(dependency(_,_,_,_)),
+ assert_dependency_list(H,DependencyList),
+ aggregate_warnings
+ )
),
depend_list(T).
@@ -627,18 +634,20 @@
)
),
- fmt_write_string(WarnMsg,"Tabled literal in the head of rule that starts with %s depends on %s %s",
- args(Str1,Type,Str2)),
+ fmt_write_string(WarnHead,"Tabled literal in the head of rule that starts with %s", args(Str1)),
+ fmt_write_string(WarnBody," depends on %s %s", args(Type,Str2)),
+ %%fmt_write_string(WarnMsg,"Tabled literal in the head of rule that starts with %s depends on %s %s",
+ %% args(Str1,Type,Str2)),
( warning_seen(RuleID,HInd1,HInd2,BMinInd,_) ->
( (HInd1<HMinInd;HInd1=HMinInd),(HInd2<HNMinInd;HInd2=HNMinInd) ->
true
;
retract(warning_seen(RuleID,HInd1,HInd2,BMinInd,_)),
- assert(warning_seen(RuleID,HMinInd,HNMinInd,BMinInd,WarnMsg))
+ assert(warning_seen(RuleID,HMinInd,HNMinInd,BMinInd,(WarnHead,WarnBody)))
)
;
- assert(warning_seen(RuleID,HMinInd,HNMinInd,BMinInd,WarnMsg))
+ assert(warning_seen(RuleID,HMinInd,HNMinInd,BMinInd,(WarnHead,WarnBody)))
),
aggregate_warnings(T).
@@ -663,6 +672,8 @@
rebuild_text(+Term,+IndexdTerm,-Text)
return a string for the given term to construct warning message
****************************************************************************/
+rebuild_text(DEFAULT_WORKSPACE,(DEFAULT_WORKSPACE,0), DEFAULT_WORKSPACE) :- !.
+
rebuild_text(_Term,(T,Index),Text) :-
(atomic(T);var(T)),
!,
@@ -679,7 +690,8 @@
)
),
flora_nth_token(Index,Token),
- flora_token_text(Token,Text,_BL,_BC,_EL,_EC).
+ flora_token_text(Token,Text1,_BL,_BC,_EL,_EC),
+ escape(Text1,Text).
rebuild_text(_Term,(string(_IndTerm),Index),Text) :-
!,
@@ -696,7 +708,8 @@
)
),
flora_nth_token(Index,Token),
- flora_token_text(Token,Text,_BL,_BC,_EL,_EC).
+ flora_token_text(Token,Text1,_BL,_BC,_EL,_EC),
+ escape(Text1,Text).
rebuild_text(Term,(IndTerm,_Ind),Text) :-
Term=..['.'|_ListItems],
@@ -1015,7 +1028,7 @@
append_warnings(SortedWL,WarnList).
append_warnings([],[]) :- !.
-append_warnings([(_HInd,_BInd,WarnMsg)|T],[warning(WarnMsg)|InterWarnList]) :-
+append_warnings([(HInd,BInd,WarnMsg)|T],[warning(HInd,BInd,WarnMsg)|InterWarnList]) :-
append_warnings(T,InterWarnList).
/****************************************************************************
@@ -1025,3 +1038,18 @@
remove_caller([_H], []) :- !.
remove_caller([H|L],[H|NL]) :-
remove_caller(L,NL).
+
+/****************************************************************************
+ escape(+Text1, -Text2)
+ for strings, replace every occurency of \ with \\ so that \n is printed
+ as it is instead of being interpreted
+ ****************************************************************************/
+escape([],[]) :- !.
+escape([CH_BACKSLASH|L],[CH_BACKSLASH,CH_BACKSLASH|EL]) :-
+ !,
+ escape(L,EL).
+escape([H|L],[H|EL]) :-
+ !,
+ escape(L,EL).
+escape(NL,NL) :- !.
+
Index: flrlexer.H
===================================================================
RCS file: /cvsroot/flora/flora2/flrlexer.H,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- flrlexer.H 18 May 2002 17:43:26 -0000 1.1.1.1
+++ flrlexer.H 9 Dec 2003 21:52:07 -0000 1.2
@@ -38,6 +38,7 @@
from flrporting.
:- dynamic flora_file_stack/2.
+:- dynamic flora_file_last_token/2.
:- index(flora_file_stack/2,trie).
@@ -52,4 +53,5 @@
flora_blank_line/1,
flora_begin_file/1,
flora_end_file/1,
+ flora_compile_filename_by_token/2,
flora_current_compile_filename/1.
Index: flrlexer.P
===================================================================
RCS file: /cvsroot/flora/flora2/flrlexer.P,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- flrlexer.P 14 Jun 2002 09:05:32 -0000 1.2
+++ flrlexer.P 9 Dec 2003 21:52:07 -0000 1.3
@@ -30,6 +30,8 @@
#define CHAR_NO flora_lexer_char_no
#define CURR_FILE flora_lexer_current_file
+#define TKCNT tkcnt %% defined in composer
+
#include "flora_characters.flh"
#include "flora_errors.flh"
#include "flora_terms.flh"
@@ -72,6 +74,7 @@
reset_file_stack :-
%% Set the top of stack to 0.
flora_set_counter(CURR_FILE,0),
+ retractall(flora_file_last_token(_,_)),
retractall(flora_file_stack(_,_)).
@@ -89,7 +92,8 @@
****************************************************************************/
flora_end_file(LineNumber) :-
flora_increment_counter(CURR_FILE,-1,N,_M),
- retractall(flora_file_stack(N,_)),
+ flora_get_counter(TKCNT,Tk),
+ assert(flora_file_last_token(N,Tk)),
set_charpos(LineNumber,1).
@@ -108,6 +112,28 @@
flora_concat_atoms([Base,'.',Ext],Name)
),
!.
+
+/****************************************************************************
+ flora_compile_filename_by_token(+Token,-FileName)
+
+ This procedure returns the name of the inner-most file in the file stack
+ to which the input token belongs.
+ It fails if a shell command is being processed.
+****************************************************************************/
+flora_compile_filename_by_token(TK,FileName) :-
+ flora_file_last_token(SP,FToken),
+ FToken > TK,
+ \+ ( flora_file_last_token(_SP1,FT1), FT1 > TK, FT1 < FToken),
+ flora_file_stack(SP,Name),
+ parse_filename(Name,_,Base,Ext),
+ (Ext == '' -> FileName=Base
+ ;
+ flora_concat_atoms([Base,'.',Ext],FileName)
+ ),
+ !.
+
+flora_compile_filename_by_token(_TK,FileName) :-
+ flora_current_compile_filename(FileName).
/****************************************************************************
Index: flrparser.P
===================================================================
RCS file: /cvsroot/flora/flora2/flrparser.P,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- flrparser.P 9 Dec 2003 08:49:14 -0000 1.47
+++ flrparser.P 9 Dec 2003 21:52:07 -0000 1.48
@@ -45,8 +45,6 @@
#define ALLOW_VARIABLES allow_variables
#define DISALLOW_VARIABLES disallow_variables
-#define FLSK_DEPTH 2
-
#include "flora_errors.flh"
#include "flora_terms.flh"
Index: flrutils.H
===================================================================
RCS file: /cvsroot/flora/flora2/flrutils.H,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- flrutils.H 14 Nov 2003 07:58:38 -0000 1.19
+++ flrutils.H 9 Dec 2003 21:52:07 -0000 1.20
@@ -86,7 +86,8 @@
flora_symbol_token_struct/6,
flora_rule_delimeter_struct/6,
flora_blank_line/1,
- flora_current_compile_filename/1
+ flora_current_compile_filename/1,
+ flora_compile_filename_by_token/2
from flrlexer.
:- import
Index: flrutils.P
===================================================================
RCS file: /cvsroot/flora/flora2/flrutils.P,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- flrutils.P 14 Nov 2003 07:58:38 -0000 1.30
+++ flrutils.P 9 Dec 2003 21:52:07 -0000 1.31
@@ -1634,12 +1634,20 @@
check_for_dependencies_errorwarn([],0,0) :- !.
-check_for_dependencies_errorwarn([warning(Msg)|L],WarnNum,ErrNum) :-
+check_for_dependencies_errorwarn([warning(HTK,BTK,(MH,MB))|L],WarnNum,ErrNum) :-
!,
- ( flora_current_compile_filename(FileName) ->
- flora_warning_line('[~w] [Dependency check] ~w', [FileName,Msg])
- ;
- flora_warning_line('[Dependency check] ~w', [Msg])
+ (
+ flora_compile_filename_by_token(HTK,HFileName),
+ flora_compile_filename_by_token(BTK,BFileName) ->
+ flora_warning_line('[Dependency check] ~w in [~w] dependes on ~w in [~w]', [MH,HFileName,MB,BFileName])
+ ;
+ flora_compile_filename_by_token(HTK,HFileName),
+ flora_warning_line('[Dependency check] ~w in [~w] dependes on ~w', [MH,HFileName,MB])
+ ;
+ flora_compile_filename_by_token(BTK,BFileName),
+ flora_warning_line('[Dependency check] ~w dependes on ~w in [~w]', [MH,MB,BFileName])
+ ;
+ flora_warning_line('[Dependency check] ~w dependes on ~w', [MH,MB])
),
check_for_dependencies_errorwarn(L,WN,ErrNum),
WarnNum is WN+1.
|
|
From: <vi...@us...> - 2003-12-09 18:00:34
|
Update of /cvsroot/flora/flora2/syslib
In directory sc8-pr-cvs1:/tmp/cvs-serv12984/flora2/syslib
Modified Files:
flrdynmod.P
Log Message:
reusing same id.
Index: flrdynmod.P
===================================================================
RCS file: /cvsroot/flora/flora2/syslib/flrdynmod.P,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- flrdynmod.P 9 Dec 2003 08:54:53 -0000 1.17
+++ flrdynmod.P 9 Dec 2003 18:00:28 -0000 1.18
@@ -88,42 +88,37 @@
;
true
),
-
%% Protect call P from undefinedness check
(nonvar(ProtectCall),
- flora_in_debug_mode(_),
- flora_debug_module_registry(ModuleName)
- -> %% New Id for protecting calls. Unique Id is used because
+ %% New Id for protecting calls. Unique Id is used because
%% several calls to the same method/predicate may be in
%% progress at the same time, and we don't want to
%% inadvertantly unprotect a call that might still
%% need to be protected
+ %% the same Id is also used for the export call.
flora_increment_counter(FLORA_SYMBOL('protect_undef_call'),1,_,Id),
- flora_temp_protect_call(P,Id)
+ flora_add_undef_export_call(P,Id),
+ flora_in_debug_mode(_),
+ flora_debug_module_registry(ModuleName)
+ -> flora_temp_protect_call(P,Id)
; Id = 0
),
- (
- %% tag the call to prevent error checking for export.
- nonvar(ProtectCall) ->
- (
- flora_increment_counter(FLORA_SYMBOL('undef_export_call'),1,_,IdExport),
- flora_add_undef_export_call(P,IdExport)
- )
- ;
- IdExport = 0
- ),
%% Whether P succeeds or fails we must remove the temporary
%% skeleton from the set of facts protected from undefinedness
%% checking in flrundefined.P so that undefinedness could be
%% checked again for P.
(
call(P),
- (Id > 0 -> flora_temp_unprotect_call(Id) ; true),
- (IdExport > 0 -> flora_temp_unprotect_call(IdExport) ; true)
- ;
- Id > 0, flora_temp_unprotect_call(Id), fail
+ (Id > 0 ->
+ (
+ flora_remove_undef_export_call(Id),
+ flora_temp_unprotect_call(Id)
+ )
+ ;
+ true
+ )
;
- IdExport > 0, flora_remove_undef_export_call(IdExport), fail
+ Id > 0, flora_remove_undef_export_call(Id), flora_temp_unprotect_call(Id), fail
)
)
).
|
|
From: <vi...@us...> - 2003-12-09 08:54:57
|
Update of /cvsroot/flora/flora2/syslib
In directory sc8-pr-cvs1:/tmp/cvs-serv14504/flora2/syslib
Modified Files:
flrdynmod.P
Log Message:
uninitialized export calls handling.
Index: flrdynmod.P
===================================================================
RCS file: /cvsroot/flora/flora2/syslib/flrdynmod.P,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- flrdynmod.P 4 Dec 2003 19:38:13 -0000 1.16
+++ flrdynmod.P 9 Dec 2003 08:54:53 -0000 1.17
@@ -57,6 +57,10 @@
:- import flora_add_last/3 from flrtrim.
+:- import flora_add_undef_export_call/2,
+ flora_remove_undef_export_call/1
+ from flrexport.
+
/*********************************************************************
This file is for the following dynamic module references:
FLLIBMODLIT and FLLIBMODOBJ.
@@ -69,7 +73,7 @@
/*********************************************************************
- FLLIBMODLIT(+Functor,+Args,+ModuleName,+Caller)
+ FLLIBMODLIT(+Functor,+Args,+ModuleName,+Caller,)
*********************************************************************/
FLLIBMODLIT(F,Arg,ModuleName,Caller) :-
%% If module is a variable, we must protect the call
@@ -98,19 +102,35 @@
flora_temp_protect_call(P,Id)
; Id = 0
),
+ (
+ %% tag the call to prevent error checking for export.
+ nonvar(ProtectCall) ->
+ (
+ flora_increment_counter(FLORA_SYMBOL('undef_export_call'),1,_,IdExport),
+ flora_add_undef_export_call(P,IdExport)
+ )
+ ;
+ IdExport = 0
+ ),
%% Whether P succeeds or fails we must remove the temporary
%% skeleton from the set of facts protected from undefinedness
%% checking in flrundefined.P so that undefinedness could be
%% checked again for P.
- (call(P), (Id > 0 -> flora_temp_unprotect_call(Id) ; true)
- ; Id > 0, flora_temp_unprotect_call(Id), fail
+ (
+ call(P),
+ (Id > 0 -> flora_temp_unprotect_call(Id) ; true),
+ (IdExport > 0 -> flora_temp_unprotect_call(IdExport) ; true)
+ ;
+ Id > 0, flora_temp_unprotect_call(Id), fail
+ ;
+ IdExport > 0, flora_remove_undef_export_call(IdExport), fail
)
)
).
/*********************************************************************
- FLLIBMODOBJ(+Functor,+Args,+ModuleName,+Caller,-Predicate)
+ FLLIBMODOBJ(+Functor,+Args,+ModuleName,,+Caller,-Predicate)
*********************************************************************/
FLLIBMODOBJ(F,Arg,ModuleName,Caller,Pout) :-
(var(Arg)
@@ -131,7 +151,7 @@
This is common part of FLLIBMODLIT and FLLIBMODOBJ. Takes a term and
a module and returns a callable structure (molecule or a predicate).
- The input can also be already callable. In this case just return it.
+ The input can also be already callable. In this case just return in.
*********************************************************************/
get_libmod_callable(F,Arg,ModuleName,Caller,P) :-
is_list(Arg), !, % Term@X
@@ -157,9 +177,12 @@
flora_module_predicate(F,Arg,ModuleName,P)
)
; atom(Arg), !, % Var@..., Var bound to atom
- % If already a hilog predicate-use it. Is this case possible?
- % else a prolog 0-ary predicate
- Arg = P
+ ( % If already a hilog predicate-use it. Is this case possible?
+ is_flora_callable_literal(Arg),
+ Arg = P, !
+ ; %% else construct it
+ flora_module_predicate(WRAP_TABLED_HILOG,[Arg,Caller],ModuleName,P)
+ )
; is_nondistr_control(Arg), !,
Arg = P
; is_distr_control(Arg,Op,ArgList), !,
@@ -187,8 +210,8 @@
flora_module_predicate(WRAP_TABLED_HILOG,AugmentedArgs,ModuleName,P)
)
;
- %% Var@... where Var bound to a prolog predicate
- Arg = P
+ flora_add_last(Args,AugmentedArgs,Caller),
+ flora_module_predicate(Wrapper,AugmentedArgs,ModuleName,P)
)
).
|
|
From: <vi...@us...> - 2003-12-09 08:54:14
|
Update of /cvsroot/flora/flora2/syslib
In directory sc8-pr-cvs1:/tmp/cvs-serv14432/flora2/syslib
Modified Files:
flrexport.P
Log Message:
Passing the module name to the export call. + Uninitialized calls handling.
Index: flrexport.P
===================================================================
RCS file: /cvsroot/flora/flora2/syslib/flrexport.P,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- flrexport.P 28 Nov 2003 08:15:01 -0000 1.7
+++ flrexport.P 9 Dec 2003 08:54:11 -0000 1.8
@@ -26,23 +26,36 @@
:- compiler_options([xpp_on]).
#include "flora_terms.flh"
-%% (This_Module, [Exported_Module_Name_List], UpdatableTag, Exported_Term)
+%% (This_Module, Exported_Module, UpdatableTag, Exported_Term)
:- dynamic flora_export_registry(_,_,_,_).
+%% to prevent error checking in case on uninitialized/ undefined calls.
+:- dynamic flora_undefinedness_export_registry/2.
+
:- export
flora_reset_export_registries/1,
FLLIBEXPORT/1,
- flora_check_export_registry/2,
- flora_check_export_registry/3.
+ flora_add_undef_export_call/2,
+ flora_remove_undef_export_call/1,
+ flora_check_export_registry/3,
+ flora_check_export_registry/4.
+
+:- import
+ flora_error_notexported/1,
+ flora_error_invalid_export/1
+ from flrundefined.
+
+:- import
+ convert_to_body_literal/2,
+ get_canonical_form/2
+ from flrcanon.
-:- import flora_error_notexported/1 from flrundefined.
-:- import flora_decode_predicate/6 from flrwrapper.
-:- import convert_to_body_literal/2 from flrcanon.
%% to extract the individual terms from the detailed code.
is_flexport(FLEXPORT(UpdTag, Module, ExtModuleList, Term),UpdTag, Module, ExtModuleList, Term).
is_flexport(FLEXPORT(DynamicModule, UpdTag, Module, ExtModuleList, Term),DynamicModule, UpdTag, Module, ExtModuleList, Term).
+is_fllibmodlit(FLLIBMODLIT(_,_,_,_)).
/****************************************************************************
flora_reset_export_registries(+ModuleName)
@@ -100,40 +113,49 @@
****************************************************************************/
flora_assert_into_export_registry(DynamicModulename,SelfModuleName,ExportedModuleName,UpdateTag,Term) :-
!,
- (
- %% Succeeds if Term currently is a free variable.
- var(Term) ->
+ (
+ var(DynamicModulename) ->
(
- var(DynamicModulename) ->
- assert(flora_export_registry(SelfModuleName, ExportedModuleName, UpdateTag, Term))
- ;
- assert(flora_export_registry(DynamicModulename, ExportedModuleName, UpdateTag, Term))
+ is_fllibmodlit(Term) ->
+ %% need to check whether it is FLLIBMODLIT
+ %% error!! Since it should have been initialized before.
+ flora_error_invalid_export(Term)
+ ;
+ (
+ flora_export_registry(SelfModuleName, ExportedModuleName, UpdateTag, Term), !;
+ %%write('flora_export_registry('),write(SelfModuleName),write(','),write(ExportedModuleName),write(','),write(UpdateTag),write(','),writeln(Term),write(')'),
+ assert(flora_export_registry(SelfModuleName, ExportedModuleName, UpdateTag, Term))
+ )
)
;
- (
+ (
+ is_fllibmodlit(Term) ->
(
- var(DynamicModulename) ->
- (
- flora_export_registry(SelfModuleName, ExportedModuleName, UpdateTag, Term), !;
- %%write('flora_export_registry('),write(SelfModuleName),write(','),write(ExportedModuleName),write(','),write(UpdateTag),write(','),writeln(Term),
- assert(flora_export_registry(SelfModuleName, ExportedModuleName, UpdateTag, Term))
- )
- ;
+ %% do we need to convert it into canonical form??
+ get_canonical_form(Term,FLCANON(_,_,_,TermCode)),
(
- flora_export_registry(DynamicModulename, ExportedModuleName, UpdateTag, Term), !;
- %%write('flora_export_registry('),write(DynamicModulename),write(','),write(ExportedModuleName),write(','),write(UpdateTag),write(','),writeln(Term),
- assert(flora_export_registry(DynamicModulename, ExportedModuleName, UpdateTag, Term))
+ flora_export_registry(DynamicModulename, ExportedModuleName, UpdateTag, TermCode), !
+ ;
+ %%write('flora_export_registry('),write(DynamicModulename),write(','),write(ExportedModuleName),write(','),write(UpdateTag),write(','),writeln(TermCode),write(')'),
+ assert(flora_export_registry(DynamicModulename, ExportedModuleName, UpdateTag, TermCode))
)
)
+ ;
+ (
+ flora_export_registry(DynamicModulename, ExportedModuleName, UpdateTag, Term), !
+ ;
+ %%write('flora_export_registry('),write(DynamicModulename),write(','),write(ExportedModuleName),write(','),write(UpdateTag),write(','),writeln(Term),write(')'),
+ assert(flora_export_registry(DynamicModulename, ExportedModuleName, UpdateTag, Term))
+ )
)
).
/****************************************************************************
- flora_check_export_registry_internal(+ModuleName,+Term,+UpdateTag)
+ flora_check_export_registry_internal(+ModuleName,+ExternalModuleName,+Term,+UpdateTag)
ModuleName = The module name of the predicate that is calling the
- predicate from the external module.
+ predicate from the external module (ExternalModuleName).
Term = The representation of the predicate is of the form:
FLORA_USER_WORKSPACE(ModuleName,FunctorType)Term
@@ -143,24 +165,22 @@
Is is invoked by the flora_check_export_registry predicates.
****************************************************************************/
-flora_check_export_registry_internal(Module,Term,UpdateTag) :-
- %%get the individual terms from the details
- flora_decode_predicate(Term,_PType,ExtModuleName,_WPrefix,_PSymbol,_AList),
- %%write('flora_check_export_registry_internal--'),write(Module),write(Term),write(UpdateTag),writeln(ExtModuleName),
+flora_check_export_registry_internal(Module,ExternalModuleName,Term,UpdateTag) :-
+ %%write('flora_check_export_registry_internal--'),write(','),write(Module),write(','),write(Term),write(UpdateTag),write(','),writeln(ExternalModuleName),
(
- flora_no_predicates_exported(ExtModuleName)
+ flora_no_predicates_exported(ExternalModuleName)
;
%% If the external module is the same module, just let the call pass through.
- ExtModuleName == Module ->
+ Module == ExternalModuleName ->
true
;
%%check if it unifies without any transformations...
- flora_export_registry(ExtModuleName,Module,UpdateTag,Term)
+ flora_export_registry(ExternalModuleName,Module,UpdateTag,Term)
;
%%transformations mvd -> d_mvd types.
convert_to_body_literal(Term,ExptTerm),
%% check the export registry.
- flora_export_registry(ExtModuleName,Module,UpdateTag,ExptTerm)
+ flora_export_registry(ExternalModuleName,Module,UpdateTag,ExptTerm)
).
@@ -181,11 +201,11 @@
/****************************************************************************
- flora_check_export_registry(+ModuleName,+Term,+UpdateTag)
+ flora_check_export_registry(+ModuleName,+ExternalModuleName,+Term,+UpdateTag)
Called by the flrdb, insert delete, predicates with the Updatable tag.
****************************************************************************/
-flora_check_export_registry(Module,Term,UpdateTag) :-
- flora_check_export_registry_internal(Module,Term,UpdateTag),
+flora_check_export_registry(Module,ExternalModuleName,Term,UpdateTag) :-
+ flora_check_export_registry_internal(Module,ExternalModuleName,Term,UpdateTag),
!.
%% should fail, else will get an un-necessary extra answer
@@ -193,13 +213,58 @@
%% basic idea is the check succeeds, the call is failed & hence
%% it makes the next call & proceeds towards unification with the
%% answers.
-flora_check_export_registry(Module,Term) :-
- flora_check_export_registry_internal(Module,Term,_UpdateTag),
+flora_check_export_registry(Module,ExternalModuleName,Term) :-
+ flora_check_export_registry_internal(Module,ExternalModuleName,Term,_UpdateTag),
+ !,fail.
+
+
+%% undefideness check, before the exception.
+flora_check_export_registry(_Module,_ExternalModuleName,Term) :-
+ flora_export_undefideness_check(Term),
!,fail.
+flora_check_export_registry(_Module,_ExternalModuleName,Term,_UpdateTag) :-
+ flora_export_undefideness_check(Term),
+ !,fail.
+
+
%%error handling.
-flora_check_export_registry(_Module,Term,_UpdateTag) :-
+flora_check_export_registry(_Module,_ExternalModuleName,Term,_UpdateTag) :-
flora_error_notexported(Term).
-flora_check_export_registry(_Module,Term) :-
+flora_check_export_registry(_Module,_ExternalModuleName,Term) :-
flora_error_notexported(Term).
+
+
+/****************************************************************************
+ flora_add_undef_export_call(+Predicate,+Id)
+ Predicate is the call to be recorded as temporarily protected
+ from the undefinedness check.
+ Id is a unique Id that is used to delete the call from the registry.
+****************************************************************************/
+flora_add_undef_export_call(Predicate,Id) :-
+ %% write('Undefindness check add -- '),writeln(Predicate),
+ assert(flora_undefinedness_export_registry(Predicate,Id)).
+
+
+/****************************************************************************
+ flora_remove_undef_export_call(+Id)
+****************************************************************************/
+flora_remove_undef_export_call(Id) :-
+ retractall(flora_undefinedness_export_registry(_,Id)).
+
+
+%% Tell if call is protected
+flora_export_undefideness_check(Predicate) :-
+ %% write('Undefindness check -- '),writeln(Predicate),
+ (
+ flora_undefinedness_export_registry(Predicate,_Id)
+ ;
+ %%transformations mvd -> d_mvd types.
+ convert_to_body_literal(Predicate,PredicateTerm),
+ %% check the undefindness registry.
+ %% write('Undefindness check -- '),writeln(PredicateTerm),
+ flora_undefinedness_export_registry(PredicateTerm,_Id)
+ ).
+
+
|
|
From: <vi...@us...> - 2003-12-09 08:53:26
|
Update of /cvsroot/flora/flora2/syslib
In directory sc8-pr-cvs1:/tmp/cvs-serv14381/flora2/syslib
Modified Files:
flrdbop.P
Log Message:
Passing the module name to the export call.
Index: flrdbop.P
===================================================================
RCS file: /cvsroot/flora/flora2/syslib/flrdbop.P,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- flrdbop.P 23 Nov 2003 06:59:38 -0000 1.19
+++ flrdbop.P 9 Dec 2003 08:53:23 -0000 1.20
@@ -68,7 +68,7 @@
:- import flora_abort/0, flora_abort/1 from flrutils.
:- import flora_decode_goal_as_atom/2 from flrdecode.
-:- import flora_check_export_registry/3 from flrexport.
+:- import flora_check_export_registry/4 from flrexport.
:- import P2H_PREDICATE/4 from prolog2hilog.
@@ -105,7 +105,7 @@
flora_storage_insertfacts(ThisModuleName,[FLSYSDBUPDATE(P,StorageName,Module)|T]) :-
!,
flora_storage_check_existence(Module),
- flora_check_export_registry(ThisModuleName,P,FLEXPORT_UPDATABLE),
+ flora_check_export_registry(ThisModuleName,Module,P,FLEXPORT_UPDATABLE),
flora_internal_db_insert(StorageName,P),
flora_storage_insertfacts(ThisModuleName, T).
@@ -211,7 +211,7 @@
FLLIBDELETE(ThisModuleName,[FLSYSDBUPDATE(P,StorageName,Module)],true) :-
!,
flora_storage_check_existence(Module),
- flora_check_export_registry(ThisModuleName,P,FLEXPORT_UPDATABLE),
+ flora_check_export_registry(ThisModuleName,Module,P,FLEXPORT_UPDATABLE),
flora_db_find_base(StorageName,P),
flora_internal_db_delete(StorageName,P).
@@ -240,7 +240,8 @@
flora_storage_deletelist(ThisModuleName,[FLSYSDBUPDATE(P,StorageName)|L]) :-
!,
- flora_check_export_registry(ThisModuleName,P,FLEXPORT_UPDATABLE),
+ flora_decode_module_name(P,Module),
+ flora_check_export_registry(ThisModuleName,Module,P,FLEXPORT_UPDATABLE),
convert_to_head_literal(P,HeadP),
flora_internal_db_delete(StorageName,HeadP),
flora_storage_deletelist(ThisModuleName,L).
@@ -282,7 +283,7 @@
FLLIBDELETEALL(ThisModuleName,[FLSYSDBUPDATE(P,StorageName,Module)],true) :-
!,
flora_storage_check_existence(Module),
- flora_check_export_registry(ThisModuleName,P,FLEXPORT_UPDATABLE),
+ flora_check_export_registry(ThisModuleName,Module,P,FLEXPORT_UPDATABLE),
flora_storage_deleteall(ThisModuleName,P,StorageName).
FLLIBDELETEALL(ThisModuleName,[FLLIBMODLIT(F,Args,ModuleName1,Caller)],true) :-
@@ -338,7 +339,8 @@
flora_erase_facts(ThisModuleName,[FLSYSDBUPDATE(P,StorageName)|Fs]) :-
!,
- flora_check_export_registry(ThisModuleName,P,FLEXPORT_UPDATABLE),
+ flora_decode_module_name(P,Module),
+ flora_check_export_registry(ThisModuleName,Module,P,FLEXPORT_UPDATABLE),
flora_erase_one_fact(ThisModuleName,P,StorageName),
flora_erase_facts(ThisModuleName,Fs).
|
|
From: <vi...@us...> - 2003-12-09 08:53:06
|
Update of /cvsroot/flora/flora2/syslib
In directory sc8-pr-cvs1:/tmp/cvs-serv14312/flora2/syslib
Modified Files:
flrbtdbop.P
Log Message:
Passing the module name to the export call.
Index: flrbtdbop.P
===================================================================
RCS file: /cvsroot/flora/flora2/syslib/flrbtdbop.P,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- flrbtdbop.P 23 Nov 2003 06:59:39 -0000 1.17
+++ flrbtdbop.P 9 Dec 2003 08:53:03 -0000 1.18
@@ -68,7 +68,7 @@
:- import flora_abort/0, flora_abort/1 from flrutils.
:- import flora_decode_goal_as_atom/2 from flrdecode.
-:- import flora_check_export_registry/3 from flrexport.
+:- import flora_check_export_registry/4 from flrexport.
:- import P2H_PREDICATE/4 from prolog2hilog.
@@ -105,7 +105,7 @@
flora_storage_insertfacts_bt(ThisModuleName,[FLSYSDBUPDATE(P,StorageName,Module)|T]) :-
!,
flora_storage_check_existence(Module),
- flora_check_export_registry(ThisModuleName,P,FLEXPORT_UPDATABLE),
+ flora_check_export_registry(ThisModuleName,Module,P,FLEXPORT_UPDATABLE),
flora_internal_db_insert_bt(StorageName,P),
flora_storage_insertfacts_bt(ThisModuleName,T).
@@ -211,7 +211,7 @@
FLLIBBTDELETE(ThisModuleName,[FLSYSDBUPDATE(P,StorageName,Module)],true) :-
!,
flora_storage_check_existence(Module),
- flora_check_export_registry(ThisModuleName,P,FLEXPORT_UPDATABLE),
+ flora_check_export_registry(ThisModuleName,Module,P,FLEXPORT_UPDATABLE),
flora_db_find_base(StorageName,P),
flora_internal_db_delete_bt(StorageName,P).
@@ -240,7 +240,8 @@
flora_storage_deletelist_bt(ThisModuleName,[FLSYSDBUPDATE(P,StorageName)|L]) :-
!,
- flora_check_export_registry(ThisModuleName,P,FLEXPORT_UPDATABLE),
+ flora_decode_module_name(P,Module),
+ flora_check_export_registry(ThisModuleName,Module,P,FLEXPORT_UPDATABLE),
convert_to_head_literal(P,HeadP),
flora_internal_db_delete_bt(StorageName,HeadP),
flora_storage_deletelist_bt(ThisModuleName,L).
@@ -282,7 +283,7 @@
FLLIBBTDELETEALL(ThisModuleName,[FLSYSDBUPDATE(P,StorageName,Module)],true) :-
!,
flora_storage_check_existence(Module),
- flora_check_export_registry(ThisModuleName,P,FLEXPORT_UPDATABLE),
+ flora_check_export_registry(ThisModuleName,Module,P,FLEXPORT_UPDATABLE),
flora_storage_deleteall_bt(ThisModuleName,P,StorageName).
FLLIBBTDELETEALL(ThisModuleName,[FLLIBMODLIT(F,Args,ModuleName1,Caller)],true) :-
@@ -338,7 +339,8 @@
flora_bterase_facts(ThisModuleName,[FLSYSDBUPDATE(P,StorageName)|Fs]) :-
!,
- flora_check_export_registry(ThisModuleName,P,FLEXPORT_UPDATABLE),
+ flora_decode_module_name(P,Module),
+ flora_check_export_registry(ThisModuleName,Module,P,FLEXPORT_UPDATABLE),
flora_bterase_one_fact(ThisModuleName,P,StorageName),
flora_bterase_facts(ThisModuleName,Fs).
|
|
From: <vi...@us...> - 2003-12-09 08:52:38
|
Update of /cvsroot/flora/flora2/includes In directory sc8-pr-cvs1:/tmp/cvs-serv14251/flora2/includes Modified Files: flrdefinition.flh Log Message: change in predicate definition. Index: flrdefinition.flh =================================================================== RCS file: /cvsroot/flora/flora2/includes/flrdefinition.flh,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- flrdefinition.flh 6 Sep 2003 00:53:51 -0000 1.8 +++ flrdefinition.flh 9 Dec 2003 08:52:33 -0000 1.9 @@ -26,7 +26,7 @@ :- import flora_set_counter/2 from flrporting. :- import flora_error_undefined/1 from flrundefined. :- import flora_error_notexported/1 from flrundefined. -:- import flora_check_export_registry/2 from flrexport. +:- import flora_check_export_registry/3 from flrexport. :- import flora_reset_export_registries/1 from flrexport. ?- storage_delete_all(FLORA_THIS_FLD_STORAGE). |
|
From: <vi...@us...> - 2003-12-09 08:51:55
|
Update of /cvsroot/flora/flora2/genincludes In directory sc8-pr-cvs1:/tmp/cvs-serv14129/flora2/genincludes Modified Files: flrexportcheck.fli Log Message: Passing the module name to the export call. Index: flrexportcheck.fli =================================================================== RCS file: /cvsroot/flora/flora2/genincludes/flrexportcheck.fli,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- flrexportcheck.fli 14 Nov 2003 07:58:39 -0000 1.2 +++ flrexportcheck.fli 9 Dec 2003 08:51:51 -0000 1.3 @@ -14,204 +14,205 @@ #include "flora_wspredicates.flh" +:- WRAP_COPY_UNQUOTED 'FLORA_THIS_MODULE_NAME'. WRAP_D_ISA(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_ISA(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_ISA(X,Y,Caller)). WRAP_D_SUB(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_SUB(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_SUB(X,Y,Caller)). WRAP_D_METH(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_METH(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_METH(X,Y,Caller)). WRAP_D_IMETH(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_IMETH(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IMETH(X,Y,Caller)). WRAP_D_FD(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_FD(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_FD(X,Y,Z,Caller)). WRAP_D_IFD(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_IFD(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IFD(X,Y,Z,Caller)). WRAP_D_FDDEF(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_FDDEF(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_FDDEF(X,Y,Caller)). WRAP_D_IFDDEF(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_IFDDEF(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IFDDEF(X,Y,Caller)). WRAP_D_FDSIG(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_FDSIG(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_FDSIG(X,Y,Z,Caller)). WRAP_D_FDSIGDEF(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_FDSIGDEF(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_FDSIGDEF(X,Y,Caller)). WRAP_D_IFDSIG(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_IFDSIG(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IFDSIG(X,Y,Z,Caller)). WRAP_D_IFDSIGDEF(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_IFDSIGDEF(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IFDSIGDEF(X,Y,Caller)). WRAP_D_MVD(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_MVD(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_MVD(X,Y,Z,Caller)). WRAP_D_IMVD(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_IMVD(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IMVD(X,Y,Z,Caller)). WRAP_D_MVDDEF(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_MVDDEF(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_MVDDEF(X,Y,Caller)). WRAP_D_IMVDDEF(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_IMVDDEF(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IMVDDEF(X,Y,Caller)). WRAP_D_MVDSIG(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_MVDSIG(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_MVDSIG(X,Y,Caller)). WRAP_D_MVDSIGDEF(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_MVDSIGDEF(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_MVDSIGDEF(X,Y,Caller)). WRAP_D_IMVDSIG(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_IMVDSIG(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IMVDSIG(X,Y,Z,Caller)). WRAP_D_IMVDSIGDEF(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_IMVDSIGDEF(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IMVDSIGDEF(X,Y,Caller)). WRAP_D_MVDINC(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_MVDINC(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_MVDINC(X,Y,Z,Caller)). WRAP_D_IMVDINC(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_IMVDINC(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IMVDINC(X,Y,Z,Caller)). WRAP_D_MVDTOLIST(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_MVDTOLIST(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_MVDTOLIST(X,Y,Z,Caller)). WRAP_D_IMVDTOLIST(X,Y,Z,Caller) :- - flora_check_export_registry(Caller, WRAP_IMVDTOLIST(X,Y,Z,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_IMVDTOLIST(X,Y,Z,Caller)). WRAP_D_TRAN(X,Y,Caller) :- - flora_check_export_registry(Caller, WRAP_TRAN(X,Y,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TRAN(X,Y,Caller)). WRAP_HILOG(X01,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,Caller)). WRAP_HILOG(X01,X02,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,Caller)). WRAP_HILOG(X01,X02,X03,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,Caller)). WRAP_HILOG(X01,X02,X03,X04,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,Caller)). WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,Caller) :- - flora_check_export_registry(Caller, WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,Caller)). WRAP_TABLED_HILOG(X01,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,Caller)). WRAP_TABLED_HILOG(X01,X02,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,Caller)). WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,Caller) :- - flora_check_export_registry(Caller, WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,Caller)). + flora_check_export_registry(Caller, 'FLORA_THIS_MODULE_NAME', WRAP_TABLED_HILOG(X01,X02,X03,X04,X05,X06,X07,X08,X09,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,Caller)). |