1. routine_id an euc

when running a program with eui one can use routine_id() with a variable and it works but if one compile the program with euc the program exit. exemple:

procedure proc1() 
 puts(1,"proc1\n") 
end procedure 
 
procedure proc2() 
 puts(1,"proc2\n") 
end procedure 
 
sequence s 
 
while 1 do 
  puts(1,"proc? ") 
  s= gets(0) 
  s=s[1..$-1] 
 puts(1,'\n') 
 if  not length(s) then abort(0) end if 
 call_proc(routine_id(s)) 
end while 

This work with eui but not when the program is converted in C and compiled. I guess this is because routine names are lost at conversion.... Too bad.

Jacques

new topic     » topic index » view message » categorize

2. Re: routine_id an euc

coconut said...

This work with eui but not when the program is converted in C and compiled. I guess this is because routine names are lost at conversion.... Too bad.

I believe that this was just recently fixed with ticket:778. At least, with an updated translator, your sample works for me.

Matt

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

3. Re: routine_id an euc

mattlewis said...
coconut said...

This work with eui but not when the program is converted in C and compiled. I guess this is because routine names are lost at conversion.... Too bad.

I believe that this was just recently fixed with ticket:778. At least, with an updated translator, your sample works for me.

Matt

Hi Matt, I downloaded the last nightly build and dezipped it in a directory, then euc.exe report a missing library.

C:\Temp>c:\euphoria-40\eubins-watcom\euc 
User supplied library does not exist: 
    C:\euphoria40\source\build\eu.lib 
 

How should I proceed to install the lastest translator? Is-it reliable ?

Thanks,

Jacques

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

4. Re: routine_id an euc

coconut said...
mattlewis said...
coconut said...

This work with eui but not when the program is converted in C and compiled. I guess this is because routine names are lost at conversion.... Too bad.

I believe that this was just recently fixed with ticket:778. At least, with an updated translator, your sample works for me.

Matt

Hi Matt, I downloaded the last nightly build and dezipped it in a directory, then euc.exe report a missing library.

C:\Temp>c:\euphoria-40\eubins-watcom\euc 
User supplied library does not exist: 
    C:\euphoria40\source\build\eu.lib 
 

How should I proceed to install the lastest translator? Is-it reliable ?

Thanks,

Jacques

Sounds like a bug in the nightly build system. getlost

There should be an eu.lib in the bin directory, you should be able to copy that into source\build\ and use that to translate.

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

5. Re: routine_id an euc

jimcbrown said...
coconut said...
mattlewis said...
coconut said...

This work with eui but not when the program is converted in C and compiled. I guess this is because routine names are lost at conversion.... Too bad.

I believe that this was just recently fixed with ticket:778. At least, with an updated translator, your sample works for me.

Matt

Hi Matt, I downloaded the last nightly build and dezipped it in a directory, then euc.exe report a missing library.

C:\Temp>c:\euphoria-40\eubins-watcom\euc 
User supplied library does not exist: 
    C:\euphoria40\source\build\eu.lib 
 

How should I proceed to install the lastest translator? Is-it reliable ?

Thanks,

Jacques

Sounds like a bug in the nightly build system. getlost

There should be an eu.lib in the bin directory, you should be able to copy that into source\build\ and use that to translate.

Hi Jim, eu.lib is there in the same directory as euc.exe ....

It insist to have it in c:\euphoria40\source\build but such a directory doesn't exist on my computer.

Jacques

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

6. Re: routine_id an euc

ok I create the c:\euphoria40 directory and installed the nightly build there and copied eu.lib in source\build now it work!

And you're right Matt, now my test program works when translated with this version of euc.exe

Now is this safe to copy all the files of the nightly build in my euphoria working directory?

I prefer to use only stable code in my working directory.

Thanks again to both of you,

Jacques

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

7. Re: routine_id an euc

coconut said...

Now is this safe to copy all the files of the nightly build in my euphoria working directory?

I prefer to use only stable code in my working directory.

I think the 4.0 branch is pretty stable. I just found this bug, and there aren't any serious known bugs. Here are the release notes so far:

4.0.5 Release Notes said...

Bug Fixes

  • ticket:777 When invalid input is sent to 'match' or 'find' the error includes 'match' or 'find' in the error message repectively.
  • ticket:749 Fix init checks for while-entry and goto
  • ticket:563 Default values for arguments are always parsed and resolved as though they were being evaluated from the point of the routine declaration, not the point where the routine is called
  • ticket:763 In some cases, the translator did not keep potential routine_id targets when dynamic routine names were used
  • ticket:665 documented minimal requirements for various features in EUPHORIA on various platforms.
  • ticket:665 set minimal version for Windows in its installer to avoid installing on computers that it wont work on.
  • ticket:767 translated insert() could segfault when inserting an atom stored as an integer
  • ticket:744 Duplicate case values in a switch block no longer result in a failed compile after being translated to C.
  • ticket:775 Fixed potential memory leak when a temp is passed to one of the native type check functions: integer(), atom(), object() or sequence()
  • ticket:778 Translator keeps forward referenced routine_id routines in include files

Enhancements

  • ticket:768 Backported support for deserializing 8-byte integers and 10-byte floating point.
  • Optimization of std/map.e remove() to prevent unnecessary copy on write
new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu