1. LCC Compilation with the Eu2C translator

Hello all,

Using various LCC compiler versions [99-02]:
I have come to the conclusion that LCC does not agree with

procedure proc( object hi_val )
   if atom(hi_val) then
      -- do something
   else
      -- We always wind-up here even if (hi_val) is an atom, why?
    end if

and will crash on any instance you would check for an atom.
This really seems to me to be a more Euphoric problem than LCC..?

[Dont forget I have the interpreter code...maybe I'll figure this out.]

Rob??? anyone?

BTW, Im not recieving any forum messages again, maybe this problem
is my ISP and not TOPICA...however, it has been a TOPICA problem
in the past...

Rob???

Euman
euman at bellsouth.net

==================================================================
==================================================================

new topic     » topic index » view message » categorize

2. Re: LCC Compilation with the Eu2C translator

Euman writes:
> Using various LCC compiler versions [99-02]:
> I have come to the conclusion that LCC does not agree with
>
> procedure proc( object hi_val )
>   if atom(hi_val) then
>      -- do something
>   else
>      -- We always wind-up here even if (hi_val) is an atom, why?
>    end if
>
> and will crash on any instance you would check for an atom.
> This really seems to me to be a more Euphoric problem than LCC..?

It works fine for me.
I have version 3.8, August 6, 2002 of Lcc.
I translated to C and compiled with Lcc the following:

procedure proc( object hi_val )
   if atom(hi_val) then
      puts(1, "it's an atom\n") -- do something
   else
      -- We always wind-up here even if (hi_val) is an atom, why?
      puts(1, "it's a sequence\n")   
   end if
end procedure

proc(99)
proc({99})
?getc(0)

> BTW, Im not recieving any forum messages again, 
> maybe this problem is my ISP and not TOPICA...however, 
> it has been a TOPICA problem in the past...

It's probably your ISP blocking Topica again.
Topica has gotten onto a few blacklists, and
is getting blocked by some ISPs.
Your address is still listed on the subscriber list.
Welcome back!

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

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

3. Re: LCC Compilation with the Eu2C translator

Hi Rob, All.

If the length of an atom is not defined then of course you would expect

pObject (in the below routine) to fail as an atom

BUT,,,

global constant --  a registered constant value in Win32lib
  user_val = 99 -- obligitory

procedure proc( object pObject )
   if atom(pObject) then
      -- do something
   else
      -- We always wind-up here even if (pObject) is an atom, why?
    end if
end procedure

proc(user_val)

Win32lib is cluttered with such code...

I havent found any of my API programs that are unable to compile/run
when using LCC so, Win32lib has to be where the problem lies.
Im still wondering why if a constant is declared and has a value registered 
with Win32lib (before your call to the procedure for test) that you would 
have such problems. 
 
This confuses me!

[6 yrs of Euphoria programming and I still dont get Win32lib]

Euman
euman at bellsouth.net

==================================================================
================================================================== 
----- Original Message ----- 
From: "Euman" <euman at bellsouth.net>
To: <EUforum at topica.com>
Sent: Sunday, October 13, 2002 7:48 PM
Subject: LCC Compilation with the Eu2C translator


> Hello all,
> 
> Using various LCC compiler versions [99-02]:
> I have come to the conclusion that LCC does not agree with
> 
> procedure proc( object hi_val )
>    if atom(hi_val) then
>       -- do something
>    else
>       -- We always wind-up here even if (hi_val) is an atom, why?
>     end if
> 
> and will crash on any instance you would check for an atom.
> This really seems to me to be a more Euphoric problem than LCC..?
> 
> [Dont forget I have the interpreter code...maybe I'll figure this out.]
> 
> Rob??? anyone?
> 
> BTW, Im not recieving any forum messages again, maybe this problem
> is my ISP and not TOPICA...however, it has been a TOPICA problem
> in the past...
> 
> Rob???
> 
> Euman
> euman at bellsouth.net
> 
> ==================================================================
> ==================================================================  
>

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

4. Re: LCC Compilation with the Eu2C translator

Hi,
I guess from your short description of the problem you are having that you have
a Win32lib program
that you are compiling with Lcc, and that when you execute the compile version
it fails, but if you
execute the interpreted version it works.

Have I got that right?

Also, the point of failure is a call to the atom() built-in function, right?

Can you reproduce this problem using a tiny (non-Win32lib) example?

Is it every instance of atom() calls in win32lib that is giving this problem or
only certain one(s)?

-------------
Derek.


15/10/2002 9:44:12 AM, euman at bellsouth.net wrote:

>
>Hi Rob, All.
>
>If the length of an atom is not defined then of course you would expect
>
>pObject (in the below routine) to fail as an atom
>
>BUT,,,
>
>global constant --  a registered constant value in Win32lib
>  user_val = 99 -- obligitory
>
>procedure proc( object pObject )
>   if atom(pObject) then
>      -- do something
>   else
>      -- We always wind-up here even if (pObject) is an atom, why?
>    end if
>end procedure
>
>proc(user_val)
>
>Win32lib is cluttered with such code...
>
>I havent found any of my API programs that are unable to compile/run
>when using LCC so, Win32lib has to be where the problem lies.
>Im still wondering why if a constant is declared and has a value registered 
>with Win32lib (before your call to the procedure for test) that you would 
>have such problems. 
> 
>This confuses me!
>
>[6 yrs of Euphoria programming and I still dont get Win32lib]
>
>Euman
>euman at bellsouth.net
>
>==================================================================
>================================================================== 
>----- Original Message ----- 
>From: "Euman" <euman at bellsouth.net>
>To: <EUforum at topica.com>
>Sent: Sunday, October 13, 2002 7:48 PM
>Subject: LCC Compilation with the Eu2C translator
>
>
>> Hello all,
>> 
>> Using various LCC compiler versions [99-02]:
>> I have come to the conclusion that LCC does not agree with
>> 
>> procedure proc( object hi_val )
>>    if atom(hi_val) then
>>       -- do something
>>    else
>>       -- We always wind-up here even if (hi_val) is an atom, why?
>>     end if
>> 
>> and will crash on any instance you would check for an atom.
>> This really seems to me to be a more Euphoric problem than LCC..?
>> 
>> [Dont forget I have the interpreter code...maybe I'll figure this out.]
>> 
>> Rob??? anyone?
>> 
>> BTW, Im not recieving any forum messages again, maybe this problem
>> is my ISP and not TOPICA...however, it has been a TOPICA problem
>> in the past...
>> 
>> Rob???
>> 
>> Euman
>> euman at bellsouth.net
>> 
>> ==================================================================
>> ==================================================================  
>> 
>
>
>
>
---------
Cheers,
Derek Parnell 
ICQ# 7647806

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

5. Re: LCC Compilation with the Eu2C translator

Euman writes:
> global constant --  a registered constant value in Win32lib
>  user_val = 99 -- obligitory
>
> procedure proc( object pObject )
>   if atom(pObject) then
>      -- do something
>   else
>      -- We always wind-up here even if (pObject) is an atom, why?
>    end if
> end procedure
>
> proc(user_val)

It works fine for me with Lcc.

> I havent found any of my API programs that are 
> unable to compile/run when using LCC so, 
> Win32lib has to be where the problem lies.

The "-O" option with Lcc sometimes causes a problem.
If it's a link-time error, you can usually solve the problem
by removing "-O" from just the file or files that give an error.
If it's a run-time error you should try removing "-O" completely
from emake.bat, then run emake again. 
I still think Borland is a better choice.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

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

6. Re: LCC Compilation with the Eu2C translator

Hey Derek,

this is as shortest as I could come up with:

<snip>
without type_check
without warning
with trace

include Win32Lib.ew --beta 57.12

trace(1)

global integer  
      xScreen, 
      yScreen

xScreen = getSystemMetrics(SM_CXSCREEN) -- screen width
yScreen = getSystemMetrics(SM_CYSCREEN) -- screen height

<snip>

Euman
euman at bellsouth.net

================================================================== 
----- Original Message ----- 
From: "Euman" <euman at bellsouth.net>
To: <EUforum at topica.com>
Sent: Monday, October 14, 2002 6:44 PM
Subject: Re: LCC Compilation with the Eu2C translator


> Hi Rob, All.
> 
> If the length of an atom is not defined then of course you would expect
> 
> pObject (in the below routine) to fail as an atom
> 
> BUT,,,
> 
> global constant --  a registered constant value in Win32lib
>   user_val = 99 -- obligitory
> 
> procedure proc( object pObject )
>    if atom(pObject) then
>       -- do something
>    else
>       -- We always wind-up here even if (pObject) is an atom, why?
>     end if
> end procedure
> 
> proc(user_val)
> 
> Win32lib is cluttered with such code...
> 
> I havent found any of my API programs that are unable to compile/run
> when using LCC so, Win32lib has to be where the problem lies.
> Im still wondering why if a constant is declared and has a value registered 
> with Win32lib (before your call to the procedure for test) that you would 
> have such problems. 
>  
> This confuses me!
> 
> [6 yrs of Euphoria programming and I still dont get Win32lib]
> 
> Euman
> euman at bellsouth.net

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

Search



Quick Links

User menu

Not signed in.

Misc Menu