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
|
5
(12) |
6
(15) |
7
|
8
(23) |
9
|
10
(5) |
|
11
|
12
(2) |
13
(1) |
14
|
15
(2) |
16
|
17
(5) |
|
18
(2) |
19
|
20
|
21
|
22
(6) |
23
|
24
(8) |
|
25
|
26
|
27
|
28
|
|
|
|
|
From: Michael K. <ki...@us...> - 2007-02-24 22:16:07
|
Update of /cvsroot/flora/flora2/datatypes In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv19123/datatypes Modified Files: flrdatatype_parse.P flrdatatype.P Log Message: added methods to data types Index: flrdatatype_parse.P =================================================================== RCS file: /cvsroot/flora/flora2/datatypes/flrdatatype_parse.P,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- flrdatatype_parse.P 24 Feb 2007 19:04:22 -0000 1.5 +++ flrdatatype_parse.P 24 Feb 2007 22:15:59 -0000 1.6 @@ -222,7 +222,7 @@ -> parse_time(TimePart,Idx,ERROR_DATETIME_LITERAL, [H1,H2],[M1,M2],[S1,S2],MilSec, ZSign,ZH,ZM,TNumericValue,Status), - NumericValue = DNumericValue * 24 * 3600 + TNumericValue + NumericValue is DNumericValue * 24 * 3600 + TNumericValue ; Status=DStatus ) ; parse_date(LitChars,Idx,ERROR_DATETIME_LITERAL, Index: flrdatatype.P =================================================================== RCS file: /cvsroot/flora/flora2/datatypes/flrdatatype.P,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- flrdatatype.P 24 Feb 2007 19:04:22 -0000 1.6 +++ flrdatatype.P 24 Feb 2007 22:15:59 -0000 1.7 @@ -135,6 +135,7 @@ flora_builtin_datatype(FL_DECIMAL). flora_builtin_datatype(FL_BOOL). flora_builtin_datatype(FL_CHARLIST). +flora_builtin_datatype(FL_LISTTYPE). flora_primitive_datatype(FL_STRING). flora_primitive_datatype(FL_INTEGER). @@ -143,7 +144,6 @@ flora_primitive_datatype(FL_FLOAT). flora_primitive_datatype(FL_DECIMAL). flora_primitive_datatype(FL_BOOL). -flora_primitive_datatype(FL_CHARLIST). %% Canonical representation of data types %% Need to expand! @@ -235,6 +235,9 @@ +flora_type_numeric_value(FL_DATATYPE(Literal,_),Val) :- + flora_type_numeric_value(Literal,Val), + !. flora_type_numeric_value(FL_DATETIME(_,_,_,_,_,_,_,_,_,_,_,Val),Val) :- !. flora_type_numeric_value(FL_DATE(_,_,_,_,_,_,_,Val),Val) :- !. flora_type_numeric_value(FL_TIME(_,_,_,_,_,_,_,Val),Val) :- !. |
|
From: Michael K. <ki...@us...> - 2007-02-24 22:16:07
|
Update of /cvsroot/flora/flora2/lib In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv19123/lib Modified Files: flrbasetype.flr Log Message: added methods to data types Index: flrbasetype.flr =================================================================== RCS file: /cvsroot/flora/flora2/lib/flrbasetype.flr,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- flrbasetype.flr 24 Feb 2007 19:04:22 -0000 1.5 +++ flrbasetype.flr 24 Feb 2007 22:15:59 -0000 1.6 @@ -30,6 +30,13 @@ ?[_toString->?], ?[_rawValue->?], ?[_typeName->?], + ?[_equals(?)], + ?[_isTypeOf(?)], + ?[_lessThan(?)], + ?[_toType(?)], // all types + ?[_toType(?,?,?,?,?,?,?)], // _time/7, _date/7 + ?[_toType(?,?,?,?,?,?,?,?)], // _uri/8 + ?[_toType(?,?,?,?,?,?,?,?,?,?)], // _dateTime/10 ?[_hour->?], ?[_minute->?], ?[_second->?], @@ -71,6 +78,11 @@ _time?D[_zoneSign->?V] :- zoneSign(?D,?V)@_prolog(flrdatatype), !. _time?D[_zoneHour->?V] :- zoneHour(?D,?V)@_prolog(flrdatatype), !. _time?D[_zoneMinute->?V] :- zoneMinute(?D,?V)@_prolog(flrdatatype), !. +_time?D[_lessThan(_time?D2)] :- + flora_type_numeric_value(?D,?V)@_prolog(flrdatatype), + flora_type_numeric_value(?D2,?V2)@_prolog(flrdatatype), + ?V < ?V2. +_time[_isTypeOf(_time?_V)] :- !. // date _date?D[_dateSign->?V] :- datesign(?D,?V)@_prolog(flrdatatype), !. @@ -80,6 +92,11 @@ _date?D[_zoneSign->?V] :- zoneSign(?D,?V)@_prolog(flrdatatype), !. _date?D[_zoneHour->?V] :- zoneHour(?D,?V)@_prolog(flrdatatype), !. _date?D[_zoneMinute->?V] :- zoneMinute(?D,?V)@_prolog(flrdatatype), !. +_date?D[_lessThan(_date?D2)] :- + flora_type_numeric_value(?D,?V)@_prolog(flrdatatype), + flora_type_numeric_value(?D2,?V2)@_prolog(flrdatatype), + ?V < ?V2. +_date[_isTypeOf(_date?_V)] :- !. // dateTime _dateTime?D[_hour->?V] :- hour(?D,?V)@_prolog(flrdatatype), !. @@ -93,6 +110,11 @@ _dateTime?D[_zoneSign->?V] :- zoneSign(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_zoneHour->?V] :- zoneHour(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_zoneMinute->?V] :- zoneMinute(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_lessThan(_dateTime?D2)] :- + flora_type_numeric_value(?D,?V)@_prolog(flrdatatype), + flora_type_numeric_value(?D2,?V2)@_prolog(flrdatatype), + ?V < ?V2. +_dateTime[_isTypeOf(_dateTime?_V)] :- !. // uri _uri?D[_scheme->?V] :- scheme(?D,?V)@_prolog(flrdatatype), !. @@ -102,8 +124,35 @@ _uri?D[_path->?V] :- path(?D,?V)@_prolog(flrdatatype), !. _uri?D[_query->?V] :- query(?D,?V)@_prolog(flrdatatype), !. _uri?D[_fragment->?V] :- fragment(?D,?V)@_prolog(flrdatatype), !. +_uri[_isTypeOf(_uri?_V)] :- !. + +// numbers +?N[_lessThan(?N2)] :- number(?N), number(?N2), ?N < ?N2. +_long[_isTypeOf(?_V)] :- ?_V : _long. +_double[_isTypeOf(?_V)] :- ?_V : _double. + +// strings +?N[_lessThan(?N2)] :- ?N : _string, N2 : _string, ?N @< ?N2. +_string[_isTypeOf(?_V)] :- ?_V : _string. // general ?D[_toString->?V] :- flora_printable_type_representation(?D,[?_TName,?V])@_prolog(flrdatatype), !. ?D[_rawValue->?V] :- flora_datatype_raw_value(?D,?V)@_prolog(flrdatatype), !. ?D[_typeName->?V] :- flora_datatype_name(?D,?V)@_prolog(flrdatatype), !. + +?_D[_equals(?_D)] :- !. + +// catch cases when class methods are applied to instances by mistake +?T[_isTypeOf(?)] :- class_type_error(?T,'_isTypeOf'). + +?T[_toType(?)] :- class_type_error(?T,'_toType'). +?T[_toType(?,?,?,?,?,?,?)] :- class_type_error(?T,'_toType'). // 7 args +?T[_toType(?,?,?,?,?,?,?,?)] :- class_type_error(?T,'_toType'). // 8 args +?T[_toType(?,?,?,?,?,?,?,?,?,?)] :- class_type_error(?T,'_toType'). // 10 args + +class_type_error(?Typ,?Meth) :- + flora_builtin_datatype(?BI)@_prolog(flrdatatype), + ?Typ : ?BI, + flora_decode_oid_as_atom(?Typ,?PrintableT)@_prolog(flrdecode), + %abort([?PrintableT, '[', ?Meth, '(?)]: ', + ?PrintableT, ' must be a data type'])@_system. |
|
From: Michael K. <ki...@us...> - 2007-02-24 19:05:15
|
Update of /cvsroot/flora/flora-testsuite/general_tests In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv11171/general_tests Modified Files: basetypes_old basetypes.flr Log Message: updated for date type. Index: basetypes.flr =================================================================== RCS file: /cvsroot/flora/flora-testsuite/general_tests/basetypes.flr,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- basetypes.flr 17 Feb 2007 23:29:27 -0000 1.3 +++ basetypes.flr 24 Feb 2007 19:05:05 -0000 1.4 @@ -6,11 +6,9 @@ // these are used to test if typed variables get bound correctly ppp(_foo?X) :- ?Y = _foo?X, (write('compiled varY='), - flora_decode_oid_as_atom(?Y,?A)@_plg(flrdecode), - write(?A), + flora_write_oid(?Y)@_plg(flrdecode), write(' varX='), - flora_write_oid(?X)@_plg(flrdecode), - write(' '))@_plg. + flora_write_oid(?X)@_plg(flrdecode))@_plg. qqq(_t?X) :- ?Y = _t?X, ?Y=_t"23:33:44", write('compiled varX=')@_plg, flora_write_oid(?X)@_plg(flrdecode). @@ -22,13 +20,29 @@ (write('inserted varY='), flora_write_oid(?Y)@_plg(flrdecode), write(' varX='), - flora_write_oid(?X)@_plg(flrdecode), - write(' '))@_plg}. + flora_write_oid(?X)@_plg(flrdecode))@_plg}. ?- insertrule{fff(?X) :- ?Y = _dt?X, ?Y=_dt"2002-02-12T23:33:44+02:09", write('inserted varX=')@_plg, flora_write_oid(?X)@_plg(flrdecode)}. +%test0 :- write('test0: ')@_prolog, + _d"2007-11-22+11:33"[_year->?Y]@_basetype, ?Y:_integer, + _d"2007-11-22-11:33"[_day->?D]@_basetype, ?D:_integer, + _d"2007-11-22+11:33"[_month->?Mon]@_basetype, ?Mon:_integer, + _d"2007-11-22"[_zoneHour->?ZH]@_basetype, ?ZH:_integer, + _d"2007-11-22-12:00"[_zoneSign->?ZS]@_basetype, ?ZH:_integer, + _d"2007-11-22-12:00"[_zoneHour->?ZH2]@_basetype, ?ZH:_integer, + _d"2007-11-22+11:33"[_zoneMinute->?ZM]@_basetype,?ZM:_integer, + _d"2007-11-22"[_zoneMinute->?ZM2]@_basetype,?ZM:_integer, + _d"2007-11-22+11:33"[_toString->?Str]@_basetype, + _d"2007-11-22"[_toString->?Str2]@_basetype, + ( write(?Y), write('|'), write(?D), write('|'), write(?Mon), + write('|'), write(?ZS), write('|'), write(?ZH), write('|'), + write(?ZH2), write('|'), + write(?ZM), write('|'),write(?ZM2), + write('-->'), write(?Str), write('-->'), write(?Str2), + nl )@_plg. %test1 :- write('test1: ')@_prolog, _dt"2007-11-22T23:33:55+11:33"[_year->?Y]@_basetype, ?Y:_integer, @@ -37,14 +51,18 @@ _dt"2007-11-22T23:33:55+11:33"[_hour->?Hr]@_basetype, ?Hr:_integer, _dt"2007-11-22T23:33:55+11:33"[_minute->?Min]@_basetype, ?Min:_integer, _dt"2007-11-22T23:33:55+11:33"[_second->?Sec]@_basetype, ?Sec:_integer, + _dt"2007-11-22T23:33:55.2233+11:33"[_fracsecond->?FSec]@_basetype, ?FSec:_integer, _dt"2007-11-22T23:33:55-11:33"[_zoneSign->?ZS]@_basetype, ?ZS:_integer, _dt"2007-11-22T23:33:55+11:33"[_zoneHour->?ZH]@_basetype, ?ZH:_integer, _dt"2007-11-22T23:33:55+11:33"[_zoneMinute->?ZM]@_basetype,?ZM:_integer, _dt"2007-11-22T23:33:55+11:33"[_toString->?Str]@_basetype, + _dt"2007-11-22T23:33:55.2233+11:33"[_toString->?Str2]@_basetype, ( write(?Y), write('|'), write(?D), write('|'), write(?Mon), write('|'), write(?Hr), write('|'), write(?Min), write('|'), write(?Sec), + write('|'), write(?FSec), write('|'), write(?ZS), write('|'), write(?ZH), write('|'),write(?ZM), - write('-->'), write(?Str), nl )@_plg. + write('-->'), write(?Str), write('-->'), write(?Str2), + nl )@_plg. %test2 :- write('test2: ')@_prolog, _dt"2007-11-22"[_year->?Y]@_basetype, ?Y:_integer, @@ -69,22 +87,43 @@ _dt"2007-11-22T23:33:55"[_hour->?Hr]@_basetype, ?Hr:_integer, _dt"2007-11-22T23:33:55"[_minute->?Min]@_basetype, ?Min:_integer, _dt"2007-11-22T23:33:55"[_second->?Sec]@_basetype, ?Sec:_integer, + _dt"2007-11-22T23:33:55.2233"[_fracsecond->?FSec]@_basetype, ?FSec:_integer, _dt"2007-11-22T23:33:55"[_zoneSign->?ZS]@_basetype, ?ZS:_integer, _dt"2007-11-22T23:33:55"[_zoneHour->?ZH]@_basetype, ?ZH:_integer, _dt"2007-11-22T23:33:55"[_zoneMinute->?ZM]@_basetype,?ZM:_integer, _dt"2007-11-22T23:33:55"[_toString->?Str]@_basetype, + _dt"2007-11-22T23:33:55.2233"[_toString->?Str2]@_basetype, ( write(?Y), write('|'), write(?D), write('|'), write(?Mon), write('|'), write(?Hr), write('|'), write(?Min), write('|'), write(?Sec), + write('|'), write(?FSec), write('|'), write(?ZS), write('|'), write(?ZH),write('|'),write(?ZM), - write('-->'), write(?Str), nl )@_plg. + write('-->'), write(?Str), + write('-->'), write(?Str2), + nl )@_plg. %test4 :- write('test4: ')@_prolog, _t"23:33:55"[_hour->?Hr]@_basetype, ?Hr:_integer, _t"23:33:55"[_minute->?Min]@_basetype, ?Min:_integer, _t"23:33:55"[_second->?Sec]@_basetype, ?Sec:_integer, + _t"23:33:55.2233"[_fracsecond->?FSec]@_basetype, ?FSec:_integer, + _t"23:33:55-12:30"[_zoneSign->?ZS]@_basetype, ?ZS:_integer, + _t"23:33:55.2233-12:30"[_zoneHour->?ZH]@_basetype, ?ZH:_integer, + _t"23:33:55-12:30"[_zoneMinute->?ZM]@_basetype, ?ZM:_integer, _t"23:33:55"[_toString->?Str]@_basetype, - ( write(?Hr), write('|'), write(?Min), write('|'), write(?Sec), - write('-->'), write(?Str), nl )@_plg. + _t"23:33:55+11:00"[_toString->?Str2]@_basetype, + _t"23:33:55.2233"[_toString->?Str3]@_basetype, + _t"23:33:55.2233+11:00"[_toString->?Str4]@_basetype, + ( write(?Hr), write('|'), write(?Min), + write('|'), write(?Sec), + write('|'), write(?FSec), + write('|'), write(?ZS), + write('|'), write(?ZH), + write('|'), write(?ZM), + write('-->'), write(?Str), + write('-->'), write(?Str2), + write('-->'), write(?Str3), + write('-->'), write(?Str4), + nl )@_plg. %test5 :- write('test5: ')@_prolog, @@ -264,7 +303,7 @@ fff(?), nl@_plg. -%pretest :- %test1, %test2 and %test3 and %test4, +%pretest :- %test0, %test1, %test2 and %test3 and %test4, %test5, %test6, %test7, %test8, %test9, %test10, %test11, %test12, %test13, %test14, %test15, %test16, %test17, %test18, %test19, %test20. Index: basetypes_old =================================================================== RCS file: /cvsroot/flora/flora-testsuite/general_tests/basetypes_old,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- basetypes_old 17 Feb 2007 23:29:27 -0000 1.2 +++ basetypes_old 24 Feb 2007 19:05:05 -0000 1.3 @@ -1,40 +1,42 @@ -test1: 2007|22|11|23|33|55|-1|11|33-->_dateTime"2007-11-22T23:33:55+11:33" -test2: 2007|22|11|0|0|0|1|0|0-->_dateTime"2007-11-22T00:00:00+00:00" -test3: 2007|22|11|23|33|55|1|0|0-->_dateTime"2007-11-22T23:33:55+00:00" -test4: 23|33|55-->_time"23:33:55" -test5: http+foouser+foo.bar.com+22+/path+query+fragment-->_uri"http://foouser@foo.bar.com:22/path?query#fragment" -test6: http++foo.bar.com++/path+query+fragment-->_uri"http://foo.bar.com/path?query#fragment" -test7: http++foo.bar.com++/path++fragment-->_uri"http://foo.bar.com/path#fragment" -test8: http++foo.bar.com+22+/path+query+-->_uri"http://foo.bar.com:22/path?query" -test9: http++foo.bar.com+22+/path++-->_uri"http://foo.bar.com:22/path" -test10: http++foo.bar.com+22+++-->_uri"http://foo.bar.com:22" -test11: mailto+user+foo.bar.com++++-->_uri"mailto:us...@fo..." -test12: file++++/abc/cde/efg++-->_uri"file:///abc/cde/efg" -test13: urn++++abc123:something:else++-->_uri"urn:abc123:something:else" -test14: /bla+u-->_uri"ftp://u@foo.bar.com/bla#bar" -test15: _uri"ftp://u@foo.bar.com/bla#bar"+_uri"ftp://u@foo.bar.com/blabar"+_uri"ftp://u@foo.bar.com/bla#bar"+_uri"http://vv@bar.foo.com/aaa#bar"+_uri"http://vv@bar.foo.com/aaabar"+_uri"http://vv@bar.foo.com/aaa#bar"+_uri"mailto:foo@bar"+_uri"mailto:foo@bar" -test16: compiled varY=_foo"abc" varX=_foo"abc" +test0: 2007|22|11|-1|0|12|33|0-->2007-11-22+11:33-->2007-11-22 +test1: 2007|22|11|23|33|55|2233|-1|11|33-->2007-11-22T23:33:55+11:33-->2007-11-22T23:33:55.2233+11:33 +test2: 2007|22|11|0|0|0|1|0|0-->2007-11-22 +test3: 2007|22|11|23|33|55|2233|1|0|0-->2007-11-22T23:33:55-->2007-11-22T23:33:55.2233 +test4: 23|33|55|2233|-1|12|30-->23:33:55-->23:33:55+11:00-->23:33:55.2233-->23:33:55.2233+11:00 +test5: http+foouser+foo.bar.com+22+/path+query+fragment-->http://foouser@foo.bar.com:22/path?query#fragment +test6: http++foo.bar.com++/path+query+fragment-->http://foo.bar.com/path?query#fragment +test7: http++foo.bar.com++/path++fragment-->http://foo.bar.com/path#fragment +test8: http++foo.bar.com+22+/path+query+-->http://foo.bar.com:22/path?query +test9: http++foo.bar.com+22+/path++-->http://foo.bar.com:22/path +test10: http++foo.bar.com+22+++-->http://foo.bar.com:22 +test11: mailto+user+foo.bar.com++++-->mailto:us...@fo... +test12: file++++/abc/cde/efg++-->file:///abc/cde/efg +test13: urn++++abc123:something:else++-->urn:abc123:something:else +test14: /bla+u-->ftp://u@foo.bar.com/bla#bar +test15: ftp://u@foo.bar.com/bla#bar+ftp://u@foo.bar.com/blabar+ftp://u@foo.bar.com/bla#bar+http://vv@bar.foo.com/aaa#bar+http://vv@bar.foo.com/aaabar+http://vv@bar.foo.com/aaa#bar+mailto:foo@bar+mailto:foo@bar +test16: compiled varY=_foo"abc" varX=_foo"abc" test17: compiled varX=_time"23:33:44" test18: compiled varY=_time"23:33:44" -test19: inserted varY=_moo"cde" varX=_moo"cde" +test19: inserted varY=_moo"cde" varX=_moo"cde" test20: inserted varX=_dateTime"2002-02-12T23:33:44+02:09" -test1: 2007|22|11|23|33|55|-1|11|33-->_dateTime"2007-11-22T23:33:55+11:33" -test2: 2007|22|11|0|0|0|1|0|0-->_dateTime"2007-11-22T00:00:00+00:00" -test3: 2007|22|11|23|33|55|1|0|0-->_dateTime"2007-11-22T23:33:55+00:00" -test4: 23|33|55-->_time"23:33:55" -test5: http+foouser+foo.bar.com+22+/path+query+fragment-->_uri"http://foouser@foo.bar.com:22/path?query#fragment" -test6: http++foo.bar.com++/path+query+fragment-->_uri"http://foo.bar.com/path?query#fragment" -test7: http++foo.bar.com++/path++fragment-->_uri"http://foo.bar.com/path#fragment" -test8: http++foo.bar.com+22+/path+query+-->_uri"http://foo.bar.com:22/path?query" -test9: http++foo.bar.com+22+/path++-->_uri"http://foo.bar.com:22/path" -test10: http++foo.bar.com+22+++-->_uri"http://foo.bar.com:22" -test11: mailto+user+foo.bar.com++++-->_uri"mailto:us...@fo..." -test12: file++++/abc/cde/efg++-->_uri"file:///abc/cde/efg" -test13: urn++++abc123:something:else++-->_uri"urn:abc123:something:else" -test14: /bla+u-->_uri"ftp://u@foo.bar.com/bla#bar" -test15: _uri"ftp://u@foo.bar.com/bla#bar"+_uri"ftp://u@foo.bar.com/blabar"+_uri"ftp://u@foo.bar.com/bla#bar"+_uri"http://vv@bar.foo.com/aaa#bar"+_uri"http://vv@bar.foo.com/aaabar"+_uri"http://vv@bar.foo.com/aaa#bar"+_uri"mailto:foo@bar"+_uri"mailto:foo@bar" -test16: compiled varY=_foo"abc" varX=_foo"abc" +test0: 2007|22|11|-1|0|12|33|0-->2007-11-22+11:33-->2007-11-22 +test1: 2007|22|11|23|33|55|2233|-1|11|33-->2007-11-22T23:33:55+11:33-->2007-11-22T23:33:55.2233+11:33 +test2: 2007|22|11|0|0|0|1|0|0-->2007-11-22 +test3: 2007|22|11|23|33|55|2233|1|0|0-->2007-11-22T23:33:55-->2007-11-22T23:33:55.2233 +test4: 23|33|55|2233|-1|12|30-->23:33:55-->23:33:55+11:00-->23:33:55.2233-->23:33:55.2233+11:00 +test5: http+foouser+foo.bar.com+22+/path+query+fragment-->http://foouser@foo.bar.com:22/path?query#fragment +test6: http++foo.bar.com++/path+query+fragment-->http://foo.bar.com/path?query#fragment +test7: http++foo.bar.com++/path++fragment-->http://foo.bar.com/path#fragment +test8: http++foo.bar.com+22+/path+query+-->http://foo.bar.com:22/path?query +test9: http++foo.bar.com+22+/path++-->http://foo.bar.com:22/path +test10: http++foo.bar.com+22+++-->http://foo.bar.com:22 +test11: mailto+user+foo.bar.com++++-->mailto:us...@fo... +test12: file++++/abc/cde/efg++-->file:///abc/cde/efg +test13: urn++++abc123:something:else++-->urn:abc123:something:else +test14: /bla+u-->ftp://u@foo.bar.com/bla#bar +test15: ftp://u@foo.bar.com/bla#bar+ftp://u@foo.bar.com/blabar+ftp://u@foo.bar.com/bla#bar+http://vv@bar.foo.com/aaa#bar+http://vv@bar.foo.com/aaabar+http://vv@bar.foo.com/aaa#bar+mailto:foo@bar+mailto:foo@bar +test16: compiled varY=_foo"abc" varX=_foo"abc" test17: compiled varX=_time"23:33:44" test18: compiled varY=_time"23:33:44" -test19: inserted varY=_moo"cde" varX=_moo"cde" +test19: inserted varY=_moo"cde" varX=_moo"cde" test20: inserted varX=_dateTime"2002-02-12T23:33:44+02:09" |
|
From: Michael K. <ki...@us...> - 2007-02-24 19:04:43
|
Update of /cvsroot/flora/flora2/lib In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv10931/lib Modified Files: flrbasetype.flr Log Message: added _date type. Added second fraction to time, datetime, zone to time Index: flrbasetype.flr =================================================================== RCS file: /cvsroot/flora/flora2/lib/flrbasetype.flr,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- flrbasetype.flr 22 Feb 2007 00:46:56 -0000 1.4 +++ flrbasetype.flr 24 Feb 2007 19:04:22 -0000 1.5 @@ -33,6 +33,7 @@ ?[_hour->?], ?[_minute->?], ?[_second->?], + ?[_fracsecond->?], ?[_dateSign->?], ?[_year->?], ?[_month->?], @@ -66,11 +67,25 @@ _time?D[_hour->?V] :- hour(?D,?V)@_prolog(flrdatatype), !. _time?D[_minute->?V] :- minute(?D,?V)@_prolog(flrdatatype), !. _time?D[_second->?V] :- second(?D,?V)@_prolog(flrdatatype), !. +_time?D[_fracsecond->?V] :- fracsecond(?D,?V)@_prolog(flrdatatype), !. +_time?D[_zoneSign->?V] :- zoneSign(?D,?V)@_prolog(flrdatatype), !. +_time?D[_zoneHour->?V] :- zoneHour(?D,?V)@_prolog(flrdatatype), !. +_time?D[_zoneMinute->?V] :- zoneMinute(?D,?V)@_prolog(flrdatatype), !. + +// date +_date?D[_dateSign->?V] :- datesign(?D,?V)@_prolog(flrdatatype), !. +_date?D[_year->?V] :- year(?D,?V)@_prolog(flrdatatype), !. +_date?D[_month->?V] :- month(?D,?V)@_prolog(flrdatatype), !. +_date?D[_day->?V] :- day(?D,?V)@_prolog(flrdatatype), !. +_date?D[_zoneSign->?V] :- zoneSign(?D,?V)@_prolog(flrdatatype), !. +_date?D[_zoneHour->?V] :- zoneHour(?D,?V)@_prolog(flrdatatype), !. +_date?D[_zoneMinute->?V] :- zoneMinute(?D,?V)@_prolog(flrdatatype), !. // dateTime _dateTime?D[_hour->?V] :- hour(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_minute->?V] :- minute(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_second->?V] :- second(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_fracsecond->?V] :- fracsecond(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_dateSign->?V] :- datesign(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_year->?V] :- year(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_month->?V] :- month(?D,?V)@_prolog(flrdatatype), !. |
|
From: Michael K. <ki...@us...> - 2007-02-24 19:04:43
|
Update of /cvsroot/flora/flora2/pkgs In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv10931/pkgs Modified Files: prettyprint.flr Log Message: added _date type. Added second fraction to time, datetime, zone to time Index: prettyprint.flr =================================================================== RCS file: /cvsroot/flora/flora2/pkgs/prettyprint.flr,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- prettyprint.flr 8 Feb 2007 00:45:39 -0000 1.1 +++ prettyprint.flr 24 Feb 2007 19:04:21 -0000 1.2 @@ -23,21 +23,22 @@ ** */ -/* To pretty print an object: -** ?- obj[%pp_self]@_pp. -** ?- obj[%pp_self(module)]@_pp. +/* To pretty print an object do (where pp is assumed to be the name +** of the module where this package isloaded. +** ?- obj[%pp_self]@pp. +** ?- obj[%pp_self(module)]@pp. ** To save it in a file: -** ?- obj[%pp_self(module,outfile)]@_pp. +** ?- obj[%pp_self(module,outfile)]@pp. ** To pretty print a class: -** ?- class[%pp_class]@_pp. -** ?- class[%pp_class(module)]@_pp. +** ?- class[%pp_class]@pp. +** ?- class[%pp_class(module)]@pp. ** To save result of a pretty-printed class in a file: -** ?- class[%pp_class(module,outfile)]@_pp. +** ?- class[%pp_class(module,outfile)]@pp. ** To print the information about class membership: -** ?- class[%pp_isa]@_pp. -** ?- class[%pp_isa(module)]@_pp. +** ?- class[%pp_isa]@pp. +** ?- class[%pp_isa(module)]@pp. ** To save it in a file: -** ?- class[%pp_isa(module,outfile)]@_pp. +** ?- class[%pp_isa(module,outfile)]@pp. */ :- export |
|
From: Michael K. <ki...@us...> - 2007-02-24 19:04:35
|
Update of /cvsroot/flora/flora2/datatypes In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv10931/datatypes Modified Files: flrdatatype_parse.P flrdatatype.P Log Message: added _date type. Added second fraction to time, datetime, zone to time Index: flrdatatype_parse.P =================================================================== RCS file: /cvsroot/flora/flora2/datatypes/flrdatatype_parse.P,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- flrdatatype_parse.P 22 Feb 2007 00:46:56 -0000 1.4 +++ flrdatatype_parse.P 24 Feb 2007 19:04:22 -0000 1.5 @@ -29,34 +29,43 @@ #include "flora_errors.flh" :- import - is_digit/1, + %% is_digit/1, is_alpha_or_underscore/1 from flrlexer. :- import parsing_error/3 from flrparser. -:- import append/3 from basics. +%%:- import append/3 from basics. :- export flora_parse_datatype/4. -%% Add SecFraction, ZoneSign, ZoneHour, ZoneMinute flora_parse_datatype(DATATYPE(FL_TIME,LitChars),Idx,ParsedDT,Status) :- !, (LitChars=VARIABLE(VarName) -> ParsedDT = FL_TIME(FLVAR(VarName,Idx)), Status=[] ; - parse_time(LitChars,Idx,Hr,Min,Sec,NumericValue,Status), - ParsedDT = FL_TIME(Hr,Min,Sec,NumericValue) + parse_time(LitChars,Idx,ERROR_TIME_LITERAL, + Hr,Min,Sec,MilSec,ZSign,ZH,ZM,NumericValue,Status), + ParsedDT = FL_TIME(Hr,Min,Sec,MilSec,ZSign,ZH,ZM,NumericValue) + ). + +flora_parse_datatype(DATATYPE(FL_DATE,LitChars),Idx,ParsedDT,Status) :- + !, + (LitChars=VARIABLE(VarName) + -> ParsedDT = FL_DATE(FLVAR(VarName,Idx)), Status=[] + ; + parse_date(LitChars,Idx,ERROR_DATE_LITERAL, + DateSign,Yr,Mo,D,ZSign,ZH,ZM,NumericValue,Status), + ParsedDT = FL_DATE(DateSign,Yr,Mo,D,ZSign,ZH,ZM,NumericValue) ). -%% Add SecFraction flora_parse_datatype(DATATYPE(FL_DATETIME,LitChars),Idx,ParsedDT,Status) :- !, (LitChars=VARIABLE(VarName) -> ParsedDT = FL_DATETIME(FLVAR(VarName,Idx)), Status=[] ; - parse_datetime(LitChars,Idx,DateSign,Yr,Mo,D,Hr,Min,Sec,ZSign,ZH,ZM,NumericValue,Status), - ParsedDT = FL_DATETIME(DateSign,Yr,Mo,D,Hr,Min,Sec,(ZSign,ZH,ZM),NumericValue) + parse_datetime(LitChars,Idx,DateSign,Yr,Mo,D,Hr,Min,Sec,MilSec,ZSign,ZH,ZM,NumericValue,Status), + ParsedDT = FL_DATETIME(DateSign,Yr,Mo,D,Hr,Min,Sec,MilSec,ZSign,ZH,ZM,NumericValue) ). %% Add prefix, localName @@ -74,7 +83,7 @@ (LitChars=VARIABLE(VarName) -> ParsedDT = FL_LONG(FLVAR(VarName,Idx)), Status=[] ; - parse_integer(LitChars,Idx,Value,Status), + parse_long(LitChars,Idx,Value,Status), ParsedDT = FL_LONG(Value) ). @@ -83,7 +92,7 @@ (LitChars=VARIABLE(VarName) -> ParsedDT = FL_DOUBLE(FLVAR(VarName,Idx)), Status=[] ; - parse_real(LitChars,Idx,Value,Status), + parse_double(LitChars,Idx,Value,Status), ParsedDT = FL_DOUBLE(Value) ). @@ -125,79 +134,106 @@ %% Add duration - - -parse_time(LitChars,Idx,[H1,H2],[M1,M2],[S1,S2],NumericValue,Status) :- - (LitChars = [H1,H2,CH_COLON,M1,M2,CH_COLON,S1,S2] - -> ( number_codes(H,[H1,H2]), number_codes(M,[M1,M2]), - number_codes(S,[S1,S2]), - %% checking if =< 0 not necessary - always +parse_time(LitChars,Idx,ErrorMsg, + [H1,H2],[M1,M2],[S1,S2],MilSec,ZSign,ZH,ZM,NumericValue,Status) :- + (LitChars = [H1,H2,CH_COLON,M1,M2,CH_COLON,S1,S2|Rest] + -> (number_codes(H,[H1,H2]),number_codes(M,[M1,M2]),number_codes(S,[S1,S2]), + %% checking if 0 =< not necessary - it is always the case H < 24, M < 60, S < 60 - -> number_codes(NumericValue,[H1,H2,M1,M2,S2,S2]), - Status = [] - ; parsing_error(Idx,ERROR_TIME_LITERAL,Status), NumericValue=0 + -> + ( Rest = [] + -> MilSec = "", ZH="00", ZM="00", ZSign=1 + ; get_part(Rest,"-", OptMilSecPart,[ZH1,ZH2,CH_COLON,ZM1,ZM2]) + -> ZSign = -1, ZH=[ZH1,ZH2], ZM=[ZM1,ZM2] + ; get_part(Rest,"+", OptMilSecPart,[ZH1,ZH2,CH_COLON,ZM1,ZM2]) + -> ZSign = 1, ZH=[ZH1,ZH2], ZM=[ZM1,ZM2] + ; %% Rest must be the second fraction part: .sss or empty + OptMilSecPart = Rest, + ZH="00", ZM="00", ZSign=1 + ), + %% Check MilSec part + (OptMilSecPart == "" + -> MilSec = "", MilSecFloat=".0", Status1 = [] + ; OptMilSecPart = [CH_DOT|MilSec] + -> MilSecFloat=OptMilSecPart, Status1 = [] + ; parsing_error(Idx,ErrorMsg,Status1) + ), + (Status1 == [] + -> %% check timezone + (number_codes(ZHVal,ZH), number_codes(ZMVal,ZM), + number_codes(NumericTM,[H1,H2,M1,M2,S2,S2|MilSecFloat]), + ZHVal < 24, ZMVal < 60 + -> %% compute numeric value + NumericValueTZ is ZHVal*60 + ZMVal, + NumericValue is NumericTM + ZSign*NumericValueTZ, + Status = [] + ; parsing_error(Idx,ErrorMsg,Status),NumericValue=0 + ) + ; Status = Status1, NumericValue=0 + ) + ; parsing_error(Idx,ErrorMsg,Status), NumericValue=0 ) ; - parsing_error(Idx,ERROR_TIME_LITERAL,Status), NumericValue=0 - ). + parsing_error(Idx,ErrorMsg,Status), NumericValue=0 + ), + !. -parse_datetime(LitChars,Idx, - DateSign,[Y1,Y2,Y3,Y4],[Mo1,Mo2],[D1,D2],[H1,H2], - [M1,M2],[S1,S2],ZoneSign,[ZH1,ZH2],[ZM1,ZM2], - NumericValue,Status) :- +parse_date(LitChars,Idx,ErrorMsg,DateSign,[Y1,Y2,Y3,Y4],[Mo1,Mo2],[D1,D2], + ZSign, ZH, ZM, NumericValue,Status) :- (LitChars = [CH_MINUS|LitChars1] -> DateSign = -1 ; LitChars = [CH_PLUS|LitChars1] -> DateSign = 1 ; DateSign = 1, LitChars1 = LitChars ), - LitChars2 = [Y1,Y2,Y3,Y4,CH_MINUS,Mo1,Mo2,CH_MINUS,D1,D2, - Separator,H1,H2,CH_COLON,M1,M2,CH_COLON,S1,S2, - ZSign,ZH1,ZH2,CH_COLON,ZM1,ZM2], - ((LitChars1 = LitChars2 %% full date-time - -> true - %% Date-time sans time zone - ; append(LitChars1, [ZSign,ZH1,ZH2,CH_COLON,ZM1,ZM2], LitChars2) - -> ZSign=CH_PLUS, ZH1=CH_0,ZH2=CH_0, ZM1=CH_0, ZM2=CH_0 - %% Just a date - ; LitChars1 = [Y1,Y2,Y3,Y4,CH_MINUS,Mo1,Mo2,CH_MINUS,D1,D2] - -> H1=CH_0, H2=CH_0, M1=CH_0, M2=CH_0, S1=CH_0, S2=CH_0, - Separator = CH_T, ZSign=CH_PLUS, ZH1=CH_0,ZH2=CH_0, ZM1=CH_0, ZM2=CH_0 - ), - (Separator==CH_T; Separator==CH_t) - -> ( %% basic date structure is correct - is_digit(Y1), is_digit(Y2), is_digit(Y3), is_digit(Y4), - number_codes(Mo,[Mo1,Mo2]), - number_codes(D,[D1,D2]), - number_codes(Hr,[H1,H2]), - number_codes(Min,[M1,M2]), - number_codes(Sec,[S1,S2]), - number_codes(ZH,[ZH1,ZH2]), number_codes(ZM,[ZM1,ZM2]), - Mo < 13, D < 32, - Mo > 0, D > 0, - Hr < 24, Min < 60, Sec < 60, - ZH < 24, ZM < 60, - (ZSign==CH_PLUS->ZoneSign=1; ZSign==CH_MINUS -> ZoneSign= -1) - -> - %% number too big! so split to YYYMM and DDHHMMSS+-Zone - %% Fix the effect of timezone effect: +- can spill over to - %% another day, month, year - number_codes(DYMVal1,[Y1,Y2,Y3,Y4,Mo1,Mo2]), - number_codes(DDTVal1,[D1,D2,H1,H2,M1,M2,S1,S2]), - number_codes(ZVal,[ZH1,ZH2,ZM1,ZM2,CH_0,CH_0]), - DYMVal is DateSign * DYMVal1, - DDTVal is DDTVal1+ZoneSign*ZVal, - NumericValue = (DYMVal, DDTVal), - Status = [] - %% something wrong with the numbers - ; parsing_error(Idx,ERROR_DATE_LITERAL,Status), NumericValue=0 - ) - ; %% basic date-time structure incorrect - parsing_error(Idx,ERROR_DATE_LITERAL,Status), NumericValue=0 - ). + LitChars1 = [Y1,Y2,Y3,Y4,CH_MINUS,Mo1,Mo2,CH_MINUS,D1,D2|Zone], + (Zone==[] + -> ZSign=1, ZH="00", ZM="00", Status1 = [] + ; Zone = [CH_PLUS,ZH1,ZH2,CH_COLON,ZM1,ZM2] + -> ZSign = 1, ZH = [ZH1,ZH2], ZM = [ZM1,ZM2], Status1 = [] + ; Zone = [CH_MINUS,ZH1,ZH2,CH_COLON,ZM1,ZM2] + -> ZSign = -1, ZH = [ZH1,ZH2], ZM = [ZM1,ZM2], Status1 = [] + ; parsing_error(Idx,ErrorMsg,Status1) + ), + (Status1 == [] %% check time zone, Month, Day + -> (number_codes(ZHVal,ZH), number_codes(ZMVal,ZM), + number_codes(MoVal,[Mo1,Mo2]), number_codes(DVal,[D1,D2]), + number_codes(NumericD,[Y1,Y2,Y3,Y4,Mo1,Mo2,D2,D2|".0"]), + ZHVal < 24, ZMVal < 60, MoVal < 13, DVal < 32 + -> %% compute numeric value + NumericValueTZ is ZHVal*60 + ZMVal, + NumericValue is DateSign * (NumericD + ZSign*NumericValueTZ), + Status = [] + ; parsing_error(Idx,ErrorMsg,Status), NumericValue=0 + ) + ; Status = Status1, NumericValue=0 + ), + !. +parse_datetime(LitChars,Idx, + DateSign,[Y1,Y2,Y3,Y4],[Mo1,Mo2],[D1,D2],[H1,H2], + [M1,M2],[S1,S2],MilSec,ZSign,ZH,ZM, + NumericValue,Status) :- + ( get_part(LitChars,"T",DatePart,TimePart) + -> parse_date(DatePart,Idx,ERROR_DATETIME_LITERAL, + DateSign,[Y1,Y2,Y3,Y4],[Mo1,Mo2],[D1,D2], + _ZSign, _ZH, _ZM, DNumericValue,DStatus), + (DStatus==[] + -> parse_time(TimePart,Idx,ERROR_DATETIME_LITERAL, + [H1,H2],[M1,M2],[S1,S2],MilSec, + ZSign,ZH,ZM,TNumericValue,Status), + NumericValue = DNumericValue * 24 * 3600 + TNumericValue + ; Status=DStatus + ) + ; parse_date(LitChars,Idx,ERROR_DATETIME_LITERAL, + DateSign,[Y1,Y2,Y3,Y4],[Mo1,Mo2],[D1,D2], + ZSign, ZH, ZM, NumericValue,Status), + [H1,H2]="00", [M1,M2]="00", [S1,S2]="00", MilSec="" + -> true + ; parsing_error(Idx,ERROR_DATETIME_LITERAL,Status), NumericValue=0 + ), + !. -%% Right now only handles path-based URIs, like http, ftp, gopher, etc. %% scheme://user@host:port/path?query#fragm parse_uri(LitChars,_Idx,Scheme,Separator,User,Host,Port,Path,Query,Fragm,[]) :- get_part(LitChars,":",Scheme,Rest), @@ -206,7 +242,8 @@ ; Scheme=="mailto" -> parse_mailto_uri(Rest,Separator,User,Host,Port,Path,Query,Fragm) ; parse_default_uri(Rest,Separator,User,Host,Port,Path,Query,Fragm) - ). + ), + !. parse_uri(_Lits,Idx,_Scheme,_Separator,_User,_Host,_Port,_Path,_Query,_Fragm,Status) :- parsing_error(Idx,ERROR_URI,Status). @@ -257,18 +294,18 @@ parse_string(_LitChars,Idx,_Value,Status) :- parsing_error(Idx,ERROR_STRING,Status). -parse_integer(LitChars,_Idx,Value,[]) :- +parse_long(LitChars,_Idx,Value,[]) :- number_codes(Value,LitChars), integer(Value), !. -parse_integer(_LitChars,Idx,_Value,Status) :- +parse_long(_LitChars,Idx,_Value,Status) :- parsing_error(Idx,ERROR_INTEGER,Status). -parse_real(LitChars,_Idx,Value,[]) :- +parse_double(LitChars,_Idx,Value,[]) :- number_codes(Value,LitChars), real(Value), !. -parse_real(_LitChars,Idx,_Value,Status) :- +parse_double(_LitChars,Idx,_Value,Status) :- parsing_error(Idx,ERROR_REAL,Status). parse_bool(LitChars,_Idx,Value,[]) :- Index: flrdatatype.P =================================================================== RCS file: /cvsroot/flora/flora2/datatypes/flrdatatype.P,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- flrdatatype.P 22 Feb 2007 00:46:56 -0000 1.5 +++ flrdatatype.P 24 Feb 2007 19:04:22 -0000 1.6 @@ -46,7 +46,7 @@ :- export datesign/2, - year/2, day/2, month/2, hour/2, minute/2, second/2, + year/2, day/2, month/2, hour/2, minute/2, second/2, fracsecond/2, zoneSign/2, zoneHour/2, zoneMinute/2, scheme/2, user/2, host/2, port/2, path/2, query/2, fragment/2. @@ -69,6 +69,11 @@ flora_canonical_type_name('_Time', FL_TIME) :- !. flora_canonical_type_name('_TIME', FL_TIME) :- !. +flora_canonical_type_name('_D', FL_DATE) :- !. +flora_canonical_type_name('_d', FL_DATE) :- !. +flora_canonical_type_name('_Date', FL_DATE) :- !. +flora_canonical_type_name('_DATE', FL_DATE) :- !. + flora_canonical_type_name('_', FL_URI) :- !. flora_canonical_type_name('_Uri', FL_URI) :- !. flora_canonical_type_name('_URI', FL_URI) :- !. @@ -158,25 +163,32 @@ flora_printable_type_representation(Literal,Repr), !. -flora_printable_type_representation(FL_TIME(Hr,Min,Sec,_NumericVal), +flora_printable_type_representation(FL_TIME(Hr,Min,Sec,MilSec,ZoneS,ZoneH,ZoneM,_NumericVal), [FL_TIME,Repr]) :- - flora_concat_strings([Hr,':',Min,':',Sec], Repr), + fracsecond_repr(MilSec,MilSecRepr), + timezone_repr(ZoneS,ZoneH,ZoneM,ZoneRepr), + flora_concat_strings([Hr,':',Min,':',Sec,MilSecRepr|ZoneRepr], Repr), !. -flora_printable_type_representation(FL_DATETIME(DSign,Yr,Mon,Day,Hr,Min,Sec,Zone,_NumericVal),[FL_DATETIME,Repr]) :- +flora_printable_type_representation(FL_DATETIME(DSign,Yr,Mon,Day,Hr,Min,Sec,MilSec,ZoneS,ZoneH,ZoneM,_NumericVal),[FL_DATETIME,Repr]) :- (DSign>0 -> PrintSign = ''; PrintSign = '-'), - ( Hr == 0, Min==0, Sec==0, Zone = (_,0,0) - -> flora_concat_strings([PrintSign,Yr,'-',Mon,'-',Day], Repr) - ; Zone = (_,0,0) + timezone_repr(ZoneS,ZoneH,ZoneM,ZoneRepr), + fracsecond_repr(MilSec,MilsecRepr), + ( Hr == "00", Min=="00", Sec=="00" -> flora_concat_strings([PrintSign, - Yr,'-',Mon,'-',Day,'T',Hr,':',Min,':',Sec], + Yr,'-',Mon,'-',Day,MilsecRepr|ZoneRepr], Repr) + ; flora_concat_strings([PrintSign, + Yr,'-',Mon,'-',Day,'T', + Hr,':',Min,':',Sec,MilsecRepr | ZoneRepr], Repr) - ; Zone = (ZSign,ZHr,ZMin) - -> (ZSign>0 -> PrintZSign = ('+'); PrintZSign = ('-')), - flora_concat_strings([PrintSign, - Yr,'-',Mon,'-',Day,'T',Hr,':',Min,':',Sec, - PrintZSign,ZHr,':',ZMin], Repr) ), !. + +flora_printable_type_representation(FL_DATE(DSign,Yr,Mon,Day,ZoneS,ZoneH,ZoneM,_NumericVal),[FL_DATE,Repr]) :- + (DSign>0 -> PrintSign = ''; PrintSign = '-'), + timezone_repr(ZoneS,ZoneH,ZoneM,ZoneRepr), + flora_concat_strings([PrintSign, Yr,'-',Mon,'-',Day|ZoneRepr], Repr), + !. + flora_printable_type_representation(FL_URI(Protocol, % http:// Separator, % ://, :, or whatever User, % user@ @@ -210,10 +222,22 @@ [TypeName,LiteralAtm]) :- atom_codes(LiteralAtm,Literal). +timezone_repr(ZSign,ZH,ZM,Repr) :- + (ZH="00",ZM="00" -> Repr = "" + ; + (ZSign>0 -> PrintZSign = ('+'); PrintZSign = ('-')), + Repr = [PrintZSign, ZH, ':', ZM] + ). + +fracsecond_repr(MilSec,Repr) :- + (MilSec == "" -> Repr = '' + ; flora_concat_strings(['.',MilSec],Repr)). + -flora_type_numeric_value(FL_DATETIME(_,_,_,_,_,_,_,_,Val),Val) :- !. -flora_type_numeric_value(FL_TIME(_,_,_,Val),Val) :- !. +flora_type_numeric_value(FL_DATETIME(_,_,_,_,_,_,_,_,_,_,_,Val),Val) :- !. +flora_type_numeric_value(FL_DATE(_,_,_,_,_,_,_,Val),Val) :- !. +flora_type_numeric_value(FL_TIME(_,_,_,_,_,_,_,Val),Val) :- !. flora_type_numeric_value(T,T) :- number(T). @@ -224,54 +248,93 @@ flora_same_type(FL_DATATYPE(_,DT),FL_DATATYPE(_,DT)) :- !. flora_same_type(Type1,Type2) :- functor(Type1,F,A), functor(Type2,F,A). -%% time and dateTime +%% time, date, and dateTime hour(FL_DATATYPE(T,_), Val) :- hour(T,Val), !. -hour(FL_TIME(Hr,_Min,_Sec,_), Val) :- +hour(FL_TIME(Hr,_Min,_Sec,_MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- !, number_codes(Val,Hr). -hour(FL_DATETIME(_DSign,_Yr,_Mon,_Day,Hr,_Min,_Sec,_Zone,_), Val) :- +hour(FL_DATETIME(_DSign,_Yr,_Mon,_Day,Hr,_Min,_Sec,_MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- !, number_codes(Val,Hr). minute(FL_DATATYPE(T,_), Val) :- minute(T,Val), !. -minute(FL_TIME(_Hr,Min,_Sec,_), Val) :- +minute(FL_TIME(_Hr,Min,_Sec,_MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- !, number_codes(Val,Min). -minute(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,Min,_Sec,_Zone,_), Val) :- +minute(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,Min,_Sec,_MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- !, number_codes(Val,Min). second(FL_DATATYPE(T,_), Val) :- second(T,Val), !. -second(FL_TIME(_Hr,_Min,Sec,_), Val) :- +second(FL_TIME(_Hr,_Min,Sec,_MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- !, number_codes(Val,Sec). -second(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,_Min,Sec,_Zone,_), Val) :- +second(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,_Min,Sec,_MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- !, number_codes(Val,Sec). +fracsecond(FL_DATATYPE(T,_), Val) :- fracsecond(T,Val), !. +fracsecond(FL_TIME(_Hr,_Min,_Sec,MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- + !, + number_codes(Val,MilSec). +fracsecond(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,_Min,_Sec,MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- + !, + number_codes(Val,MilSec). datesign(FL_DATATYPE(T,_), Val) :- datesign(T,Val), !. -datesign(FL_DATETIME(DSign,_Yr,_Mon,_Day,_Hr,_Min,_Sec,_Zone,_), Val) :- +datesign(FL_DATETIME(DSign,_Yr,_Mon,_Day,_Hr,_Min,_Sec,_MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- + !, + number_codes(Val,DSign). +datesign(FL_DATE(DSign,_Yr,_Mon,_Day,_ZoneS,_ZoneH,_ZoneM,_), Val) :- !, number_codes(Val,DSign). + year(FL_DATATYPE(T,_), Val) :- year(T,Val), !. -year(FL_DATETIME(_DSign,Yr,_Mon,_Day,_Hr,_Min,_Sec,_Zone,_), Val) :- +year(FL_DATETIME(_DSign,Yr,_Mon,_Day,_Hr,_Min,_Sec,_MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- !, number_codes(Val,Yr). +year(FL_DATE(_DSign,Yr,_Mon,_Day,_ZoneS,_ZoneH,_ZoneM,_), Val) :- + !, + number_codes(Val,Yr). + month(FL_DATATYPE(T,_), Val) :- month(T,Val), !. -month(FL_DATETIME(_DSign,_Yr,Mon,_Day,_Hr,_Min,_Sec,_Zone,_), Val) :- +month(FL_DATETIME(_DSign,_Yr,Mon,_Day,_Hr,_Min,_Sec,_MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- + !, + number_codes(Val,Mon). +month(FL_DATE(_DSign,_Yr,Mon,_Day,_ZoneS,_ZoneH,_ZoneM,_), Val) :- !, number_codes(Val,Mon). + day(FL_DATATYPE(T,_), Val) :- day(T,Val), !. -day(FL_DATETIME(_DSign,_Yr,_Mon,Day,_Hr,_Min,_Sec,_Zone,_), Val) :- +day(FL_DATETIME(_DSign,_Yr,_Mon,Day,_Hr,_Min,_Sec,_MilSec,_ZoneS,_ZoneH,_ZoneM,_), Val) :- !, number_codes(Val,Day). +day(FL_DATE(_DSign,_Yr,_Mon,Day,_ZoneS,_ZoneH,_ZoneM,_), Val) :- + !, + number_codes(Val,Day). + %% sign is 1 or -1 zoneSign(FL_DATATYPE(T,_), Val) :- zoneSign(T,Val), !. -zoneSign(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,_Min,_Sec,(Sign,_ZHr,_ZMin),_), Sign) :- !. +zoneSign(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,_Min,_Sec,_MilSec,ZSign,_ZHr,_ZMin,_), ZSign) :- !. +zoneSign(FL_DATE(_DSign,_Yr,_Mon,_Day,ZSign,_ZHr,_ZMin,_), ZSign) :- !. +zoneSign(FL_TIME(_Hr,_Min,_Sec,_MilSec,ZSign,_ZHr,_ZMin,_), ZSign) :- !. + zoneHour(FL_DATATYPE(T,_), Val) :- zoneHour(T,Val), !. -zoneHour(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,_Min,_Sec,(_Sign,ZHr,_ZMin),_), Val) :- +zoneHour(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,_Min,_Sec,_MilSec,_ZSign,ZHr,_ZMin,_), Val) :- !, number_codes(Val,ZHr). +zoneHour(FL_DATE(_DSign,_Yr,_Mon,_Day,_ZSign,ZHr,_ZMin,_), Val) :- + !, + number_codes(Val,ZHr). +zoneHour(FL_TIME(_Hr,_Min,_Sec,_MilSec,_ZSign,ZHr,_ZMin,_), Val) :- + !, + number_codes(Val,ZHr). + zoneMinute(FL_DATATYPE(T,_), Val) :- zoneMinute(T,Val), !. -zoneMinute(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,_Min,_Sec,(_Sign,_ZHr,ZMin),_), Val) :- +zoneMinute(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,_Min,_Sec,_MilSec,_ZSign,_ZHr,ZMin,_), Val) :- + !, + number_codes(Val,ZMin). +zoneMinute(FL_DATE(_DSign,_Yr,_Mon,_Day,_ZSign,_ZHr,ZMin,_), Val) :- + !, + number_codes(Val,ZMin). +zoneMinute(FL_TIME(_Hr,_Min,_Sec,_MilSec,_ZSign,_ZHr,ZMin,_), Val) :- !, number_codes(Val,ZMin). |
|
From: Michael K. <ki...@us...> - 2007-02-24 19:04:35
|
Update of /cvsroot/flora/flora2/closure In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv10931/closure Modified Files: flrtypes.fli flrimportaxioms.fli Log Message: added _date type. Added second fraction to time, datetime, zone to time Index: flrtypes.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrtypes.fli,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- flrtypes.fli 22 Feb 2007 00:46:57 -0000 1.19 +++ flrtypes.fli 24 Feb 2007 19:04:22 -0000 1.20 @@ -31,6 +31,8 @@ silent_isa(X,FL_DATETIME,_Caller) :- X = FL_DATATYPE(_,FL_DATETIME). silent_isa(X,FL_TIME,_Caller) :- X = FL_DATATYPE(_,FL_TIME). silent_isa(X,FL_URI,_Caller) :- X = FL_DATATYPE(_,FL_URI). +silent_isa(X,FL_DATE,_Caller) :- X = FL_DATATYPE(_,FL_DATE). +silent_isa(X,FL_DURATION,_Caller) :- X = FL_DATATYPE(_,FL_DURATION). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Type combinators Index: flrimportaxioms.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrimportaxioms.fli,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- flrimportaxioms.fli 22 Feb 2007 00:46:57 -0000 1.1 +++ flrimportaxioms.fli 24 Feb 2007 19:04:22 -0000 1.2 @@ -9,143 +9,78 @@ ***************************************************************************/ -/* Axioms for attaching universal module */ +/* Axioms for importing module */ -:- dynamic - FLORA_UNIVERSAL_WORKSPACE(WRAP_SUB)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_ISA)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVD)/4, - FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDDEF)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_MVD)/4, - FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDDEF)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_METH)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_IMETH)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_BOOLSIG)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_IBOOLSIG)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TRANSIG)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_ITRANSIG)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TRAN)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDSIG)/4, - FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDCONDEF)/5, - FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDSIGDEF)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDSIG)/4, - FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDCONDEF)/5, - FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDSIGDEF)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_EXISTS)/2, - FLORA_UNIVERSAL_WORKSPACE(WRAP_OBJEQL)/4. +#define FLORA_IMPORT_WRAPPER(Wrap) FLORA_USER_WORKSPACE(FLORA_IMPORTED_MODULE,Wrap) -WRAP_SUB(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_SUB)(X,Y,_Caller). -WRAP_ISA(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_ISA)(X,Y,_Caller). -WRAP_IMVD(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVD)(X,Y,Z,_Caller). -WRAP_IMVDDEF(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDDEF)(X,Y,_Caller). -WRAP_MVD(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_MVD)(X,Y,Z,_Caller). -WRAP_MVDDEF(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDDEF)(X,Y,_Caller). -WRAP_METH(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_METH)(X,Y,_Caller). -WRAP_IMETH(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMETH)(X,Y,_Caller). -WRAP_BOOLSIG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_BOOLSIG)(X,Y,_Caller). -WRAP_IBOOLSIG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IBOOLSIG)(X,Y,_Caller). -WRAP_TRANSIG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TRANSIG)(X,Y,_Caller). -WRAP_ITRANSIG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_ITRANSIG)(X,Y,_Caller). -WRAP_TRAN(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TRAN)(X,Y,_Caller). -WRAP_MVDSIG(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDSIG)(X,Y,Z,_Caller). -WRAP_MVDCONDEF(X,Y,Z,V_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDCONDEF)(X,Y,Z,V_Caller). -WRAP_MVDSIGDEF(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDSIGDEF)(X,Y,_Caller). -WRAP_IMVDSIG(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDSIG)(X,Y,Z,_Caller). -WRAP_IMVDCONDEF(X,Y,Z,V_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDCONDEF)(X,Y,Z,V_Caller). -WRAP_IMVDSIGDEF(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDSIGDEF)(X,Y,_Caller). -WRAP_EXISTS(X,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_EXISTS)(X,_Caller). -WRAP_OBJEQL(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_OBJEQL)(X,Y,Z,_Caller). +WRAP_SUB(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_SUB)(X,Y,_Caller). +WRAP_ISA(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_ISA)(X,Y,_Caller). +WRAP_IMVD(X,Y,Z,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_IMVD)(X,Y,Z,_Caller). +WRAP_IMVDDEF(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_IMVDDEF)(X,Y,_Caller). +WRAP_MVD(X,Y,Z,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_MVD)(X,Y,Z,_Caller). +WRAP_MVDDEF(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_MVDDEF)(X,Y,_Caller). +WRAP_METH(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_METH)(X,Y,_Caller). +WRAP_IMETH(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_IMETH)(X,Y,_Caller). +WRAP_BOOLSIG(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_BOOLSIG)(X,Y,_Caller). +WRAP_IBOOLSIG(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_IBOOLSIG)(X,Y,_Caller). +WRAP_TRANSIG(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TRANSIG)(X,Y,_Caller). +WRAP_ITRANSIG(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_ITRANSIG)(X,Y,_Caller). +WRAP_TRAN(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TRAN)(X,Y,_Caller). +WRAP_MVDSIG(X,Y,Z,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_MVDSIG)(X,Y,Z,_Caller). +WRAP_MVDCONDEF(X,Y,Z,V_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_MVDCONDEF)(X,Y,Z,V_Caller). +WRAP_MVDSIGDEF(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_MVDSIGDEF)(X,Y,_Caller). +WRAP_IMVDSIG(X,Y,Z,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_IMVDSIG)(X,Y,Z,_Caller). +WRAP_IMVDCONDEF(X,Y,Z,V_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_IMVDCONDEF)(X,Y,Z,V_Caller). +WRAP_IMVDSIGDEF(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_IMVDSIGDEF)(X,Y,_Caller). +WRAP_EXISTS(X,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_EXISTS)(X,_Caller). +WRAP_OBJEQL(X,Y,Z,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_OBJEQL)(X,Y,Z,_Caller). -:- dynamic - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/2, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/4, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/5, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/6, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/7, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/8, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/9, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/10, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/11, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/12, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/13, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/14, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/15, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/16, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/17, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/18, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/19, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/20, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/21, - FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/22. -WRAP_HILOG(X,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X,_Caller). -WRAP_HILOG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X,Y,_Caller). -WRAP_HILOG(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X,Y,Z,_Caller). -WRAP_HILOG(X1,X2,X3,X4,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller). +WRAP_HILOG(X,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X,_Caller). +WRAP_HILOG(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X,Y,_Caller). +WRAP_HILOG(X,Y,Z,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X,Y,Z,_Caller). +WRAP_HILOG(X1,X2,X3,X4,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller) :- -FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller). -WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller). +FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller). +WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller). -:- dynamic - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/2, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/3, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/4, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/5, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/6, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/7, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/8, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/9, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/10, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/11, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/12, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/13, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/14, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/15, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/16, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/17, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/18, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/19, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/20, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/21, - FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/22. -WRAP_TABLED_HILOG(X,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X,_Caller). -WRAP_TABLED_HILOG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X,Y,_Caller). -WRAP_TABLED_HILOG(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X,Y,Z,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller). -WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller). +WRAP_TABLED_HILOG(X,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X,_Caller). +WRAP_TABLED_HILOG(X,Y,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X,Y,_Caller). +WRAP_TABLED_HILOG(X,Y,Z,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X,Y,Z,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller). +WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller) :- FLORA_IMPORT_WRAPPER(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller). |
|
From: Michael K. <ki...@us...> - 2007-02-24 19:04:35
|
Update of /cvsroot/flora/flora2/flrincludes In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv10931/flrincludes Modified Files: flora_errors.flh Log Message: added _date type. Added second fraction to time, datetime, zone to time Index: flora_errors.flh =================================================================== RCS file: /cvsroot/flora/flora2/flrincludes/flora_errors.flh,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- flora_errors.flh 5 Feb 2007 02:09:27 -0000 1.44 +++ flora_errors.flh 24 Feb 2007 19:04:22 -0000 1.45 @@ -218,7 +218,8 @@ /********************************* Datatype errors ***************/ #define ERROR_TIME_LITERAL 'invalid time literal' -#define ERROR_DATE_LITERAL 'invalid date-time literal' +#define ERROR_DATETIME_LITERAL 'invalid dateTime literal' +#define ERROR_DATE_LITERAL 'invalid date literal' #define ERROR_URI 'invalid URI literal' #define ERROR_INTEGER 'invalid integer literal' #define ERROR_REAL 'invalid real number literal' |
|
From: Michael K. <ki...@us...> - 2007-02-22 00:47:03
|
Update of /cvsroot/flora/flora2/lib In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv19940/lib Modified Files: flrbasetype.flr Log Message: more datatype work Index: flrbasetype.flr =================================================================== RCS file: /cvsroot/flora/flora2/lib/flrbasetype.flr,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- flrbasetype.flr 18 Feb 2007 02:46:35 -0000 1.3 +++ flrbasetype.flr 22 Feb 2007 00:46:56 -0000 1.4 @@ -33,6 +33,7 @@ ?[_hour->?], ?[_minute->?], ?[_second->?], + ?[_dateSign->?], ?[_year->?], ?[_month->?], ?[_day->?], @@ -70,6 +71,7 @@ _dateTime?D[_hour->?V] :- hour(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_minute->?V] :- minute(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_second->?V] :- second(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_dateSign->?V] :- datesign(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_year->?V] :- year(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_month->?V] :- month(?D,?V)@_prolog(flrdatatype), !. _dateTime?D[_day->?V] :- day(?D,?V)@_prolog(flrdatatype), !. @@ -87,6 +89,6 @@ _uri?D[_fragment->?V] :- fragment(?D,?V)@_prolog(flrdatatype), !. // general -?D[_toString->?V] :- flora_printable_type_representation(?D,?V)@_prolog(flrdatatype), !. +?D[_toString->?V] :- flora_printable_type_representation(?D,[?_TName,?V])@_prolog(flrdatatype), !. ?D[_rawValue->?V] :- flora_datatype_raw_value(?D,?V)@_prolog(flrdatatype), !. ?D[_typeName->?V] :- flora_datatype_name(?D,?V)@_prolog(flrdatatype), !. |
|
From: Michael K. <ki...@us...> - 2007-02-22 00:47:03
|
Update of /cvsroot/flora/flora2/datatypes In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv19940/datatypes Modified Files: flrdatatype_parse.P flrdatatype.P Makefile Log Message: more datatype work Index: Makefile =================================================================== RCS file: /cvsroot/flora/flora2/datatypes/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile 20 Jan 2007 03:58:24 -0000 1.1 +++ Makefile 22 Feb 2007 00:46:56 -0000 1.2 @@ -32,7 +32,7 @@ PROLOG = none FLORADIR = .. -ALLOBJS = flrdatatype${OBJEXT} \ +ALLOBJS = flrdatatype$(OBJEXT) \ flrdatatype_parse$(OBJEXT) FLORA_INCLUDES_DIR = ../flrincludes Index: flrdatatype_parse.P =================================================================== RCS file: /cvsroot/flora/flora2/datatypes/flrdatatype_parse.P,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- flrdatatype_parse.P 6 Feb 2007 15:17:42 -0000 1.3 +++ flrdatatype_parse.P 22 Feb 2007 00:46:56 -0000 1.4 @@ -39,6 +39,7 @@ :- export flora_parse_datatype/4. +%% Add SecFraction, ZoneSign, ZoneHour, ZoneMinute flora_parse_datatype(DATATYPE(FL_TIME,LitChars),Idx,ParsedDT,Status) :- !, (LitChars=VARIABLE(VarName) @@ -48,6 +49,7 @@ ParsedDT = FL_TIME(Hr,Min,Sec,NumericValue) ). +%% Add SecFraction flora_parse_datatype(DATATYPE(FL_DATETIME,LitChars),Idx,ParsedDT,Status) :- !, (LitChars=VARIABLE(VarName) @@ -57,6 +59,7 @@ ParsedDT = FL_DATETIME(DateSign,Yr,Mo,D,Hr,Min,Sec,(ZSign,ZH,ZM),NumericValue) ). +%% Add prefix, localName flora_parse_datatype(DATATYPE(FL_URI,LitChars),Idx,ParsedDT,Status) :- !, (LitChars=VARIABLE(VarName) @@ -66,22 +69,22 @@ ParsedDT = FL_URI(Scheme,Separator,User,Host,Port,Path,Query,Fragm) ). -flora_parse_datatype(DATATYPE(FL_INTEGER,LitChars),Idx,ParsedDT,Status) :- +flora_parse_datatype(DATATYPE(FL_LONG,LitChars),Idx,ParsedDT,Status) :- !, (LitChars=VARIABLE(VarName) - -> ParsedDT = FL_INTEGER(FLVAR(VarName,Idx)), Status=[] + -> ParsedDT = FL_LONG(FLVAR(VarName,Idx)), Status=[] ; parse_integer(LitChars,Idx,Value,Status), - ParsedDT = FL_INTEGER(Value) + ParsedDT = FL_LONG(Value) ). -flora_parse_datatype(DATATYPE(FL_FLOAT,LitChars),Idx,ParsedDT,Status) :- +flora_parse_datatype(DATATYPE(FL_DOUBLE,LitChars),Idx,ParsedDT,Status) :- !, (LitChars=VARIABLE(VarName) - -> ParsedDT = FL_FLOAT(FLVAR(VarName,Idx)), Status=[] + -> ParsedDT = FL_DOUBLE(FLVAR(VarName,Idx)), Status=[] ; parse_real(LitChars,Idx,Value,Status), - ParsedDT = FL_FLOAT(Value) + ParsedDT = FL_DOUBLE(Value) ). flora_parse_datatype(DATATYPE(FL_STRING,LitChars),Idx,ParsedDT,Status) :- @@ -119,6 +122,8 @@ ParsedDT = FL_DATATYPE(TypeName,LitChars) ). +%% Add duration + Index: flrdatatype.P =================================================================== RCS file: /cvsroot/flora/flora2/datatypes/flrdatatype.P,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- flrdatatype.P 18 Feb 2007 02:46:35 -0000 1.4 +++ flrdatatype.P 22 Feb 2007 00:46:56 -0000 1.5 @@ -27,22 +27,25 @@ #include "flora_terms.flh" #include "flora_characters.flh" -:- import flora_concat_strings/2, - flora_concat_atoms/2 +:- import + %%flora_concat_atoms/2, + flora_concat_strings/2 from flrporting. -:- import flora_abort/1 from flrutils. +%%:- import flora_abort/1 from flrutils. :- export flora_same_type/2, flora_type_numeric_value/2, flora_builtin_datatype/1, + flora_primitive_datatype/1, flora_canonical_type_name/2, flora_printable_type_representation/2, flora_datatype_raw_value/2, flora_datatype_name/2. :- export + datesign/2, year/2, day/2, month/2, hour/2, minute/2, second/2, zoneSign/2, zoneHour/2, zoneMinute/2, scheme/2, user/2, host/2, port/2, path/2, query/2, fragment/2. @@ -72,17 +75,29 @@ flora_canonical_type_name('_iri', FL_URI) :- !. flora_canonical_type_name('_Iri', FL_URI) :- !. flora_canonical_type_name('_IRI', FL_URI) :- !. +flora_canonical_type_name('_anyURI', FL_URI) :- !. -flora_canonical_type_name('_Integer', FL_INTEGER) :- !. -flora_canonical_type_name('_INTEGER', FL_INTEGER) :- !. -flora_canonical_type_name('_INT', FL_INTEGER) :- !. -flora_canonical_type_name('_int', FL_INTEGER) :- !. +flora_canonical_type_name('_Date', FL_DATE) :- !. +flora_canonical_type_name('_DATE', FL_DATE) :- !. +flora_canonical_type_name('_Duration', FL_DURATION) :- !. +flora_canonical_type_name('_DURATION', FL_DURATION) :- !. -flora_canonical_type_name('_Real', FL_FLOAT) :- !. -flora_canonical_type_name('_REAL', FL_FLOAT) :- !. -flora_canonical_type_name('_Float', FL_FLOAT) :- !. -flora_canonical_type_name('_FLOAT', FL_FLOAT) :- !. -flora_canonical_type_name('_real', FL_FLOAT) :- !. +flora_canonical_type_name('_Integer', FL_LONG) :- !. +flora_canonical_type_name('_INTEGER', FL_LONG) :- !. +flora_canonical_type_name('_INT', FL_LONG) :- !. +flora_canonical_type_name('_int', FL_LONG) :- !. +flora_canonical_type_name('_decimal', FL_DOUBLE) :- !. +flora_canonical_type_name('_Decimal', FL_DOUBLE) :- !. +flora_canonical_type_name('_DECIMAL', FL_DOUBLE) :- !. + +flora_canonical_type_name(FL_FLOAT, FL_DOUBLE) :- !. +flora_canonical_type_name('_Float', FL_DOUBLE) :- !. +flora_canonical_type_name('_FLOAT', FL_DOUBLE) :- !. +flora_canonical_type_name('_Double', FL_DOUBLE) :- !. +flora_canonical_type_name('_DOUBLE', FL_DOUBLE) :- !. +flora_canonical_type_name('_real', FL_DOUBLE) :- !. +flora_canonical_type_name('_Real', FL_DOUBLE) :- !. +flora_canonical_type_name('_REAL', FL_DOUBLE) :- !. flora_canonical_type_name('_String', FL_STRING) :- !. flora_canonical_type_name('_string', FL_STRING) :- !. @@ -109,45 +124,57 @@ flora_builtin_datatype(FL_URI). flora_builtin_datatype(FL_STRING). flora_builtin_datatype(FL_INTEGER). +flora_builtin_datatype(FL_LONG). +flora_builtin_datatype(FL_DOUBLE). flora_builtin_datatype(FL_FLOAT). +flora_builtin_datatype(FL_DECIMAL). flora_builtin_datatype(FL_BOOL). flora_builtin_datatype(FL_CHARLIST). +flora_primitive_datatype(FL_STRING). +flora_primitive_datatype(FL_INTEGER). +flora_primitive_datatype(FL_LONG). +flora_primitive_datatype(FL_DOUBLE). +flora_primitive_datatype(FL_FLOAT). +flora_primitive_datatype(FL_DECIMAL). +flora_primitive_datatype(FL_BOOL). +flora_primitive_datatype(FL_CHARLIST). + %% Canonical representation of data types %% Need to expand! -flora_printable_type_representation(Obj,Repr) :- - nonvar(Repr), +/* // This is for debugging +flora_printable_type_representation(Obj,[Type,Repr]) :- + (nonvar(Type) ; nonvar(Repr)), !, flora_printable_type_representation(Obj,OV), flora_abort(['The value part in ',OV, '[_toString->', Repr, '] must be a variable, but is not']). +*/ %% This tries to strip the outer FL_DATATYPE and see if the result can be parsed flora_printable_type_representation(FL_DATATYPE(Literal,_),Repr) :- flora_printable_type_representation(Literal,Repr), !. -flora_printable_type_representation(FL_TIME(Hr,Min,Sec,_NumericVal),Repr) :- - flora_concat_strings([FL_TIME,'"',Hr,':',Min,':',Sec,'"'], Repr), +flora_printable_type_representation(FL_TIME(Hr,Min,Sec,_NumericVal), + [FL_TIME,Repr]) :- + flora_concat_strings([Hr,':',Min,':',Sec], Repr), !. -flora_printable_type_representation(FL_DATETIME(DSign,Yr,Mon,Day,Hr,Min,Sec,Zone,_NumericVal),Repr) :- +flora_printable_type_representation(FL_DATETIME(DSign,Yr,Mon,Day,Hr,Min,Sec,Zone,_NumericVal),[FL_DATETIME,Repr]) :- (DSign>0 -> PrintSign = ''; PrintSign = '-'), ( Hr == 0, Min==0, Sec==0, Zone = (_,0,0) - -> flora_concat_strings([FL_DATETIME, - '"',PrintSign,Yr,'-',Mon,'-',Day,'"'], Repr) + -> flora_concat_strings([PrintSign,Yr,'-',Mon,'-',Day], Repr) ; Zone = (_,0,0) - -> flora_concat_strings([FL_DATETIME, - '"', PrintSign, - Yr,'-',Mon,'-',Day,'T',Hr,':',Min,':',Sec,'"'], + -> flora_concat_strings([PrintSign, + Yr,'-',Mon,'-',Day,'T',Hr,':',Min,':',Sec], Repr) ; Zone = (ZSign,ZHr,ZMin) -> (ZSign>0 -> PrintZSign = ('+'); PrintZSign = ('-')), - flora_concat_strings([FL_DATETIME, - '"',PrintSign, + flora_concat_strings([PrintSign, Yr,'-',Mon,'-',Day,'T',Hr,':',Min,':',Sec, - PrintZSign,ZHr,':',ZMin,'"'], Repr) + PrintZSign,ZHr,':',ZMin], Repr) ), !. flora_printable_type_representation(FL_URI(Protocol, % http:// @@ -159,30 +186,29 @@ Query, % ?query Fragm % #fragment ), - Repr) :- + [FL_URI,Repr]) :- flora_concat_strings([Protocol,Separator],Protocol1), (User == [] -> User1="" ; flora_concat_strings([User,'@'],User1)), (Host == [] -> Host1="" ; Host1=Host), (Port == [] -> Port1="" ; flora_concat_strings([':',Port],Port1)), (Query == [] -> Query1="" ; flora_concat_strings(['?',Query],Query1)), (Fragm == [] -> Fragm1="" ; flora_concat_strings(['#',Fragm],Fragm1)), - flora_concat_strings([FL_URI, '"', - Protocol1,User1,Host1,Port1,Path,Query1,Fragm1,'"' ], + flora_concat_strings([Protocol1,User1,Host1,Port1,Path,Query1,Fragm1], Repr), !. -flora_printable_type_representation(FL_STRING(Val),Val) :- !. -flora_printable_type_representation(FL_INTEGER(Val),Val) :- !. -flora_printable_type_representation(FL_FLOAT(Val),Val) :- !. -flora_printable_type_representation(FL_BOOL(Val),Val) :- !. -flora_printable_type_representation(FL_CHARLIST(Val),Repr) :- - flora_concat_strings([[CH_DOUBLEQUOTE|Val],[CH_DOUBLEQUOTE]],Repr), - !. +flora_printable_type_representation(FL_STRING(Val),[FL_STRING,Val]) :- !. +%%flora_printable_type_representation(FL_INTEGER(Val),[FL_INTEGER,Val]) :- !. +flora_printable_type_representation(FL_LONG(Val),[FL_LONG,Val]) :- !. +flora_printable_type_representation(FL_DOUBLE(Val),[FL_DOUBLE,Val]) :- !. +%%flora_printable_type_representation(FL_FLOAT(Val),[FL_FLOAT,Val]) :- !. +flora_printable_type_representation(FL_BOOL(Val),[FL_BOOL,Val]) :- !. +flora_printable_type_representation(FL_CHARLIST(Val),[FL_CHARLIST,Val]) :- !. %% Catch-all %% Literals are represented as charlists? -flora_printable_type_representation(FL_DATATYPE(TypeName,Literal),Repr) :- - atom_codes(LiteralAtm,Literal), - flora_concat_atoms([TypeName,'"',LiteralAtm,'"'], Repr). +flora_printable_type_representation(FL_DATATYPE(TypeName,Literal), + [TypeName,LiteralAtm]) :- + atom_codes(LiteralAtm,Literal). @@ -220,6 +246,11 @@ second(FL_DATETIME(_DSign,_Yr,_Mon,_Day,_Hr,_Min,Sec,_Zone,_), Val) :- !, number_codes(Val,Sec). + +datesign(FL_DATATYPE(T,_), Val) :- datesign(T,Val), !. +datesign(FL_DATETIME(DSign,_Yr,_Mon,_Day,_Hr,_Min,_Sec,_Zone,_), Val) :- + !, + number_codes(Val,DSign). year(FL_DATATYPE(T,_), Val) :- year(T,Val), !. year(FL_DATETIME(_DSign,Yr,_Mon,_Day,_Hr,_Min,_Sec,_Zone,_), Val) :- !, |
|
From: Michael K. <ki...@us...> - 2007-02-22 00:47:03
|
Update of /cvsroot/flora/flora2/syslib In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv19940/syslib Modified Files: flrdecode.P Log Message: more datatype work Index: flrdecode.P =================================================================== RCS file: /cvsroot/flora/flora2/syslib/flrdecode.P,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- flrdecode.P 20 Jan 2007 03:58:22 -0000 1.48 +++ flrdecode.P 22 Feb 2007 00:46:56 -0000 1.49 @@ -787,11 +787,12 @@ decode_literal_internal(Term,Code,Level,Depth). %% data types -decode_literal_internal(FL_DATATYPE(Term,Type),[Code],_Level,_Depth) :- +decode_literal_internal(FL_DATATYPE(Term,Type), Code, _Level,_Depth) :- !, (var(Term) -> Code = [Type, '?', Term] ; - flora_printable_type_representation(Term,Code) + flora_printable_type_representation(Term,[TypeName,TypeLit]), + Code = [TypeName,'"',TypeLit,'"'] ). decode_literal_internal(FLLIBNEWMODULE(_ThisModule,NewModuleName), |
|
From: Michael K. <ki...@us...> - 2007-02-22 00:47:02
|
Update of /cvsroot/flora/flora2/flrincludes In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv19940/flrincludes Modified Files: flora_terms.flh Log Message: more datatype work Index: flora_terms.flh =================================================================== RCS file: /cvsroot/flora/flora2/flrincludes/flora_terms.flh,v retrieving revision 1.78 retrieving revision 1.79 diff -u -d -r1.78 -r1.79 --- flora_terms.flh 17 Feb 2007 23:21:16 -0000 1.78 +++ flora_terms.flh 22 Feb 2007 00:46:56 -0000 1.79 @@ -145,6 +145,9 @@ #define FL_FALSE false #define FL_UNKNOWN unknown #define FL_FAIL fail +/* These are shorthands for _boolean"true" and _boolean"false" */ +#define FL_TRUECONST '_true' +#define FL_FALSECONST '_true' #define FL_UNDERSCORE '_' #define FL_HASH '#' @@ -992,12 +995,19 @@ #define FL_URI '_uri' #define FL_DATETIME '_dateTime' #define FL_TIME '_time' +#define FL_DATE '_date' +#define FL_DURATION '_duration' + +#define FL_LISTTYPE '_list' #define FL_INTEGER '_integer' /* _real is synonymized with _float */ #define FL_REAL '_real' #define FL_FLOAT '_float' +#define FL_DOUBLE '_double' #define FL_NUMBER '_number' +#define FL_LONG '_long' +#define FL_DECIMAL '_decimal' #define FL_STRING '_string' #define FL_CHARLIST '_charList' #define FL_BOOL '_boolean' |
|
From: Michael K. <ki...@us...> - 2007-02-22 00:47:01
|
Update of /cvsroot/flora/flora2 In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv19940 Modified Files: flrsynonym.P TODO Log Message: more datatype work Index: flrsynonym.P =================================================================== RCS file: /cvsroot/flora/flora2/flrsynonym.P,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- flrsynonym.P 8 Feb 2007 16:22:48 -0000 1.6 +++ flrsynonym.P 22 Feb 2007 00:46:57 -0000 1.7 @@ -75,8 +75,8 @@ builtin_synonym('_baseType', FLSYSMODBASETYPE) :- !. builtin_synonym('_symbol', FL_STRING) :- !. -builtin_synonym('_real', FL_FLOAT) :- !. -builtin_synonym('_decimal', FL_FLOAT) :- !. +builtin_synonym('_real', FL_DOUBLE) :- !. +builtin_synonym('_short', FL_LONG) :- !. flora_builtin_synonym(M,Canonic) :- %% atom Index: TODO =================================================================== RCS file: /cvsroot/flora/flora2/TODO,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- TODO 16 Oct 2005 21:45:53 -0000 1.11 +++ TODO 22 Feb 2007 00:46:57 -0000 1.12 @@ -536,3 +536,12 @@ DONE 30. Get rid of ->>, =>> and instead use constraints class[method {cardinality constraints} => type] + + +30. importmodule +31. defaulturiprefix +32. <:, <:: in rule bodies +33. :- flogic_version 2.0 +34. Add Boolean values _true and _false as shorthands for _boolean"true", + _boolean"false". Note, this is not for propositions true/fals, but for + Boolean data type. |
|
From: Michael K. <ki...@us...> - 2007-02-22 00:47:00
|
Update of /cvsroot/flora/flora2/closure In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv19940/closure Modified Files: flrtypes.fli flrscalareql.fli NMakefile.mak Makefile Added Files: flrimportaxioms.fli Removed Files: flruniversalmodaxioms.fli Log Message: more datatype work Index: flrscalareql.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrscalareql.fli,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- flrscalareql.fli 10 Apr 2006 21:43:00 -0000 1.6 +++ flrscalareql.fli 22 Feb 2007 00:46:57 -0000 1.7 @@ -1,5 +1,5 @@ /*************************************************************************** - file: closure/flrscalareql.fli + file: closure/flrscalareql.fli - DEPRECATED Author(s): Guizhen Yang @@ -11,7 +11,7 @@ ***************************************************************************/ -%% this trailer is disabled since we decided not to infer +%% this trailer is DEPRECATED since we decided not to infer %% equality for scalar attributes #include "flora_wspredicates.flh" Index: Makefile =================================================================== RCS file: /cvsroot/flora/flora2/closure/Makefile,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- Makefile 5 Jan 2006 16:53:18 -0000 1.10 +++ Makefile 22 Feb 2007 00:46:57 -0000 1.11 @@ -37,6 +37,7 @@ flreqltrailer_inh.flh \ flrscalareql.flh \ flrpredeql.flh \ + flrimportaxioms.flh \ flrprednoeql.flh PROLOG = none Index: NMakefile.mak =================================================================== RCS file: /cvsroot/flora/flora2/closure/NMakefile.mak,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- NMakefile.mak 3 Jan 2006 04:37:18 -0000 1.13 +++ NMakefile.mak 22 Feb 2007 00:46:57 -0000 1.14 @@ -8,6 +8,7 @@ flreqltrailer.flh \ flreqltrailer_inh.flh \ flrscalareql.flh \ + flrimportaxioms.flh \ flrpredeql.flh \ flrprednoeql.flh --- flruniversalmodaxioms.fli DELETED --- Index: flrtypes.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrtypes.fli,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- flrtypes.fli 6 Feb 2007 15:17:42 -0000 1.18 +++ flrtypes.fli 22 Feb 2007 00:46:57 -0000 1.19 @@ -10,16 +10,24 @@ %% We don't want the silent isa relationships to be shown by the debugger -silent_isa(X,FL_INTEGER,_Caller) :- integer(X). -silent_isa(X,FL_INTEGER,_Caller) :- X = FL_DATATYPE(_,FL_INTEGER). -silent_isa(X,FL_FLOAT,_Caller) :- float(X). -silent_isa(X,FL_FLOAT,_Caller) :- X = FL_DATATYPE(_,FL_FLOAT). +silent_isa(X,FL_LONG,_Caller) :- integer(X). +silent_isa(X,FL_LONG,_Caller) :- X = FL_DATATYPE(_,FL_LONG). +silent_isa(X,FL_INTEGER,_Caller) :- silent_isa(X,FL_LONG,_Caller). + +silent_isa(X,FL_DOUBLE,_Caller) :- float(X). +silent_isa(X,FL_DOUBLE,_Caller) :- X = FL_DATATYPE(_,FL_DOUBLE). +silent_isa(X,FL_FLOAT,_Caller) :- silent_isa(X,FL_DOUBLE,_Caller). +silent_isa(X,FL_DECIMAL,_Caller) :- silent_isa(X,FL_DOUBLE,_Caller). + %% number = integer \/ float silent_isa(X,FL_NUMBER,_Caller) :- number(X). silent_isa(X,FL_NUMBER,_Caller) :- X = FL_DATATYPE(_,FL_NUMBER). + silent_isa(X,FL_STRING,_Caller) :- atom(X). silent_isa(X,FL_STRING,_Caller) :- X = FL_DATATYPE(_,FL_STRING). +silent_isa(X,FL_LISTTYPE,_Caller) :- is_list(X). + silent_isa(X,FL_DATETIME,_Caller) :- X = FL_DATATYPE(_,FL_DATETIME). silent_isa(X,FL_TIME,_Caller) :- X = FL_DATATYPE(_,FL_TIME). silent_isa(X,FL_URI,_Caller) :- X = FL_DATATYPE(_,FL_URI). --- NEW FILE: flrimportaxioms.fli --- /*************************************************************************** file: closure/flrimportaxioms.fli Author(s): Michael Kifer Contact: flo...@li... Copyright (C) The Research Foundation of SUNY, 2006 ***************************************************************************/ /* Axioms for attaching universal module */ :- dynamic FLORA_UNIVERSAL_WORKSPACE(WRAP_SUB)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_ISA)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVD)/4, FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDDEF)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_MVD)/4, FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDDEF)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_METH)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_IMETH)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_BOOLSIG)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_IBOOLSIG)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_TRANSIG)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_ITRANSIG)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_TRAN)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDSIG)/4, FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDCONDEF)/5, FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDSIGDEF)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDSIG)/4, FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDCONDEF)/5, FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDSIGDEF)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_EXISTS)/2, FLORA_UNIVERSAL_WORKSPACE(WRAP_OBJEQL)/4. WRAP_SUB(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_SUB)(X,Y,_Caller). WRAP_ISA(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_ISA)(X,Y,_Caller). WRAP_IMVD(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVD)(X,Y,Z,_Caller). WRAP_IMVDDEF(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDDEF)(X,Y,_Caller). WRAP_MVD(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_MVD)(X,Y,Z,_Caller). WRAP_MVDDEF(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDDEF)(X,Y,_Caller). WRAP_METH(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_METH)(X,Y,_Caller). WRAP_IMETH(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMETH)(X,Y,_Caller). WRAP_BOOLSIG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_BOOLSIG)(X,Y,_Caller). WRAP_IBOOLSIG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IBOOLSIG)(X,Y,_Caller). WRAP_TRANSIG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TRANSIG)(X,Y,_Caller). WRAP_ITRANSIG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_ITRANSIG)(X,Y,_Caller). WRAP_TRAN(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TRAN)(X,Y,_Caller). WRAP_MVDSIG(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDSIG)(X,Y,Z,_Caller). WRAP_MVDCONDEF(X,Y,Z,V_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDCONDEF)(X,Y,Z,V_Caller). WRAP_MVDSIGDEF(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_MVDSIGDEF)(X,Y,_Caller). WRAP_IMVDSIG(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDSIG)(X,Y,Z,_Caller). WRAP_IMVDCONDEF(X,Y,Z,V_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDCONDEF)(X,Y,Z,V_Caller). WRAP_IMVDSIGDEF(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_IMVDSIGDEF)(X,Y,_Caller). WRAP_EXISTS(X,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_EXISTS)(X,_Caller). WRAP_OBJEQL(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_OBJEQL)(X,Y,Z,_Caller). :- dynamic FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/2, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/4, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/5, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/6, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/7, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/8, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/9, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/10, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/11, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/12, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/13, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/14, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/15, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/16, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/17, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/18, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/19, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/20, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/21, FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)/22. WRAP_HILOG(X,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X,_Caller). WRAP_HILOG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X,Y,_Caller). WRAP_HILOG(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X,Y,Z,_Caller). WRAP_HILOG(X1,X2,X3,X4,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller). WRAP_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller). :- dynamic FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/2, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/3, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/4, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/5, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/6, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/7, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/8, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/9, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/10, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/11, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/12, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/13, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/14, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/15, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/16, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/17, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/18, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/19, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/20, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/21, FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)/22. WRAP_TABLED_HILOG(X,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X,_Caller). WRAP_TABLED_HILOG(X,Y,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X,Y,_Caller). WRAP_TABLED_HILOG(X,Y,Z,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X,Y,Z,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,_Caller). WRAP_TABLED_HILOG(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller) :- FLORA_UNIVERSAL_WORKSPACE(WRAP_TABLED_HILOG)(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,_Caller). |
|
From: Michael K. <ki...@us...> - 2007-02-18 02:46:39
|
Update of /cvsroot/flora/flora2/datatypes In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv26766/datatypes Modified Files: flrdatatype.P Log Message: additional methods Index: flrdatatype.P =================================================================== RCS file: /cvsroot/flora/flora2/datatypes/flrdatatype.P,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- flrdatatype.P 6 Feb 2007 15:17:42 -0000 1.3 +++ flrdatatype.P 18 Feb 2007 02:46:35 -0000 1.4 @@ -38,7 +38,9 @@ flora_type_numeric_value/2, flora_builtin_datatype/1, flora_canonical_type_name/2, - flora_printable_type_representation/2. + flora_printable_type_representation/2, + flora_datatype_raw_value/2, + flora_datatype_name/2. :- export year/2, day/2, month/2, hour/2, minute/2, second/2, @@ -272,3 +274,10 @@ fragment(FL_URI(_Proto,_Separator,_User,_Host,_Port,_Path,_Query,Fragm),Val) :- !, atom_codes(Val,Fragm). + +flora_datatype_raw_value(FL_DATATYPE(Val,_Name), Raw) :- + (functor(Val,_,2) -> arg(2,Val,Raw) + ; Val =.. [_|Raw] + ). + +flora_datatype_name(FL_DATATYPE(_Val,Name), Name) :- !. |
|
From: Michael K. <ki...@us...> - 2007-02-18 02:46:39
|
Update of /cvsroot/flora/flora2/lib In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv26766/lib Modified Files: flrbasetype.flr Log Message: additional methods Index: flrbasetype.flr =================================================================== RCS file: /cvsroot/flora/flora2/lib/flrbasetype.flr,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- flrbasetype.flr 6 Feb 2007 15:17:40 -0000 1.2 +++ flrbasetype.flr 18 Feb 2007 02:46:35 -0000 1.3 @@ -28,6 +28,8 @@ :- export ?[_toString->?], + ?[_rawValue->?], + ?[_typeName->?], ?[_hour->?], ?[_minute->?], ?[_second->?], @@ -59,22 +61,32 @@ %abort(['Attempt to apply method ', ?M, ' to an unbound basic data type object ', ?D])@_sys. -?D[_hour->?V] :- hour(?D,?V)@_prolog(flrdatatype), !. -?D[_minute->?V] :- minute(?D,?V)@_prolog(flrdatatype), !. -?D[_second->?V] :- second(?D,?V)@_prolog(flrdatatype), !. -?D[_year->?V] :- year(?D,?V)@_prolog(flrdatatype), !. -?D[_month->?V] :- month(?D,?V)@_prolog(flrdatatype), !. -?D[_day->?V] :- day(?D,?V)@_prolog(flrdatatype), !. -?D[_zoneSign->?V] :- zoneSign(?D,?V)@_prolog(flrdatatype), !. -?D[_zoneHour->?V] :- zoneHour(?D,?V)@_prolog(flrdatatype), !. -?D[_zoneMinute->?V] :- zoneMinute(?D,?V)@_prolog(flrdatatype), !. +// time +_time?D[_hour->?V] :- hour(?D,?V)@_prolog(flrdatatype), !. +_time?D[_minute->?V] :- minute(?D,?V)@_prolog(flrdatatype), !. +_time?D[_second->?V] :- second(?D,?V)@_prolog(flrdatatype), !. -?D[_scheme->?V] :- scheme(?D,?V)@_prolog(flrdatatype), !. -?D[_user->?V] :- user(?D,?V)@_prolog(flrdatatype), !. -?D[_host->?V] :- host(?D,?V)@_prolog(flrdatatype), !. -?D[_port->?V] :- port(?D,?V)@_prolog(flrdatatype), !. -?D[_path->?V] :- path(?D,?V)@_prolog(flrdatatype), !. -?D[_query->?V] :- query(?D,?V)@_prolog(flrdatatype), !. -?D[_fragment->?V] :- fragment(?D,?V)@_prolog(flrdatatype), !. +// dateTime +_dateTime?D[_hour->?V] :- hour(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_minute->?V] :- minute(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_second->?V] :- second(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_year->?V] :- year(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_month->?V] :- month(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_day->?V] :- day(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_zoneSign->?V] :- zoneSign(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_zoneHour->?V] :- zoneHour(?D,?V)@_prolog(flrdatatype), !. +_dateTime?D[_zoneMinute->?V] :- zoneMinute(?D,?V)@_prolog(flrdatatype), !. + +// uri +_uri?D[_scheme->?V] :- scheme(?D,?V)@_prolog(flrdatatype), !. +_uri?D[_user->?V] :- user(?D,?V)@_prolog(flrdatatype), !. +_uri?D[_host->?V] :- host(?D,?V)@_prolog(flrdatatype), !. +_uri?D[_port->?V] :- port(?D,?V)@_prolog(flrdatatype), !. +_uri?D[_path->?V] :- path(?D,?V)@_prolog(flrdatatype), !. +_uri?D[_query->?V] :- query(?D,?V)@_prolog(flrdatatype), !. +_uri?D[_fragment->?V] :- fragment(?D,?V)@_prolog(flrdatatype), !. +// general ?D[_toString->?V] :- flora_printable_type_representation(?D,?V)@_prolog(flrdatatype), !. +?D[_rawValue->?V] :- flora_datatype_raw_value(?D,?V)@_prolog(flrdatatype), !. +?D[_typeName->?V] :- flora_datatype_name(?D,?V)@_prolog(flrdatatype), !. |
|
From: Michael K. <ki...@us...> - 2007-02-17 23:29:35
|
Update of /cvsroot/flora/flora-testsuite/general_tests In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv12751/general_tests Modified Files: typecheck.flr basetypes_old basetypes.flr Log Message: Added tests for typed variables. Index: basetypes.flr =================================================================== RCS file: /cvsroot/flora/flora-testsuite/general_tests/basetypes.flr,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- basetypes.flr 8 Feb 2007 00:48:42 -0000 1.2 +++ basetypes.flr 17 Feb 2007 23:29:27 -0000 1.3 @@ -3,6 +3,32 @@ :- uriprefix abc1='http://vv@bar.foo.com/aaa'. :- uriprefix abc2=mailto. +// these are used to test if typed variables get bound correctly +ppp(_foo?X) :- ?Y = _foo?X, + (write('compiled varY='), + flora_decode_oid_as_atom(?Y,?A)@_plg(flrdecode), + write(?A), + write(' varX='), + flora_write_oid(?X)@_plg(flrdecode), + write(' '))@_plg. +qqq(_t?X) :- ?Y = _t?X, ?Y=_t"23:33:44", + write('compiled varX=')@_plg, + flora_write_oid(?X)@_plg(flrdecode). +qqq2(_t?Y) :- ?Y = _t?X, ?X=_t"23:33:44", + write('compiled varY=')@_plg, + flora_write_oid(?Y)@_plg(flrdecode). + +?- insertrule{rrr(_moo?X) :- ?Y = _moo?X, + (write('inserted varY='), + flora_write_oid(?Y)@_plg(flrdecode), + write(' varX='), + flora_write_oid(?X)@_plg(flrdecode), + write(' '))@_plg}. +?- insertrule{fff(?X) :- ?Y = _dt?X, ?Y=_dt"2002-02-12T23:33:44+02:09", + write('inserted varX=')@_plg, + flora_write_oid(?X)@_plg(flrdecode)}. + + %test1 :- write('test1: ')@_prolog, _dt"2007-11-22T23:33:55+11:33"[_year->?Y]@_basetype, ?Y:_integer, @@ -218,13 +244,35 @@ write(?OOO._toString@_basetype), write('+'), write(?OOO1._toString@_basetype), nl)@_plg. +%test16 :- write('test16: ')@_prolog, + ppp(_foo"abc"), + nl@_plg. + +%test17 :- write('test17: ')@_prolog, + qqq(?), + nl@_plg. + +%test18 :- write('test18: ')@_prolog, + qqq2(?), + nl@_plg. + +%test19 :- write('test19: ')@_prolog, + rrr(_moo"cde"), + nl@_plg. + +%test20 :- write('test20: ')@_prolog, + fff(?), + nl@_plg. + %pretest :- %test1, %test2 and %test3 and %test4, %test5, %test6, %test7, %test8, %test9, - %test10, %test11, %test12, %test13, %test14, %test15. + %test10, %test11, %test12, %test13, %test14, %test15, + %test16, %test17, %test18, %test19, %test20. %test :- tell(temp)@_plg(), Method[%_mustDefine(on)]@_sys, %pretest, Method[%_mustDefine(off)]@_sys, + Tables[%abolish]@_sys, %pretest, told@_plg(). Index: basetypes_old =================================================================== RCS file: /cvsroot/flora/flora-testsuite/general_tests/basetypes_old,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- basetypes_old 6 Feb 2007 15:20:26 -0000 1.1 +++ basetypes_old 17 Feb 2007 23:29:27 -0000 1.2 @@ -13,6 +13,11 @@ test13: urn++++abc123:something:else++-->_uri"urn:abc123:something:else" test14: /bla+u-->_uri"ftp://u@foo.bar.com/bla#bar" test15: _uri"ftp://u@foo.bar.com/bla#bar"+_uri"ftp://u@foo.bar.com/blabar"+_uri"ftp://u@foo.bar.com/bla#bar"+_uri"http://vv@bar.foo.com/aaa#bar"+_uri"http://vv@bar.foo.com/aaabar"+_uri"http://vv@bar.foo.com/aaa#bar"+_uri"mailto:foo@bar"+_uri"mailto:foo@bar" +test16: compiled varY=_foo"abc" varX=_foo"abc" +test17: compiled varX=_time"23:33:44" +test18: compiled varY=_time"23:33:44" +test19: inserted varY=_moo"cde" varX=_moo"cde" +test20: inserted varX=_dateTime"2002-02-12T23:33:44+02:09" test1: 2007|22|11|23|33|55|-1|11|33-->_dateTime"2007-11-22T23:33:55+11:33" test2: 2007|22|11|0|0|0|1|0|0-->_dateTime"2007-11-22T00:00:00+00:00" test3: 2007|22|11|23|33|55|1|0|0-->_dateTime"2007-11-22T23:33:55+00:00" @@ -28,3 +33,8 @@ test13: urn++++abc123:something:else++-->_uri"urn:abc123:something:else" test14: /bla+u-->_uri"ftp://u@foo.bar.com/bla#bar" test15: _uri"ftp://u@foo.bar.com/bla#bar"+_uri"ftp://u@foo.bar.com/blabar"+_uri"ftp://u@foo.bar.com/bla#bar"+_uri"http://vv@bar.foo.com/aaa#bar"+_uri"http://vv@bar.foo.com/aaabar"+_uri"http://vv@bar.foo.com/aaa#bar"+_uri"mailto:foo@bar"+_uri"mailto:foo@bar" +test16: compiled varY=_foo"abc" varX=_foo"abc" +test17: compiled varX=_time"23:33:44" +test18: compiled varY=_time"23:33:44" +test19: inserted varY=_moo"cde" varX=_moo"cde" +test20: inserted varX=_dateTime"2002-02-12T23:33:44+02:09" Index: typecheck.flr =================================================================== RCS file: /cvsroot/flora/flora-testsuite/general_tests/typecheck.flr,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- typecheck.flr 15 Feb 2007 02:02:27 -0000 1.2 +++ typecheck.flr 17 Feb 2007 23:29:27 -0000 1.3 @@ -15,7 +15,7 @@ q[foo->bar]. q:qq. -a[card->{1,2}, card2->1]. +a[card->{1,2}, card2->1, card3->{}]. c[card {0:1} *=> _integer, card2 {2:*}*=>_integer, card3{1:1}=>_integer]. c[card *-> {1,2}]. |
|
From: Michael K. <ki...@us...> - 2007-02-17 23:21:40
|
Update of /cvsroot/flora/flora2/syslib In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv9443/syslib Modified Files: flrexport.P Log Message: 1. Fixed the treatment of typed variables 2. Fixed export of F-logic molecules - unexported methods can't be called with molecules that have unbound methods (export of HiLog predicates still needs fixing) Index: flrexport.P =================================================================== RCS file: /cvsroot/flora/flora2/syslib/flrexport.P,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- flrexport.P 26 Dec 2005 06:12:03 -0000 1.15 +++ flrexport.P 17 Feb 2007 23:21:16 -0000 1.16 @@ -26,8 +26,6 @@ :- compiler_options([xpp_on]). #include "flora_terms.flh" -%% (ExportingModule, ModuleExportedTo, UpdatableTag, Exported_Term) -:- dynamic flora_export_registry(_,_,_,_). %% to prevent error checking in case on uninitialized/ undefined calls. :- dynamic flora_undefinedness_export_registry/2. @@ -37,6 +35,7 @@ FLLIBEXPORT/1, flora_add_undef_export_call/2, flora_remove_undef_export_call/1, + flora_bind_to_registry/3, flora_check_export_registry/3, flora_check_export_registry/4, flora_check_export_registry_internal/4. @@ -53,6 +52,8 @@ get_canonical_form/2 from flrcanon. +:- import flora_export_registry/4 from flrregistry. + %% to extract the individual terms from the detailed code. is_flexport(FLEXPORT(UpdTag, ExportingModule, ListOfModulesExportedTo, Term),UpdTag, ExportingModule, ListOfModulesExportedTo, Term). @@ -124,9 +125,9 @@ flora_error_invalid_export(Term) ; ( - flora_export_registry(ExportingModule, ModuleExportedTo, UpdateTag, Term), ! + flora_export_registry(ExportingModule, ModuleExportedTo, UpdateTag, Term), + ! ; - %% write('flora_export_registry('),write(ExportingModule),write(','),write(ModuleExportedTo),write(','),write(UpdateTag),write(','),writeln(Term),write(')'), assert(flora_export_registry(ExportingModule, ModuleExportedTo, UpdateTag, Term)), convert_to_signature(Term,inheritable,SigTerm), assert(flora_export_registry(ExportingModule, ModuleExportedTo, UpdateTag, SigTerm)), @@ -140,12 +141,11 @@ ( is_fllibmodlit(Term) -> ( - %% do we need to convert it into canonical form?? + %% to convert it into canonical form, if Term is libmodlit get_canonical_form(Term,FLCANON(_,_,_,TermCode,_)), ( flora_export_registry(DynamicModulename, ModuleExportedTo, UpdateTag, TermCode), ! ; - %%write('flora_export_registry('),write(DynamicModulename),write(','),write(ModuleExportedTo),write(','),write(UpdateTag),write(','),writeln(TermCode),write(')'), assert(flora_export_registry(DynamicModulename, ModuleExportedTo, UpdateTag, TermCode)) ) ) @@ -153,7 +153,6 @@ ( flora_export_registry(DynamicModulename, ModuleExportedTo, UpdateTag, Term), ! ; - %%write('flora_export_registry('),write(DynamicModulename),write(','),write(ModuleExportedTo),write(','),write(UpdateTag),write(','),writeln(Term),write(')'), assert(flora_export_registry(DynamicModulename, ModuleExportedTo, UpdateTag, Term)) ) ) @@ -175,7 +174,6 @@ It is invoked by the flora_check_export_registry predicates. ****************************************************************************/ flora_check_export_registry_internal(CallerMod,ModBeingCalled,Term,UpdateTag) :- - %%write('flora_check_export_registry_internal--'),write(CallerMod),write(','),write(Term),write(','),write(UpdateTag),write(','),writeln(ModBeingCalled), ( flora_no_predicates_exported(ModBeingCalled) ; @@ -203,7 +201,8 @@ ****************************************************************************/ flora_no_predicates_exported(Module) :- flora_export_registry(Module,_ExtMod,_UpdTag,_Term), - !, fail. + !, + fail. %% no predicate exported, hence succeeds. flora_no_predicates_exported(_Module) :- !. @@ -255,7 +254,6 @@ 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)). @@ -268,7 +266,6 @@ %% Tell if call is protected flora_export_undef_check_protected(Predicate) :- - %% write('Undefindness check -- '),writeln(Predicate), ( flora_undefinedness_export_registry(Predicate,_Id), ! @@ -276,6 +273,29 @@ %% 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) ). + + +/***************************************************************************** + flora_bind_to_registry(+Caller,+CalledMod,+Call) + + Binds Call to what is in the registry for CalledMod module. + If CalledMod exports everything then return true. Otherwise, + bind to the calls in the registry. + This is used to prevent Caller from calling methods/predicates + in an encapsulated module with method/pred name unbound. + Note: we don't see this as an error. Instead, Caller can browse only + the exported methods. +*****************************************************************************/ + +flora_bind_to_registry(_Caller,CalledMod,_Call) :- + flora_no_predicates_exported(CalledMod), + !, + true. +flora_bind_to_registry(Caller,CalledMod,_Call) :- + Caller == CalledMod, + !, + true. +flora_bind_to_registry(Caller,CalledMod,Call) :- + flora_export_registry(CalledMod,Caller,_,Call). |
|
From: Michael K. <ki...@us...> - 2007-02-17 23:21:40
|
Update of /cvsroot/flora/flora2/genincludes In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv9443/genincludes Modified Files: flrpreddef.fli Log Message: 1. Fixed the treatment of typed variables 2. Fixed export of F-logic molecules - unexported methods can't be called with molecules that have unbound methods (export of HiLog predicates still needs fixing) Index: flrpreddef.fli =================================================================== RCS file: /cvsroot/flora/flora2/genincludes/flrpreddef.fli,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- flrpreddef.fli 13 Feb 2007 19:06:19 -0000 1.27 +++ flrpreddef.fli 17 Feb 2007 23:21:16 -0000 1.28 @@ -9,6 +9,7 @@ This is a template file to generate the FLORA include file for checking undefinedness. + It is included by flrutils.P at the end of every compiled FLORA-2 file ***************************************************************************/ #include "flora_wspredicates.flh" @@ -17,8 +18,8 @@ :- import flora_abort/1 from flrutils. -:- import flora_concat_items/2 - from flrporting. +:- import flora_concat_items/2 from flrporting. +:- import flora_bind_to_registry/3 from flrexport. :- WRAP_COPY_UNQUOTED 'FLORA_THIS_MODULE_NAME'. debugging :- flora_debug_module_registry('FLORA_THIS_MODULE_NAME'). @@ -29,8 +30,9 @@ FLCHECKPREFIX(WRAP_SUB)(X,Y,_Caller), flora_error_undefined(WRAP_ISA(X,Y,_Caller)). -WRAP_D_ISA(X,Y,_Caller) :- - WRAP_ISA(X,Y,_Caller). +WRAP_D_ISA(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_ISA(_,Y,_)), + WRAP_ISA(X,Y,[Caller|_]). WRAP_D_SUB(X,Y,_Caller) :- debugging, @@ -38,8 +40,9 @@ FLCHECKPREFIX(WRAP_SUB)(X,Y,_Caller), flora_error_undefined(WRAP_SUB(X,Y,_Caller)). -WRAP_D_SUB(X,Y,_Caller) :- - WRAP_SUB(X,Y,_Caller). +WRAP_D_SUB(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_SUB(_,Y,_)), + WRAP_SUB(X,Y,[Caller|_]). WRAP_D_METH(X,Y,_Caller) :- debugging, @@ -48,8 +51,9 @@ FLCHECKPREFIX(WRAP_IMETH)(X,Y,_Caller), flora_error_undefined(WRAP_METH(X,Y,_Caller)). -WRAP_D_METH(X,Y,_Caller) :- - WRAP_METH(X,Y,_Caller). +WRAP_D_METH(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_METH(_,Y,_)), + WRAP_METH(X,Y,[Caller|_]). WRAP_D_IMETH(X,Y,_Caller) :- debugging, @@ -57,8 +61,9 @@ FLCHECKPREFIX(WRAP_IMETH)(X,Y,_Caller), flora_error_undefined(WRAP_IMETH(X,Y,_Caller)). -WRAP_D_IMETH(X,Y,_Caller) :- - WRAP_IMETH(X,Y,_Caller). +WRAP_D_IMETH(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_IMETH(_,Y,_)), + WRAP_IMETH(X,Y,[Caller|_]). WRAP_D_BOOLSIG(X,Y,_Caller) :- debugging, @@ -67,8 +72,9 @@ FLCHECKPREFIX(WRAP_IBOOLSIG)(X,Y,_Caller), flora_error_undefined(WRAP_BOOLSIG(X,Y,_Caller)). -WRAP_D_BOOLSIG(X,Y,_Caller) :- - WRAP_BOOLSIG(X,Y,_Caller). +WRAP_D_BOOLSIG(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_BOOLSIG(_,Y,_)), + WRAP_BOOLSIG(X,Y,[Caller|_]). WRAP_D_IBOOLSIG(X,Y,_Caller) :- debugging, @@ -76,8 +82,9 @@ FLCHECKPREFIX(WRAP_IBOOLSIG)(X,Y,_Caller), flora_error_undefined(WRAP_IBOOLSIG(X,Y,_Caller)). -WRAP_D_IBOOLSIG(X,Y,_Caller) :- - WRAP_IBOOLSIG(X,Y,_Caller). +WRAP_D_IBOOLSIG(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_IBOOLSIG(_,Y,_)), + WRAP_IBOOLSIG(X,Y,[Caller|_]). WRAP_D_TRANSIG(X,Y,_Caller) :- debugging, @@ -86,8 +93,9 @@ FLCHECKPREFIX(WRAP_ITRANSIG)(X,Y,_Caller), flora_error_undefined(WRAP_TRANSIG(X,Y,_Caller)). -WRAP_D_TRANSIG(X,Y,_Caller) :- - WRAP_TRANSIG(X,Y,_Caller). +WRAP_D_TRANSIG(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_TRANSIG(_,Y,_)), + WRAP_TRANSIG(X,Y,[Caller|_]). WRAP_D_ITRANSIG(X,Y,_Caller) :- debugging, @@ -95,8 +103,9 @@ FLCHECKPREFIX(WRAP_ITRANSIG)(X,Y,_Caller), flora_error_undefined(WRAP_ITRANSIG(X,Y,_Caller)). -WRAP_D_ITRANSIG(X,Y,_Caller) :- - WRAP_ITRANSIG(X,Y,_Caller). +WRAP_D_ITRANSIG(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_ITRANSIG(_,Y,_)), + WRAP_ITRANSIG(X,Y,[Caller|_]). WRAP_D_MVD(X,Y,Z,_Caller) :- debugging, @@ -107,8 +116,9 @@ FLCHECKPREFIX(WRAP_IMVDDEF)(X,Y,_Caller), flora_error_undefined(WRAP_MVD(X,Y,Z,_Caller)). -WRAP_D_MVD(X,Y,Z,_Caller) :- - WRAP_MVD(X,Y,Z,_Caller). +WRAP_D_MVD(X,Y,Z,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_MVD(_,Y,_,_)), + WRAP_MVD(X,Y,Z,[Caller|_]). WRAP_D_IMVD(X,Y,Z,_Caller) :- debugging, @@ -118,8 +128,9 @@ flora_error_undefined(WRAP_IMVD(X,Y,Z,_Caller)). -WRAP_D_IMVD(X,Y,Z,_Caller) :- - WRAP_IMVD(X,Y,Z,_Caller). +WRAP_D_IMVD(X,Y,Z,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_IMVD(_,Y,_,_)), + WRAP_IMVD(X,Y,Z,[Caller|_]). WRAP_D_MVDDEF(X,Y,_Caller) :- debugging, @@ -130,8 +141,9 @@ FLCHECKPREFIX(WRAP_IMVD)(X,Y,Z,_Caller), flora_error_undefined(WRAP_MVDDEF(X,Y,_Caller)). -WRAP_D_MVDDEF(X,Y,_Caller) :- - WRAP_MVDDEF(X,Y,_Caller). +WRAP_D_MVDDEF(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_MVDDEF(_,Y,_)), + WRAP_MVDDEF(X,Y,[Caller|_]). WRAP_D_IMVDDEF(X,Y,_Caller) :- debugging, @@ -140,8 +152,9 @@ FLCHECKPREFIX(WRAP_IMVD)(X,Y,Z,_Caller), flora_error_undefined(WRAP_IMVDDEF(X,Y,_Caller)). -WRAP_D_IMVDDEF(X,Y,_Caller) :- - WRAP_IMVDDEF(X,Y,_Caller). +WRAP_D_IMVDDEF(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_IMVDDEF(_,Y,_)), + WRAP_IMVDDEF(X,Y,[Caller|_]). WRAP_D_MVDSIG(X,Y,Z,_Caller) :- debugging, @@ -150,14 +163,15 @@ FLCHECKPREFIX(WRAP_IMVDSIG)(X,Y,Z,_Caller), flora_error_undefined(WRAP_MVDSIG(X,Y,Z,_Caller)). -WRAP_D_MVDSIG(X,Y,Z,_Caller) :- - WRAP_MVDSIG(X,Y,Z,_Caller). +WRAP_D_MVDSIG(X,Y,Z,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_MVDSIG(_,Y,_,_)), + WRAP_MVDSIG(X,Y,Z,[Caller|_]). -WRAP_MVDCONDERIVED(W,X,Y,Z,_Caller) :- - WRAP_MVDCONDEF(W,X,Y,Z,_Caller). +WRAP_MVDCONDERIVED(W,X,Y,Z,[Caller|_]) :- + WRAP_MVDCONDEF(W,X,Y,Z,[Caller|_]). -WRAP_MVDCONDERIVED(W,X,0,FL_STAR,_Caller) :- - WRAP_D_MVDSIG(W,X,_Y,_Caller). +WRAP_MVDCONDERIVED(W,X,0,FL_STAR,[Caller|_]) :- + WRAP_D_MVDSIG(W,X,_Y,[Caller|_]). WRAP_D_MVDCON(W,X,Y,Z,_Caller) :- debugging, @@ -179,8 +193,9 @@ FLCHECKPREFIX(WRAP_IMVDSIGDEF)(X,Y,_Caller), flora_error_undefined(WRAP_MVDSIGDEF(X,Y,_Caller)). -WRAP_D_MVDSIGDEF(X,Y,_Caller) :- - WRAP_MVDSIGDEF(X,Y,_Caller). +WRAP_D_MVDSIGDEF(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_MVDSIGDEF(_,Y,_)), + WRAP_MVDSIGDEF(X,Y,[Caller|_]). WRAP_D_IMVDSIG(X,Y,Z,_Caller) :- debugging, @@ -188,14 +203,15 @@ FLCHECKPREFIX(WRAP_IMVDSIG)(X,Y,Z,_Caller), flora_error_undefined(WRAP_IMVDSIG(X,Y,Z,_Caller)). -WRAP_D_IMVDSIG(X,Y,Z,_Caller) :- - WRAP_IMVDSIG(X,Y,Z,_Caller). +WRAP_D_IMVDSIG(X,Y,Z,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_IMVDSIG(_,Y,_,_)), + WRAP_IMVDSIG(X,Y,Z,[Caller|_]). -WRAP_IMVDCONDERIVED(W,X,Y,Z,_Caller) :- - WRAP_IMVDCONDEF(W,X,Y,Z,_Caller). +WRAP_IMVDCONDERIVED(W,X,Y,Z,[Caller|_]) :- + WRAP_IMVDCONDEF(W,X,Y,Z,[Caller|_]). -WRAP_IMVDCONDERIVED(W,X,0,FL_STAR,_Caller) :- - WRAP_D_IMVDSIG(W,X,_Y,_Caller). +WRAP_IMVDCONDERIVED(W,X,0,FL_STAR,[Caller|_]) :- + WRAP_D_IMVDSIG(W,X,_Y,[Caller|_]). WRAP_D_IMVDCON(W,X,Y,Z,_Caller) :- debugging, @@ -215,8 +231,9 @@ FLCHECKPREFIX(WRAP_IMVDSIGDEF)(X,Y,_Caller), flora_error_undefined(WRAP_IMVDSIGDEF(X,Y,_Caller)). -WRAP_D_IMVDSIGDEF(X,Y,_Caller) :- - WRAP_IMVDSIGDEF(X,Y,_Caller). +WRAP_D_IMVDSIGDEF(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_IMVDSIGDEF(_,Y,_)), + WRAP_IMVDSIGDEF(X,Y,[Caller|_]). WRAP_D_MVDINC(X,Y,Z,_Caller) :- debugging, @@ -225,8 +242,9 @@ FLCHECKPREFIX(WRAP_IMVD)(X,Y,Z,_Caller), flora_error_undefined(WRAP_MVD(X,Y,Z,_Caller)). -WRAP_D_MVDINC(X,Y,Z,_Caller) :- - WRAP_MVDINC(X,Y,Z,_Caller). +WRAP_D_MVDINC(X,Y,Z,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_MVDINC(_,Y,_,_)), + WRAP_MVDINC(X,Y,Z,[Caller|_]). WRAP_D_IMVDINC(X,Y,Z,_Caller) :- debugging, @@ -234,8 +252,9 @@ FLCHECKPREFIX(WRAP_IMVD)(X,Y,Z,_Caller), flora_error_undefined(WRAP_IMVD(X,Y,Z,_Caller)). -WRAP_D_IMVDINC(X,Y,Z,_Caller) :- - WRAP_IMVDINC(X,Y,Z,_Caller). +WRAP_D_IMVDINC(X,Y,Z,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_IMVDINC(_,Y,_,_)), + WRAP_IMVDINC(X,Y,Z,[Caller|_]). WRAP_D_MVDTOLIST(X,Y,Z,_Caller) :- debugging, @@ -244,8 +263,9 @@ FLCHECKPREFIX(WRAP_IMVD)(X,Y,Z,_Caller), flora_error_undefined(WRAP_MVD(X,Y,Z,_Caller)). -WRAP_D_MVDTOLIST(X,Y,Z,_Caller) :- - WRAP_MVDTOLIST(X,Y,Z,_Caller). +WRAP_D_MVDTOLIST(X,Y,Z,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_MVDTOLIST(_,Y,_,_)), + WRAP_MVDTOLIST(X,Y,Z,[Caller|_]). WRAP_D_IMVDTOLIST(X,Y,Z,_Caller) :- debugging, @@ -253,8 +273,9 @@ FLCHECKPREFIX(WRAP_IMVD)(X,Y,Z,_Caller), flora_error_undefined(WRAP_IMVD(X,Y,Z,_Caller)). -WRAP_D_IMVDTOLIST(X,Y,Z,_Caller) :- - WRAP_IMVDTOLIST(X,Y,Z,_Caller). +WRAP_D_IMVDTOLIST(X,Y,Z,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_IMVDTOLIST(_,Y,_,_)), + WRAP_IMVDTOLIST(X,Y,Z,[Caller|_]). WRAP_D_TRAN(X,Y,_Caller) :- debugging, @@ -262,12 +283,13 @@ FLCHECKPREFIX(WRAP_TRAN)(X,Y,_Caller), flora_error_undefined(WRAP_TRAN(X,Y,_Caller)). -WRAP_D_TRAN(X,Y,_Caller) :- - WRAP_TRAN(X,Y,_Caller). +WRAP_D_TRAN(X,Y,[Caller|_]) :- + flora_bind_to_registry(Caller,'FLORA_THIS_MODULE_NAME',WRAP_D_TRAN(_,Y,_)), + WRAP_TRAN(X,Y,[Caller|_]). %% For exists (a[]) it doesn't make sense to check for definedness -WRAP_D_EXISTS(X,_Caller) :- - WRAP_EXISTS(X,_Caller). +WRAP_D_EXISTS(X,[Caller|_]) :- + WRAP_EXISTS(X,[Caller|_]). %% If FLDEFINEDPREFIX(WRAP_SUB)(X,Y,_Caller) suceeds, then the call fails and %% flora_error_undefined, which follows this call, won't be printed. @@ -344,6 +366,11 @@ FLCHECKPREFIX(WRAP_TRAN)(X,Y,_Caller) :- FLDEFINEDPREFIX(WRAP_TRAN)(X,Y,_Caller), !, fail. FLCHECKPREFIX(WRAP_TRAN)(X,Y,_Caller). +/* + The following statements are expanded into something like + FLORA_THIS_WORKSPACE(defined_sub)(_h1535,_h1536,_h1537) :- + flora_db_find_base(FLORA_THIS_FLD_STORAGE,FLORA_THIS_WORKSPACE(sub)(_h1535,_h1536,_h1537)). +*/ :- WRAP_STORAGE(rule(FLDEFINEDPREFIX(WRAP_SUB)/3,WRAP_SUB,fld)). :- WRAP_STORAGE(rule(FLDEFINEDPREFIX(WRAP_METH)/3,WRAP_METH,fld)). :- WRAP_STORAGE(rule(FLDEFINEDPREFIX(WRAP_IMETH)/3,WRAP_IMETH,fld)). @@ -363,6 +390,10 @@ :- WRAP_STORAGE(rule(FLDEFINEDPREFIX(WRAP_IMVDDEF)/3,WRAP_IMVDDEF,fld)). :- WRAP_STORAGE(rule(FLDEFINEDPREFIX(WRAP_TRAN)/3,WRAP_TRAN,fld)). +/* + Note that these are included AFTER the actual program clauses, so these + are invoked only if the program HiLog clauses fail +*/ WRAP_HILOG(X01,_Caller) :- debugging, FLDEFINEDPREFIX(WRAP_HILOG)(X01,_Caller), |
|
From: Michael K. <ki...@us...> - 2007-02-17 23:21:25
|
Update of /cvsroot/flora/flora2/flrincludes In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv9443/flrincludes Modified Files: flora_terms.flh Log Message: 1. Fixed the treatment of typed variables 2. Fixed export of F-logic molecules - unexported methods can't be called with molecules that have unbound methods (export of HiLog predicates still needs fixing) Index: flora_terms.flh =================================================================== RCS file: /cvsroot/flora/flora2/flrincludes/flora_terms.flh,v retrieving revision 1.77 retrieving revision 1.78 diff -u -d -r1.77 -r1.78 --- flora_terms.flh 12 Feb 2007 23:21:15 -0000 1.77 +++ flora_terms.flh 17 Feb 2007 23:21:16 -0000 1.78 @@ -709,6 +709,7 @@ /* Wrapper names that occur in the body of the compiled rules that come from the user program */ +#define WRAP_D_HILOG FLDEBUGPREFIX(WRAP_HILOG) #define WRAP_D_ISA FLDEBUGPREFIX(WRAP_ISA) #define WRAP_D_SUB FLDEBUGPREFIX(WRAP_SUB) #define WRAP_D_METH FLDEBUGPREFIX(WRAP_METH) |
|
From: Michael K. <ki...@us...> - 2007-02-17 23:21:25
|
Update of /cvsroot/flora/flora2 In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv9443 Modified Files: flrregistry.P flrparser.P flrlexer.P flrcompiler.P Log Message: 1. Fixed the treatment of typed variables 2. Fixed export of F-logic molecules - unexported methods can't be called with molecules that have unbound methods (export of HiLog predicates still needs fixing) Index: flrparser.P =================================================================== RCS file: /cvsroot/flora/flora2/flrparser.P,v retrieving revision 1.108 retrieving revision 1.109 diff -u -d -r1.108 -r1.109 --- flrparser.P 8 Feb 2007 00:42:37 -0000 1.108 +++ flrparser.P 17 Feb 2007 23:21:16 -0000 1.109 @@ -740,6 +740,7 @@ flurisq_struct(PrefixName,LocalName,FLURISQ(PrefixName,LocalName)). +%% object specified using a path expression flobjref_struct(Object,M,Attribute,FLOBJREF(Object,M,Attribute)). %% Composes PARSED Funct with PARSED args to compose a parsed term @@ -3537,7 +3538,9 @@ !, ( S1 \== [] -> Status=S1 - ; flora_name_or_normvar(L,LCode) + ; ( flora_name_or_normvar(L,LCode) + ; get_flbuiltin_identifier_struct(L,LCode) + ) -> ( flora_name_or_normvar(R,RCode) -> @@ -3596,7 +3599,9 @@ !, ( S1 \== [] -> Status = S1 - ; flora_name_or_normvar(L,LCode) + ; ( flora_name_or_normvar(L,LCode) + ; get_flbuiltin_identifier_struct(L,LCode) + ) -> flterm_struct(FCode,1,[LCode],Code), Status=[] Index: flrcompiler.P =================================================================== RCS file: /cvsroot/flora/flora2/flrcompiler.P,v retrieving revision 1.96 retrieving revision 1.97 diff -u -d -r1.96 -r1.97 --- flrcompiler.P 8 Feb 2007 00:42:37 -0000 1.96 +++ flrcompiler.P 17 Feb 2007 23:21:16 -0000 1.97 @@ -162,7 +162,7 @@ %% Binary relationship, like : or :: is_flbirelate(FLBIRELATE(Obj1,RelType,Obj2),Obj1,RelType,Obj2). is_flobjspec(FLOBJSPEC(Obj,Spec),Obj,Spec). -%% Represents object reference: O.M, O..M, O!M, O!!M. RefType is ->, ->>, ... +%% Represents object reference: O.M, O!M. RefType is ->, ->>, ... is_flobjref(FLOBJREF(Obj,RefType,Att),Obj,RefType,Att). %% RefType represents the arrow type: ->, *->, ->, =>>, ... @@ -553,7 +553,8 @@ %% X@module or X@_module [...1479 lines suppressed...] + ( HS == [] + -> compile_body(Body,BodyCode1,Status), + (Status==[] + -> collect_datatype_var_terms([HeadCodeList,BodyCode1],DTVarsCode), + append(DTVarsCode,[H2BCodeHead,BodyCode1,H2BCodeTail],BCodeList), + conjunct_code(BCodeList,BodyCode), list_struct(HeadCodeList,[],HCL), new_varobj(NO_INDEX,BVL), - conjunct_code([BodyCode1,H2BCode],BodyCode), dynrule_struct(HCL,BodyCode,HVL,BVL,RCode), - ( is_fldeleteruleop(Op) -> - true - ; - collect_namevars(Head,HeadVars), + ( is_fldeleteruleop(Op) + -> true + ; collect_namevars(Head,HeadVars), list_struct(HeadVars,[],HVLValue), report_dynrule_varlist(HVL,HVLValue), collect_namevars(Body,BodyVars), Index: flrregistry.P =================================================================== RCS file: /cvsroot/flora/flora2/flrregistry.P,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- flrregistry.P 17 May 2006 06:52:29 -0000 1.9 +++ flrregistry.P 17 Feb 2007 23:21:16 -0000 1.10 @@ -33,6 +33,8 @@ :- dynamic flora_storage_registry/1. %% Optimizer options :- dynamic flora_optimizer_registry/2. +%% (ExportingModule, ModuleExportedTo, UpdatableTag, Exported_Term) +:- dynamic flora_export_registry(_,_,_,_). :- dynamic flora_in_debug_mode/1. :- dynamic flora_configuration/2. @@ -57,6 +59,7 @@ flora_storage_registry/1, flora_trailer_registry/2, flora_optimizer_registry/2, + flora_export_registry/4, flora_disabled_undefinedness_check_registry/3, flora_configuration/2, flora_coder_prefixdef/2, Index: flrlexer.P =================================================================== RCS file: /cvsroot/flora/flora2/flrlexer.P,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- flrlexer.P 26 Jan 2007 16:08:33 -0000 1.25 +++ flrlexer.P 17 Feb 2007 23:21:16 -0000 1.26 @@ -953,10 +953,13 @@ read_variable(NAfterCh,NAfterLN,NAfterCN,NNAfterLN,NNAfterCN, [VarTk|Tokens],Status), flora_token_text(VarTk,VarText,_,_,EndVarLN,EndVarCN), - atom_codes(VarAtm,VarText), + %% the var inside the datatype wrapper always has _ + %% then the compiler adds ?Var = datatype(...,?_Var) + VarTextUnderscore = [CH_UNDERSCORE|VarText], + atom_codes(VarAtm,VarTextUnderscore), flora_datatype_struct(Chars, %% Type name chars VARIABLE(VarAtm), - [CH_QUESTION|VarText], + [CH_QUESTION|VarTextUnderscore], NAfterLN,NAfterCN, EndVarLN,EndVarCN, Tk), |
|
From: Michael K. <ki...@us...> - 2007-02-15 02:02:34
|
Update of /cvsroot/flora/flora-testsuite/general_tests In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv25546/general_tests Modified Files: typecheck_old typecheck.flr Log Message: tests for typechecking and cardinality Index: typecheck_old =================================================================== RCS file: /cvsroot/flora/flora-testsuite/general_tests/typecheck_old,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- typecheck_old 6 Feb 2007 15:20:25 -0000 1.1 +++ typecheck_old 15 Feb 2007 02:02:27 -0000 1.2 @@ -1,4 +1,84 @@ - - - - +Test1: (${o[h(a,a)]}, ${o[ => h(aaa,bbb)]}) +Test1: ${o[g(b)]} +Test1: (${cc[*h(a,d)]}, ${cc[ *=> h(aaa,bbb)]}) +Test2: (${o[h(a,a)]}, ${o[ => h(aaa,bbb)]}) +Test2: (${cc[*h(a,d)]}, ${cc[ *=> h(aaa,bbb)]}) +Test3: (${cc[*h(a,d)]}, ${cc[ *=> h(aaa,bbb)]}) +Test4: (${a[b -> e]}, ${a[b => d]}) +Test4: (${a[b -> e]}, ${a[b => (?_h0; d)]}) +Test4: (${a[b -> e]}, ${a[b => (d; ?_h0)]}) +Test4: ${a[foo -> e]} +Test4: ${q[foo -> bar]} +Test5: (${a[b -> e]}, ${a[b => d]}) +Test5: (${a[b -> e]}, ${a[b => (?_h0; d)]}) +Test5: (${a[b -> e]}, ${a[b => (d; ?_h0)]}) +Test6: ${q[foo -> bar]} +Test7: o +Test7: o +Test7: o +Test7: a +Test7: a +Test7: a +Test8: cc +Test8: cc +Test8: cc +Test8: c +Test8: c +Test8: c +Test9: o + 2 + ok +Test9: o + 2 + ok +Test9: o + 2 + ok +Test9: a + 2 + ok +Test9: a + 2 + ok +Test9: a + 2 + ok +Test10: c + 1 + ok +Test10: c + 1 + ok +Test10: c + 1 + ok +Test11: o + ok + 1 +Test11: o + ok + 1 +Test11: o + ok + 1 +Test11: a + ok + 1 +Test11: a + ok + 1 +Test11: a + ok + 1 +Test1: (${o[h(a,a)]}, ${o[ => h(aaa,bbb)]}) +Test1: ${o[g(b)]} +Test1: (${cc[*h(a,d)]}, ${cc[ *=> h(aaa,bbb)]}) +Test2: (${o[h(a,a)]}, ${o[ => h(aaa,bbb)]}) +Test2: (${cc[*h(a,d)]}, ${cc[ *=> h(aaa,bbb)]}) +Test3: (${cc[*h(a,d)]}, ${cc[ *=> h(aaa,bbb)]}) +Test4: (${a[b -> e]}, ${a[b => d]}) +Test4: (${a[b -> e]}, ${a[b => (?_h0; d)]}) +Test4: (${a[b -> e]}, ${a[b => (d; ?_h0)]}) +Test4: ${a[foo -> e]} +Test4: ${q[foo -> bar]} +Test5: (${a[b -> e]}, ${a[b => d]}) +Test5: (${a[b -> e]}, ${a[b => (?_h0; d)]}) +Test5: (${a[b -> e]}, ${a[b => (d; ?_h0)]}) +Test6: ${q[foo -> bar]} +Test7: o +Test7: o +Test7: o +Test7: a +Test7: a +Test7: a +Test8: cc +Test8: cc +Test8: cc +Test8: c +Test8: c +Test8: c +Test9: o + 2 + ok +Test9: o + 2 + ok +Test9: o + 2 + ok +Test9: a + 2 + ok +Test9: a + 2 + ok +Test9: a + 2 + ok +Test10: c + 1 + ok +Test10: c + 1 + ok +Test10: c + 1 + ok +Test11: o + ok + 1 +Test11: o + ok + 1 +Test11: o + ok + 1 +Test11: a + ok + 1 +Test11: a + ok + 1 +Test11: a + ok + 1 Index: typecheck.flr =================================================================== RCS file: /cvsroot/flora/flora-testsuite/general_tests/typecheck.flr,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- typecheck.flr 6 Feb 2007 15:20:25 -0000 1.1 +++ typecheck.flr 15 Feb 2007 02:02:27 -0000 1.2 @@ -1,42 +1,101 @@ -// To do -/* -insert{o[f(a),g(b),h(a,b), h(a,a)], cc[*h(a,d)], o[=>f(aaa)], o:c, cc::c, c[*=>h(aaa,bbb)], a:aaa , b:bbb}. -Type[%_check(?[?M],?Res)]@_typecheck. -?Res = ${o[g(b)]} -?Res = (${o[h(a,a)]}, ${o[ => h(aaa,bbb)]}) -?Res = (${cc[*h(a,d)]}, ${cc[ *=> h(aaa,bbb)]}) +?- insert{ o[f(a),g(b),h(a,b), h(a,a)], + cc[*h(a,d)], + o[=>f(aaa)], + o:c, + cc::c, + c[*=>h(aaa,bbb)], + a:aaa, + b:bbb + }. -Type[%_check(?[=>?M],?Res)]@_typecheck. -?Res = (${o[h(a,a)]}, ${o[ => h(aaa,bbb)]}) -?Res = (${cc[*h(a,d)]}, ${cc[ *=> h(aaa,bbb)]}) +a:c[b->e, foo->e]. +c[b*=>d]. -Type[%_check(?[*=>?M],?Res)]@_typecheck. -?Res = (${cc[*h(a,d)]}, ${cc[ *=> h(aaa,bbb)]}) +q[foo->bar]. +q:qq. -//------------- +a[card->{1,2}, card2->1]. +c[card {0:1} *=> _integer, card2 {2:*}*=>_integer, card3{1:1}=>_integer]. +c[card *-> {1,2}]. - a[b->e]. - a[foo->e]. -?- Type[%_check(?[?Meth->?],?Result)]@_typecheck. -?Result = (${a[b -> e]}, ${a[b => d]}) -?Result = ${a[foo -> e]} +%test1 :- Type[%_check(?[?_M],?_Res)]@_typecheck, + flora_decode_oid_as_atom(?_Res,?Atm)@_plg(flrdecode), + write('Test1: ')@_plg, + writeln(?Atm)@_plg, + fail. +%test1 :- true. -?- Type[%_check(?[?Meth=>?],?Result)]@_typecheck. -?Result = (${a[b -> e]}, ${a[b => d]}) -insert: - q[foo->bar]. - q:qq. +%test2 :- Type[%_check(?[=>?_M],?_Res)]@_typecheck, + flora_decode_oid_as_atom(?_Res,?Atm)@_plg(flrdecode), + write('Test2: ')@_plg, + writeln(?Atm)@_plg, + fail. +%test2 :- true. - ?- Type[%_check(qq[?Meth->?],?Result)]@_typecheck. -?Result = ${q[foo -> bar]} +%test3 :- Type[%_check(?[*=>?_M],?_Res)]@_typecheck, + flora_decode_oid_as_atom(?_Res,?Atm)@_plg(flrdecode), + write('Test3: ')@_plg, + writeln(?Atm)@_plg, + fail. +%test3 :- true. +%test4 :- Type[%_check(?[?->?],?_Res)]@_typecheck, + flora_decode_oid_as_atom(?_Res,?_Atm)@_plg(flrdecode), + write('Test4: ')@_plg, + writeln(?_Atm)@_plg, + fail. +%test4 :- true. + +%test5 :- Type[%_check(?[?=>?],?_Res)]@_typecheck, + flora_decode_oid_as_atom(?_Res,?Atm)@_plg(flrdecode), + write('Test5: ')@_plg, + writeln(?Atm)@_plg, + fail. +%test5 :- true. + +%test6 :- Type[%_check(qq[?->?],?_Res)]@_typecheck, + flora_decode_oid_as_atom(?_Res,?_Atm)@_plg(flrdecode), + write('Test6: ')@_plg, + writeln(?_Atm)@_plg, + fail. +%test6 :- true. + +%test7 :- Cardinality[%_check(?_Obj[card=>?])]@_typecheck, + write('Test7: ')@_plg, + writeln(?_Obj)@_plg, + fail. +%test7 :- true. + +%test8 :- Cardinality[%_check(?_Obj[card*=>?])]@_typecheck, + write('Test8: ')@_plg, + writeln(?_Obj)@_plg, + fail. +%test8 :- true. + +%test9 :- Cardinality[%_check(?_Obj[card2 {?_L:?_H}=>?])]@_typecheck, + write('Test9: ')@_plg, + writeln(?_Obj+?_L+?_H)@_plg, + fail. +%test9 :- true. + +%test10 :- Cardinality[%_check(?_Obj[card3 {?_L:?_H}=>?])]@_typecheck, + write('Test10: ')@_plg, + writeln(?_Obj+?_L+?_H)@_plg, + fail. +%test10 :- true. + + +%test11 :- Cardinality[%_check(?_Obj[card {?_L:?_H}=>?])]@_typecheck, + write('Test11: ')@_plg, + writeln(?_Obj+?_L+?_H)@_plg, + fail. +%test11 :- true. %pretest :- %test1, %test2 and %test3 and %test4, %test5, %test6, %test7, %test8, %test9, - %test10, %test11, %test12, %test13, %test14, %test15. -*/ + %test10, %test11. %pretest :- writeln('\n')@_plg. @@ -45,4 +104,4 @@ %pretest, Method[%_mustDefine(off)]@_sys, %pretest, - told@_plg(). + told@_prolog. |
|
From: Michael K. <ki...@us...> - 2007-02-15 01:33:23
|
Update of /cvsroot/flora/flora2/lib In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv14358/lib Modified Files: flrtypeconstraint.flr Log Message: turn off undefinedness check while doing type cecking. Index: flrtypeconstraint.flr =================================================================== RCS file: /cvsroot/flora/flora2/lib/flrtypeconstraint.flr,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- flrtypeconstraint.flr 5 Feb 2007 02:09:27 -0000 1.16 +++ flrtypeconstraint.flr 15 Feb 2007 01:33:16 -0000 1.17 @@ -154,36 +154,40 @@ // wrong type, nondefault, nonstrict Type[%typeCheckInternal(allsigns,?)(?Class,?Method,?Module,?Result)] :- - //Method[%mustDefine(off(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, + Method[%_mustDefine(off(?Module))]@_sys, ?O[?Method->?Val, ?Method=>?Type]@?Module, if nonvar(?Class) then ?O:?Class@?Module, not ?Val:?Type@?Module, - //Method[%mustDefine(on(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, ?Result ~ ?O[?Method->?Val, ?Method=>?Type]@?Module. // missing type, nondefault sign, strict Type[%typeCheckInternal(allsigns,strict)(?Class,?Method,?Module,?Result)] :- - //Method[%mustDefine(off(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, + Method[%_mustDefine(off(?Module))]@_sys, (?O[?Method -> ?Val], not ?O[?Method => ?])@?Module, if nonvar(?Class) then ?O:?Class@?Module, - //Method[%mustDefine(on(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, ?Result ~ ?O[?Method -> ?Val]@?Module. // wrong type, default sign, nonstrict Type[%typeCheckInternal(?,?)(?Class,?Method,?Module,?Result)] :- - //Method[%mustDefine(off(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, + Method[%_mustDefine(off(?Module))]@_sys, ?O[?Method*->?Val, ?Method*=>?Type]@?Module, if nonvar(?Class) then ?O:?Class@?Module, not ?Val:?Type@?Module, - //Method[%mustDefine(on(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, ?Result ~ ?O[?Method*->?Val, ?Method*=>?Type]@?Module. // missing type, default sign, strict (not checked if nonstrict) Type[%typeCheckInternal(?,strict)(?Class,?Method,?Module,?Result)] :- - //Method[%mustDefine(off(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, + Method[%_mustDefine(off(?Module))]@_sys, (?O[?Method *-> ?Val], not ?O[?Method *=> ?])@?Module, if nonvar(?Class) then ?O:?Class@?Module, - //Method[%mustDefine(on(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, ?Result ~ ?O[?Method *-> ?Val]@?Module. @@ -191,44 +195,48 @@ // Same for Boolean methods // wrong type, nondefault, nonstrict Type[%typeCheckBoolInternal(allsigns,?)(?Class,?Method,?Module,?Result)] :- - //Method[%mustDefine(off(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, + Method[%_mustDefine(off(?Module))]@_sys, ?O[?Method]@?Module, generalize_method(?Method,?MethodType,?MethArgs,?Types), ?O[=>?MethodType]@?Module, if nonvar(?Class) then ?O:?Class@?Module, not_complies_with_type_list(?MethArgs,?Types,?Module), - //Method[%mustDefine(on(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, ?Result ~ ?O[?Method, =>?MethodType]@?Module. // missing type, nondefault sign, strict Type[%typeCheckBoolInternal(allsigns,strict)(?Class,?Method,?Module,?Result)] :- - //Method[%mustDefine(off(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, + Method[%_mustDefine(off(?Module))]@_sys, ?O[?Method]@?Module, generalize_method(?Method,?MethodType,?,?), not ?O[=>?MethodType]@?Module, if nonvar(?Class) then ?O:?Class@?Module, - //Method[%mustDefine(on(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, ?Result ~ ?O[?Method]@?Module. // wrong type, default sign, nonstrict Type[%typeCheckBoolInternal(?,?)(?Class,?Method,?Module,?Result)] :- - //Method[%mustDefine(off(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, + Method[%_mustDefine(off(?Module))]@_sys, ?O[*?Method]@?Module, generalize_method(?Method,?MethodType,?MethArgs,?Types), ?O[*=>?MethodType]@?Module, if nonvar(?Class) then ?O:?Class@?Module, not_complies_with_type_list(?MethArgs,?Types,?Module), - //Method[%mustDefine(on(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, ?Result ~ ?O[*?Method, *=>?MethodType]@?Module. // missing type, default sign, strict (not checked if nonstrict) Type[%typeCheckBoolInternal(?,strict)(?Class,?Method,?Module,?Result)] :- - //Method[%mustDefine(off(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, + Method[%_mustDefine(off(?Module))]@_sys, ?O[*?Method]@?Module, generalize_method(?Method,?MethodType,?,?), not ?O[*=>?MethodType]@?Module, if nonvar(?Class) then ?O:?Class@?Module, - //Method[%mustDefine(on(?Module))]@_sys, // unsure it's a good idea + Method[%_mustDefine(?Stat(?Module))]@_sys, ?Result ~ ?O[*?Method]@?Module. |
|
From: Hui W. <hw...@us...> - 2007-02-13 19:06:33
|
Update of /cvsroot/flora/flora2/genincludes In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv22459/genincludes Modified Files: flrpreddef.fli Log Message: Index: flrpreddef.fli =================================================================== RCS file: /cvsroot/flora/flora2/genincludes/flrpreddef.fli,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- flrpreddef.fli 12 Feb 2007 23:21:19 -0000 1.26 +++ flrpreddef.fli 13 Feb 2007 19:06:19 -0000 1.27 @@ -163,7 +163,6 @@ debugging, \+ FLORA_IGNORE_UNDEFCHECK(WRAP_D_MVDCON(W,X,Y,Z,_Caller)), FLCHECKPREFIX(WRAP_MVDCONDEF)(W,X,Y,Z,_Caller), - FLCHECKPREFIX(WRAP_D_MVDSIG)(W,X,_Y,_Caller), FLCHECKPREFIX(WRAP_IMVDCONDEF)(W,X,Y,Z,_Caller), flora_error_undefined(WRAP_MVDCONDEF(W,X,Y,Z,_Caller)). @@ -202,7 +201,6 @@ debugging, \+ FLORA_IGNORE_UNDEFCHECK(WRAP_D_IMVDCON(W,X,Y,Z,_Caller)), FLCHECKPREFIX(WRAP_IMVDCONDEF)(W,X,Y,Z,_Caller), - FLCHECKPREFIX(WRAP_D_IMVDSIG)(W,X,_Y,_Caller), flora_error_undefined(WRAP_IMVDCONDEF(W,X,Y,Z,_Caller)). WRAP_D_IMVDCON(W,X,Y,Z,_Caller) :- |
|
From: Hui W. <hw...@us...> - 2007-02-12 23:21:30
|
Update of /cvsroot/flora/flora2/flrincludes In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv8499/flrincludes Modified Files: flora_terms.flh flora_wspredicates.flh Log Message: Fix a bug in cardinality constraint treatment. Index: flora_terms.flh =================================================================== RCS file: /cvsroot/flora/flora2/flrincludes/flora_terms.flh,v retrieving revision 1.76 retrieving revision 1.77 diff -u -d -r1.76 -r1.77 --- flora_terms.flh 8 Feb 2007 16:22:48 -0000 1.76 +++ flora_terms.flh 12 Feb 2007 23:21:15 -0000 1.77 @@ -648,6 +648,7 @@ #define WRAP_MVDSIGDEF mvdsigdef #define WRAP_MVDCON mvdcon #define WRAP_MVDCONDEF mvdcondef +#define WRAP_MVDCONDERIVED mvdconderived #define WRAP_IMVDSIG imvdsig #define WRAP_BOOLSIG boolsig #define WRAP_IBOOLSIG iboolsig @@ -656,6 +657,7 @@ #define WRAP_IMVDSIGDEF imvdsigdef #define WRAP_IMVDCON imvdcon #define WRAP_IMVDCONDEF imvdcondef +#define WRAP_IMVDCONDERIVED imvdconderived #define WRAP_MVDINC mvdinc #define WRAP_IMVDINC imvdinc #define WRAP_MVDTOLIST mvdtolist Index: flora_wspredicates.flh =================================================================== RCS file: /cvsroot/flora/flora2/flrincludes/flora_wspredicates.flh,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- flora_wspredicates.flh 9 Mar 2006 08:58:18 -0000 1.19 +++ flora_wspredicates.flh 12 Feb 2007 23:21:18 -0000 1.20 @@ -135,9 +135,11 @@ WRAP_IMVDDEF/3, WRAP_MVDSIG/4, WRAP_MVDCONDEF/5, + WRAP_MVDCONDERIVED/5, WRAP_MVDSIGDEF/3, WRAP_IMVDSIG/4, WRAP_IMVDCONDEF/5, + WRAP_IMVDCONDERIVED/5, WRAP_IMVDSIGDEF/3, WRAP_BOOLSIG/3, WRAP_IBOOLSIG/3, @@ -164,9 +166,11 @@ WRAP_IMVDDEF/3, WRAP_MVDSIG/4, WRAP_MVDCONDEF/5, + WRAP_MVDCONDERIVED/5, WRAP_MVDSIGDEF/3, WRAP_IMVDSIG/4, WRAP_IMVDCONDEF/5, + WRAP_IMVDCONDERIVED/5, WRAP_IMVDSIGDEF/3, WRAP_BOOLSIG/3, WRAP_IBOOLSIG/3, |