FWIW, I find that the stack traces shown by Chicken’s parser often seem wholly 
unrelated to the code at the source of the error. I’m not sure why, either.

 

-Dan

 

From: Chicken-users [mailto:[email protected]] 
On Behalf Of Claude Marinier
Sent: October 8, 2017 10:35 AM
To: chicken-users <[email protected]>
Subject: Re: [Chicken-users] odd compiler messages on program structure errors

 

Allô,

 

On 7 October 2017 at 16:50, <[email protected] <mailto:[email protected]> 
> wrote:
> An extra pair of parentheses can cause "interesting" behaviour.

It was a double left parenthesis before a 'let'. Just a typo. My friend 'vim'
helped me balance the parentheses and everything looked good. So Chicken
evaluated the result of the 'let' which, oddly, was OK a lot of the time. That
was quite a detective adventure.

> After fixing the bug, I commented out extra display statements. I was too
> hasty and took out more than I should have thereby changing the structure
> of the code (removed some parentheses). The compiler (v4.12.0 Linux 64-bit)
> produced error messages with line numbers inside numbers.scm; this is odd.

I am now able to reproduce the problem. I made a copy of the working code and
reversed the changes I made to correct the problem I introduced earlier.

csc -d1 -O3 -X numbers-syntax -deploy -prologue prologue.scm -R numbers
  -R linenoise -o testing testing.scm

Error: (line 1913) unexpected list terminator: #\)

    Call history:

    numbers.scm:1671: scan-ureal          
    numbers.scm:1603: scan-digits+hashes          
    numbers.scm:1549: scan-digits         
    numbers.scm:1531: lp          
    numbers.scm:1548: g1937       
    numbers.scm:1720: %string->compnum    
    numbers.scm:1672: scan-real   
    numbers.scm:1671: scan-ureal          
    numbers.scm:1603: scan-digits+hashes          
    numbers.scm:1549: scan-digits         
    numbers.scm:1531: lp          
    numbers.scm:1548: g1937       
    numbers.scm:1720: %string->compnum    
    numbers.scm:1672: scan-real   
    numbers.scm:1720: %string->compnum    
    numbers.scm:1672: scan-real         <--

Error: shell command terminated with non-zero exit status 17920:
'/usr/local/bin/chicken' 'testing.scm' -output-file 'testing.c' -debug-level 1
-optimize-level 3 -extend numbers-syntax -prologue prologue.scm
-require-extension numbers -require-extension linenoise

The line identified in the error message looks like this - 1913 is marked
with the "->". The last two right parentheses are superfluous.

      (else
        ; not a recognized token, could be a parser error,
        ; handled at the caller
->      token))))
 
The call history seems unrelated to the error.

Is that enough information to guess at the underlying problem?

Merci.


-- 

Claude Marinier

_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to