[ragel-users] Is there a way to generate non-static variables?

Adrian Thurston thurs... at cs.queensu.ca
Fri Mar 28 19:02:23 UTC 2008

If the variables were not static they would need to be initialized from
static variables. So short of loading the data from a file you can't
avoid the static data.


Manoj Rajagopalan wrote:
> Hi Adrian,
>     In C/C++, the variables generated are static. While I can write data 
> for different machine instantiations in different functions, the 
> static-ness makes the data allocated persistent. Instead, if there were 
> an optional way of disabling this which could be used inside functions 
> allocation would be on the function's stack and the total data segment 
> size for the program would remain modest.
>    I am in the process of writing a unit test suite where I have one 
> master Ragel file and am including parts of it for non-invasive testing 
> in my test-suite CPP files. I have to perform a write data for each line 
> that I am testing and then for more complicated machines that build on 
> lines tested in these simpler tests.
>    These tests are part of a potentially enormous test suite for a heavy 
> application with many components. I suspect statically-allocated global 
> data requirements can become quite large though I haven't faced any 
> problems yet. Please correct me if I am wrong.
>    If this idea is worthy of exploration then Ragel could provide a 
> 'nostatic' option to the 'write data' statement which we developers 
> would use in some scope inside which we'd like the data to be 
> exclusively visible.
> Thanks,
> Manoj
> > 

More information about the ragel-users mailing list