Re: Literal quote character causes exception.

Daniel Diaz <[email protected]> Tue, 06 Oct 2009 12:46:40 +0200
Newsgroups gmane.comp.gnu.prolog.bugs
Message-ID <[email protected]>
Nicolas,

after looking carefully at the ISO standard, there is no bug here. ISO 
says the syntax is:

0'<single quoted char>

where <single quoted char> is a character that could appear in a quoted 
string. So if you want to use ' inside either you have to write it twice 
('') or to escape it \'

You should use one of the valid forms: 0''' or 0'\'

I agree the result is not very nice...
In 1.3.2 I will relax the lexer to also accept 0'' (to remain compatible 
with other Prolog systems).

Daniel

Daniel Diaz wrote:
> Thanks for this bug report.
>
> Will be fixed
>
> Daniel
>
> Nicolas Pelletier wrote:
>> Hello,
>>
>> I found the following behaviour both in GNU Prolog 1.3.1 and GNU
>> Prolog 20090310, which I believe is incorrect:
>>
>> nicolas@tamago:~/tmp$ gprolog
>> GNU Prolog 1.3.2
>> By Daniel Diaz
>> Copyright (C) 1999-2009 Daniel Diaz
>> | ?- X = 0''.
>> uncaught exception: error(syntax_error('user_input:1 (char:8) quote
>> character expected here'),read_term/3)
>>
>> I expected the substitution X = 39 as the result of my query. Would
>> you please look into this problem ?
>>
>> Thanks in advance.
>>
>>   
>
>


-- 
Ce message a ete verifie par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a ete trouve.