1. Translated code & LCC Compiler

Hello all,

To anyone that is wishing to compile translated code with LCC and doesnt
have the latest LCC compiler. beware, I discovered that the last five dated 
version will not correctly compile your Euphoria programs, the programs
will crash.

Jacob Navia made several changes to the compiler since March 22 so hold
on to the version you have that works. Luckily I made a backup of the final
version that was produced that compiled and ran my programz, March 15 version.

Robert you should probably make a note of this on you site....

Euman
euman at bellsouth.net

new topic     » topic index » view message » categorize

2. Re: Translated code & LCC Compiler

Hello again,

I traced the C code and the problem seems to reside in get.e not being processed
correctly by LCC....I'll keep looking for an explanation.

testver   = 4.69
dllver.e:104 clientver = value(comctl32_inf)   ----- My machines ver is 5.81
get.e:305     input_string = string                                          
get.e:306     string_next = 1                                                
get.e:307     get_ch()                                                       
get.e:45     if sequence(input_string) then                                  
get.e:53  ch = getc(input_file)                                              
get.e:55 end procedure                                                       
get.e:308     return Get()                                                   
get.e:245     skip_blanks()                                                  
get.e:61     while find(ch, " \t\n\r") do                                    
get.e:64 end procedure                                                       
get.e:247     if find(ch, START_NUMERIC) then                                
get.e:250     elsif ch = '{' then                                            
get.e:276     elsif ch = '\"' then                                           
get.e:279     elsif ch = '\'' then                                           
get.e:282     elsif ch = -1 then                                             
get.e:286  return {GET_FAIL, 0}                   -------  ******* FAILED
******* ---------
dllver.e:105  puts(fna,clientver)                                            
dllver.e:106 if clientver[2] < testver then           ------  if 5.81 < 4.69
then --------
dllver.e:107    puts(fna, "executing code that shouldnt execute") ----- we
shouldnt be executing
dllver.e:108    flush(fna)                                                   
file.e:42     machine_proc(M_FLUSH, fn)                                      
file.e:43 end procedure                                                      
dllver.e:109     close(fna)                                                  
dllver.e:111    bad=message_box("Incompatible CommCtl32.dll Version","EuSup E
msgbox2.e:72     text_ptr = allocate_string2(text)                           
membits.e:49     mem = myalloc(length(s) + 1)                                
membits.e:7    return c_func(xHeapAlloc,{pHeap,HEAP_ZERO_MEMORY,size})       
membits.e:50     poke(mem, s)                                                
membits.e:51     return mem                                                  
msgbox2.e:73     if not text_ptr then                                        
msgbox2.e:76     title_ptr = allocate_string2(title)                         
membits.e:49     mem = myalloc(length(s) + 1)                                
membits.e:7    return c_func(xHeapAlloc,{pHeap,HEAP_ZERO_MEMORY,size})       
membits.e:50     poke(mem, s)                                                
membits.e:51     return mem                                                  
msgbox2.e:77     if not title_ptr then                                       
msgbox2.e:81     if atom(style) then                                         
msgbox2.e:84  or_style = 0                                                   
msgbox2.e:85  for i = 1 to length(style) do                                  
msgbox2.e:86      or_style = or_bits(or_style, style[i])                     
                                                                             
=== THE END ===                                                      


Euman
euman at bellsouth.net


----- Original Message ----- 
From: <euman at bellsouth.net>
To: "EUforum" <EUforum at topica.com>
Sent: Monday, April 22, 2002 1:50 PM
Subject: Translated code & LCC Compiler


> 
> Hello all,
> 
> To anyone that is wishing to compile translated code with LCC and doesnt
> have the latest LCC compiler. beware, I discovered that the last five dated 
> version will not correctly compile your Euphoria programs, the programs
> will crash.
> 
> Jacob Navia made several changes to the compiler since March 22 so hold
> on to the version you have that works. Luckily I made a backup of the final
> version that was produced that compiled and ran my programz, March 15 version.
> 
> Robert you should probably make a note of this on you site....
> 
> Euman
> euman at bellsouth.net
> 
> 
> 
> 
>

new topic     » goto parent     » topic index » view message » categorize

3. Re: Translated code & LCC Compiler

Here is the smallest ctrace.out I could produce with a bug in the latest LCC
compiler. April 19, 2002 version of LCC. The Author of LCC claims to have
fixed a bug in LCC but it has broken Euphoria's ability to use the latest LCC
version.

lccbug.exw:9 valseq = value("5.81")                                
get.e:305     input_string = string                                          
get.e:306     string_next = 1                                                
get.e:307     get_ch()                                                       
get.e:45     if sequence(input_string) then                                  
get.e:53  ch = getc(input_file) 
=== THE END ===   

when it checks to see if input_string is a sequence it fails.....
so " if sequence( ) "  seems to be a problem.

Heres my test program:

with trace
include get.e
include file.e
trace(1)
sequence valseq
valseq = value("5.81")
integer fn
fn = open("ctrace.me","w")
atom val
if sequence(valseq) then
   val = valseq[2]
   printf(fn, "%4f", val)
else
   puts(fn, "You have been Bugged!") -- never gets here..
end if
flush(fn)
close(fn)
abort(0)

Im looking at the source to euphoria now in hopes that I can produce a
work around. I keep getting numerous errors when I compile Euphoria.

Error d:\euphoria\source\final\execute.c: numerous lines Syntax error; 
missing semicolon before (some code but I cant say here, sorry!)

Ive been unable to successfully run the debugger in LCC, it keeps crashing.
Too many damn bugs in LCC and Euphoria wasnt written initially for 
compilation with LCC. I have an idea to write a pre-processor for the 
translated code now that might speed things up but I still havent finished my
installer project, too much work to weed thru hunting bugs.

Euman
euman at bellsouth.net

new topic     » goto parent     » topic index » view message » categorize

4. Re: Translated code & LCC Compiler

Here is the smallest ctrace.out I could produce with a bug in the latest LCC
compiler. April 19, 2002 version of LCC. The Author of LCC claims to have
fixed a bug in LCC but it has broken Euphoria's ability to use the latest LCC
version.

lccbug.exw:9 valseq = value("5.81")                                
get.e:305     input_string = string                                          
get.e:306     string_next = 1                                                
get.e:307     get_ch()                                                       
get.e:45     if sequence(input_string) then                                  
get.e:53  ch = getc(input_file) 
=== THE END ===   

when it checks to see if input_string is a sequence it fails.....
so " if sequence( ) "  seems to be a problem.

Heres my test program:

with trace
include get.e
include file.e
trace(1)
sequence valseq
valseq = value("5.81")
integer fn
fn = open("ctrace.me","w")
atom val
if sequence(valseq) then
   val = valseq[2]
   printf(fn, "%4f", val)
else
   puts(fn, "You have been Bugged!") -- never gets here..
end if
flush(fn)
close(fn)
abort(O)

Im looking at the source to euphoria now in hopes that I can produce a
work around. I keep getting numerous errors when I compile Euphoria.

Error d:\euphoria\source\final\execute.c: numerous lines Syntax error; 
missing semicolon before (some code but I cant say here, sorry!)

Ive been unable to successfully run the debugger in LCC, it keeps crashing.
Too many damn bugs in LCC and Euphoria wasnt written initially for 
compilation with LCC. I have an idea to write a pre-processor for the 
translated code now that might speed things up but I still havent finished my
installer project, too much work to weed thru hunting bugs.

Euman
euman at bellsouth.net

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu