Accented letters.

Eduardo Costa <[email protected]>
Newsgroups gmane.comp.gnu.prolog.bugs
Message-ID <[email protected]>
If source code has certain accented letters [ 'ê', 'ô'],  Gnu-Prolog (MinGW distribution, gcc 3.4.5) fails to compile once in every  five trials. It is interesting that the compiler sometimes works fine, but sometimes claims that it cannot  unify_atom(Ý); as one can see, this atom is not among the accented letters that I am trying to recognize.  Work around: One can keep trying; the compiler will accept the source code eventually; once compiled, the program works perfectly well. Another work-around is avoidance of characters (use codes instead).


% Culprit:
accents(['á', 'é', 'í','ú', 'â', 'ê', 'ô']).

%Error message:
/*
D:\nogui>gplc --no-top-level --min-size  tokenizer
.pl -o tokenizer
line 195: atom expected
    unify_atom(Ý),
               Ý^ here
Translation aborted
compilation failed
*/
accented(W) :- accents(As), run_member(W, As).

run_member([X|_], As) :- member(X, As), !.
run_member([_|Xs], As) :- run_member(Xs, As).

alpha('-') :- !.
alpha(X) :- X @>= 'a', X @=< 'z', !.
alpha(X) :- accents(As),  member(X, As), !.

check(X) :- alpha(X), !, write('Yes!'), nl.
check(X) :- write('No!'), nl.

isalphap :- 
        argument_counter(ACount), ACount=2,
        argument_value(1, Symbol),
        check(Symbol).
isalphap :- write('Usage: isalphap <char>'), nl.

:- initialization(isalphap).

_______________________________________________
Bug-prolog mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-prolog
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.