From: Vladimir R. <va...@sk...> - 2003-04-06 15:12:19
|
Hello, All ! Please find below some experience i got using opencxx: 1. At RadHat 7.3 w/ recent gcc v3.2.2 built process looks now fine, but start of `occ' shows "Segmentation fault", exactly like in message w/ subj: [opencxx] GC_register_dynamic_libraries I don't investigate it, because it was eliminated together with GC: occ build without GC works fine. In our practice, GC is not necessary for such programs, because recent computers have enough memory to eat very large program, and further code transformation takes much less. I am not sure that used kind of GC makes opencxx more robust :-) Sorry, anyway. 2. I found that new STL (coming with gcc v3.2.2) is little more complex than `occ' expect, namely in parsing some template typedefs. Some dumb workaround leads to infinite loop in type analyzing stage (many parser-alike progs has same property :-) Currently i have a version which works fine (skipping some code, so it is very dirty hack). It is possible to investigate it (may be too late, if new version parses new STL fine). So, possibly this topic is not actual now. 3. I found that classwalker gives more attention for class/method than non-OO code. So, automatic variables are not user-keyword sensitive (if i understand it properly :-) Some additions make it more care, and automatic variables are handling well. Currently we constructed first version of T++->(C++,TSS) converter using `occ'. T++ is a `superfunctional' language for supercomputers, and has seven additional keywords: tfun, tval, tptr, tout, twait, tdrop, tct. For instance, Fibonacci program looks like: #include <stdio.h> tfun int fib (int n) { return n < 2 ? n : fib(n-1)+fib(n-2); } tfun int main (int argc, char **argv) { if (argc != 2) { printf("Usage: fib <n>\n"); return 1; } int n = atoi(argv[1]); printf("fib(%d) = %d\n", n, (int)fib(n)); return 0; } Running on multicomputer, it will do all recursions in parallel. It is just a reason why i like to be a permanent reader of this great list :-) -- With best wishes, Vladimir |