> > > > PS: You will find attached the source code > >When trying to read it, one of my brain modules threw an exception: >Stack overflow. [:-)] > > Thank you to attempt to read it. You're a pioneer . What does it talk about ? :-) >Hi Franck, > >Actually I only wrote to make that joke, but to be a bit more useful: >It might be that the constructs used by the code generator you used to >translate the FA definitions into ocaml nest somewhat too deeply, and >since the ocamlcompiler parses recursive descendend (i think) its >stack overflows at some point or other. > > > >Suggestions: > > * Try cutting down your FA, let's say to half as a test case and > compile it then. Does it overflow still? > Yes it does if the code it still in a single file. If it is splitted in more than one file it is ok >If things are like I suggest, > that is should be called a tagcc bug, since there is IMHO no > reason for FA execution to use nested constructs this way > (nesting too deeply). > >Regards -- Markus > > > here another Stack overflow for a simpler program let t = [| [| (1,[|1 ;1;1|],1.0); (1,[|1 ;1;1|],1.0); (1,[|1 ;1;1|],1.0); (1,[|1 ;1;1|],1.0) |]; repeat the previous array more than 390 times .... [| (1,[|1 ;1;1|],1.0); (1,[|1 ;1;1|],1.0); (1,[|1 ;1;1|],1.0); (1,[|1 ;1;1|],1.0) |] |] ;; Now, if I split it into several different arrays but in the same file, There is also the same error. If each line is replaced by (ugly code) let t = Array.make 400 [||] ;; let i = ref 0 ;; (incr i ; t.(!i) <- [| (1,[|1 ;1;1|],1.0); (1,[|1 ;1;1|],1.0); (1,[|1 ;1;1|],1.0); (1,[|1 ;1;1|],1.0) |] );; There still an error I use ocamlc now which works well. Thank you for your advice. -- Franck Delaplace @w3:http://www.lami.univ-evry.fr/~delapla/ Equipe BioInfo, La.M.I-U.M.R 8042 C.N.R.S 523 Place des Terrasses 91025 Evry CEDEX (France)