Euphoria Ticket #517: translation incomplete

I downloaded and installed RC2 then tried to compiled a project I could compiled with RC1. It didn't work. Now the translater create by default a directory to put the .c and .h files that a good idea.

But when I look in that directory there is only 2 files. init-.c and main-.h

the command I use is the same I used with RC1:

euc -wat -plat win edw.exw

there was no error reported by the translator.

Details

Type: Bug Report Severity: Normal Category: Translator
Assigned To: mattlewis Status: Fixed Reported Release: RC2
Fixed in SVN #: 4634, 4635 View VCS: 4634, 4635 Milestone: 4.0.0

1. Comment by mattlewis Dec 08, 2010

With that command line, the translator should translate, compile and then delete the temporary directory.

2. Comment by jeremy Dec 08, 2010

Can you include (inside of {{{ ... }}} tags) the entire output?

3. Comment by coconut Dec 08, 2010

where can I upload the project?

4. Comment by DerekParnell Dec 08, 2010

What do mean by "the project"? All jeremy needs to see is the console output that happens when you run your command. He doesn't need to see the program source code.

5. Comment by coconut Dec 08, 2010

Derek, There is no console output. except for that

c:\euphoria-40\work\win32\edw\2.3.0>euc edw.exw 
Build directory: build-568543\ 
 
c:\euphoria-40\work\win32\edw\2.3.0> 

And as mentionned in the ticket opening in the build directory there is only 2 files init-.c and main-.h

6. Comment by DerekParnell Dec 08, 2010

Actually I'm surprised you even got init-.c and main-.h, as I thought they would have also been deleted. Are you sure that those two files were actually created by your command?

I would have expected that all you should have after the run is edw.exe - just the executable.

7. Comment by jeremy Dec 08, 2010

Ok, can you use eudist and email me a zip file of your project?

8. Comment by coconut Dec 08, 2010

I Repeated the translation on a VM with windows xp sp3 32 bits with same result as on my windows 7 64bits. In fact Derek, the file are not deleted because the translation abort silenlty. at the last line of main-.h there is only 2 letters "ex". It seem it began to write "export" and died just after writing "ex"

I emailed the eudist.zip to Jeremy so he can try it on is computer.

9. Comment by mattlewis Dec 08, 2010

In cases like that, it can be useful to use the interpreted translator, since you're more likely to get a sensible error.

10. Comment by ne1uno Dec 08, 2010

guessing, direct build is failing, try adding -emake or -makefile parameter to euc, then running make or emake when translation complete.

11. Comment by jeremy Dec 08, 2010

Did you use the -exclude or -exclude-dirs w/eudist? The file I got says it cannot find keywords.e

12. Comment by jeremy Dec 08, 2010

Do you mind if I forward this .zip file on to Matt?

\development\projects\euphoria\source\symtab.e:542 in procedure mark_all() 
subscript value 0 is out of bounds, reading from a sequence of length 14164 
 
... called from \development\projects\euphoria\source\symtab.e:650 in function MarkTargets() 
 
... called from \development\projects\euphoria\source\emit.e:1247 in procedure emit_op() 
 
... called from \development\projects\euphoria\source\parser.e:1165 in procedure Function_call() 
 
... called from \development\projects\euphoria\source\parser.e:1279 in procedure Factor() 
 
... called from \development\projects\euphoria\source\parser.e:1305 in procedure UFactor() 
 
... called from \development\projects\euphoria\source\parser.e:1314 in function Term() 
 
... called from \development\projects\euphoria\source\parser.e:1329 in function aexpr() 
 
... called from \development\projects\euphoria\source\parser.e:1343 in function cexpr() 
 
... called from \development\projects\euphoria\source\parser.e:1366 in function rexpr() 
 
... called from \development\projects\euphoria\source\parser.e:1405 in procedure Expr() 
 
... called from \development\projects\euphoria\source\parser.e:1638 in procedure Assignment() 
 
... called from \development\projects\euphoria\source\parser.e:3681 in procedure Statement_list() 
 
... called from \development\projects\euphoria\source\parser.e:3097 in procedure For_statement() 
 
... called from \development\projects\euphoria\source\parser.e:4553 in procedure real_parser() 
 
... called from \development\projects\euphoria\source\parser.e:4725 in procedure parser() 
 
... called from \development\projects\euphoria\source\main.e:193 in procedure main() 
 
... called from \development\projects\euphoria\source\main.e:213 

13. Comment by coconut Dec 08, 2010

I tried:

c:\euphoria-40\work\win32\edw\2.3.0>euc -verbose edw.exw 
Build directory: build-564596\ 
not very verbose...

I tried:

c:\euphoria-40\work\win32\edw\2.3.0>euc -emake edw.exw 
option '-emake': Unrecognised 
It was recognised in RC1!

I tried:

c:\euphoria-40\work\win32\edw\2.3.0>euc -makefile edw.exw 
 
c:\euphoria-40\work\win32\edw\2.3.0> 
It make no file at all. "fichier introuvable"= "File not found"
c:\euphoria-40\work\win32\edw\2.3.0>dir make* 
 Le volume dans le lecteur C n'a pas de nom. 
 Le num?ro de s?rie du volume est 8CAA-8B71 
 
 R?pertoire de c:\euphoria-40\work\win32\edw\2.3.0 
 
Fichier introuvable 
 
Finally
c:\euphoria-40\work\win32\edw\2.3.0>eubind edw.exw 
deleted 4 unused routines and 2990 unused variables. 
You may now run c:\euphoria-40\work\win32\edw\2.3.0\edw.exe 
edw.exe execute normally

14. Comment by ne1uno Dec 09, 2010

-emake option has been removed. missed that in the commit logs...

for watcom make is wmake

matt suggested the interpreted translator as a way to get better error message

eui source\ec.ex -makefile prog 
if successful then wmake 

15. Comment by mattlewis Dec 09, 2010

This issue should be fixed in svn:4634.

16. Comment by jeremy Dec 09, 2010

I tried w/coconut's code and it translated. Marking fixed.

Search



Quick Links

User menu

Not signed in.

Misc Menu