fix printing of atoms like '.x' (#585)
This commit is contained in:
@@ -51,7 +51,8 @@
|
|||||||
parse_ruleml(AssertItem, QueryItem, XML) :-
|
parse_ruleml(AssertItem, QueryItem, XML) :-
|
||||||
( ( var(AssertItem) ; var(QueryItem) ), var(XML) ->
|
( ( var(AssertItem) ; var(QueryItem) ), var(XML) ->
|
||||||
throw(error(instantiation_error, parse_ruleml/2))
|
throw(error(instantiation_error, parse_ruleml/2))
|
||||||
; phrase(ruleml_top_level_items(AssertItem, QueryItem), XML)
|
; phrase(ruleml_top_level_items(AssertItem, QueryItem), XML),
|
||||||
|
!
|
||||||
).
|
).
|
||||||
|
|
||||||
|
|
||||||
@@ -97,8 +98,7 @@ parse_header -->
|
|||||||
|
|
||||||
ruleml_top_level_items(AssertItem, QueryItems) -->
|
ruleml_top_level_items(AssertItem, QueryItems) -->
|
||||||
( ruleml_assert(AssertItem),
|
( ruleml_assert(AssertItem),
|
||||||
ruleml_query_items(QueryItems),
|
ruleml_query_items(QueryItems)
|
||||||
!
|
|
||||||
; { AssertItem = [] },
|
; { AssertItem = [] },
|
||||||
ruleml_query_items(QueryItems)
|
ruleml_query_items(QueryItems)
|
||||||
).
|
).
|
||||||
@@ -179,12 +179,10 @@ ruleml_assert(Items) -->
|
|||||||
( { var(Items) } ->
|
( { var(Items) } ->
|
||||||
list_ws("<Assert mapClosure=\"universal\">"),
|
list_ws("<Assert mapClosure=\"universal\">"),
|
||||||
ruleml_assert_items(Items),
|
ruleml_assert_items(Items),
|
||||||
!,
|
|
||||||
list_ws("</Assert>")
|
list_ws("</Assert>")
|
||||||
; "<Assert mapClosure=\"universal\">",
|
; "<Assert mapClosure=\"universal\">",
|
||||||
{ Items \== [] },
|
{ Items \== [] },
|
||||||
ruleml_assert_items(Items),
|
ruleml_assert_items(Items),
|
||||||
!,
|
|
||||||
"</Assert>"
|
"</Assert>"
|
||||||
).
|
).
|
||||||
|
|
||||||
@@ -206,7 +204,6 @@ ruleml_assert(Items) -->
|
|||||||
|
|
||||||
ruleml_assert_items([Item | Items]) -->
|
ruleml_assert_items([Item | Items]) -->
|
||||||
ruleml_assert_item(Item),
|
ruleml_assert_item(Item),
|
||||||
!,
|
|
||||||
ruleml_assert_items(Items).
|
ruleml_assert_items(Items).
|
||||||
ruleml_assert_items([]) --> [].
|
ruleml_assert_items([]) --> [].
|
||||||
|
|
||||||
@@ -214,7 +211,6 @@ ruleml_assert_items([]) --> [].
|
|||||||
ruleml_query_items(Items) -->
|
ruleml_query_items(Items) -->
|
||||||
( { var(Items) } ->
|
( { var(Items) } ->
|
||||||
ruleml_query_item(Item),
|
ruleml_query_item(Item),
|
||||||
!,
|
|
||||||
( { var(Item) } ->
|
( { var(Item) } ->
|
||||||
ruleml_query_items(Items)
|
ruleml_query_items(Items)
|
||||||
; { Items = [Item | Items0] },
|
; { Items = [Item | Items0] },
|
||||||
@@ -222,7 +218,6 @@ ruleml_query_items(Items) -->
|
|||||||
)
|
)
|
||||||
; { Items = [Item | Items0] },
|
; { Items = [Item | Items0] },
|
||||||
ruleml_query_item(Item),
|
ruleml_query_item(Item),
|
||||||
!,
|
|
||||||
ruleml_query_items(Items0)
|
ruleml_query_items(Items0)
|
||||||
).
|
).
|
||||||
ruleml_query_items([]) --> [].
|
ruleml_query_items([]) --> [].
|
||||||
@@ -279,7 +274,7 @@ space(' ') --> " ".
|
|||||||
|
|
||||||
decimal_point('.') --> ".".
|
decimal_point('.') --> ".".
|
||||||
|
|
||||||
sign('-') --> "-", !.
|
sign('-') --> "-".
|
||||||
sign('+') --> "+".
|
sign('+') --> "+".
|
||||||
|
|
||||||
double_quote('"') --> "\"".
|
double_quote('"') --> "\"".
|
||||||
@@ -332,7 +327,6 @@ ruleml_condition(Item) -->
|
|||||||
|
|
||||||
ruleml_item_conjunction([Item | Items]) -->
|
ruleml_item_conjunction([Item | Items]) -->
|
||||||
ruleml_condition(Item),
|
ruleml_condition(Item),
|
||||||
!,
|
|
||||||
ruleml_item_conjunction(Items).
|
ruleml_item_conjunction(Items).
|
||||||
ruleml_item_conjunction([]) --> [].
|
ruleml_item_conjunction([]) --> [].
|
||||||
|
|
||||||
@@ -404,7 +398,6 @@ ruleml_conjunction_of_items(Items) -->
|
|||||||
|
|
||||||
ruleml_item_disjunction([Item | Items]) -->
|
ruleml_item_disjunction([Item | Items]) -->
|
||||||
ruleml_condition(Item),
|
ruleml_condition(Item),
|
||||||
!,
|
|
||||||
ruleml_item_disjunction(Items).
|
ruleml_item_disjunction(Items).
|
||||||
ruleml_item_disjunction([]) --> [].
|
ruleml_item_disjunction([]) --> [].
|
||||||
|
|
||||||
@@ -549,7 +542,6 @@ ruleml_naf(Item) -->
|
|||||||
|
|
||||||
ruleml_atoms([Item|Items]) -->
|
ruleml_atoms([Item|Items]) -->
|
||||||
ruleml_atom(Item),
|
ruleml_atom(Item),
|
||||||
!,
|
|
||||||
ruleml_atoms(Items).
|
ruleml_atoms(Items).
|
||||||
ruleml_atoms([]) --> [].
|
ruleml_atoms([]) --> [].
|
||||||
|
|
||||||
@@ -829,9 +821,9 @@ ruleml_data(Name) -->
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ruleml_data_contents(number, Cs) -->
|
ruleml_data_contents(number, Cs) -->
|
||||||
ruleml_number(Cs), !.
|
ruleml_number(Cs).
|
||||||
ruleml_data_contents(symbol, Cs) -->
|
ruleml_data_contents(symbol, Cs) -->
|
||||||
ruleml_symbol(Cs), !.
|
ruleml_symbol(Cs).
|
||||||
ruleml_data_contents(string, Cs) -->
|
ruleml_data_contents(string, Cs) -->
|
||||||
ruleml_string(Cs).
|
ruleml_string(Cs).
|
||||||
|
|
||||||
@@ -1195,8 +1187,7 @@ fold_semicolons(List, Output) :-
|
|||||||
* complicated by Scryer's current lack of multi-argument indexing.
|
* complicated by Scryer's current lack of multi-argument indexing.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
fold_list([Item], _, Item) :-
|
fold_list([Item], _, Item).
|
||||||
!.
|
|
||||||
fold_list([Item|Items], F, Form) :-
|
fold_list([Item|Items], F, Form) :-
|
||||||
Form =.. [F, Item, Fs],
|
Form =.. [F, Item, Fs],
|
||||||
fold_list(Items, F, Fs).
|
fold_list(Items, F, Fs).
|
||||||
|
|||||||
@@ -4172,3 +4172,5 @@ test_bimetatrans_ruleml :-
|
|||||||
(writeq(E),
|
(writeq(E),
|
||||||
nl,
|
nl,
|
||||||
false)).
|
false)).
|
||||||
|
|
||||||
|
:- initialization(test_bimetatrans_ruleml).
|
||||||
|
|||||||
@@ -449,8 +449,6 @@ fn non_quoted_token<Iter: Iterator<Item = char>>(mut iter: Iter) -> bool {
|
|||||||
if let Some(c) = iter.next() {
|
if let Some(c) = iter.next() {
|
||||||
if small_letter_char!(c) {
|
if small_letter_char!(c) {
|
||||||
iter.all(|c| alpha_numeric_char!(c))
|
iter.all(|c| alpha_numeric_char!(c))
|
||||||
} else if c == '.' {
|
|
||||||
iter.next().is_some()
|
|
||||||
} else if graphic_token_char!(c) {
|
} else if graphic_token_char!(c) {
|
||||||
non_quoted_graphic_token(iter, c)
|
non_quoted_graphic_token(iter, c)
|
||||||
} else if semicolon_char!(c) {
|
} else if semicolon_char!(c) {
|
||||||
|
|||||||
Reference in New Issue
Block a user