1. routine_id an euc
- Posted by coconut Sep 12, 2012
- 1172 views
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
2. Re: routine_id an euc
- Posted by mattlewis (admin) Sep 12, 2012
- 1134 views
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
3. Re: routine_id an euc
- Posted by coconut Sep 12, 2012
- 1125 views
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
4. Re: routine_id an euc
- Posted by jimcbrown (admin) Sep 12, 2012
- 1113 views
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.
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.
5. Re: routine_id an euc
- Posted by coconut Sep 12, 2012
- 1074 views
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.
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
6. Re: routine_id an euc
- Posted by coconut Sep 12, 2012
- 1094 views
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
7. Re: routine_id an euc
- Posted by mattlewis (admin) Sep 12, 2012
- 1107 views
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:
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