Is there a way to generate non-static variables?

Manoj Rajagopalan ma... at
Fri Mar 28 18:36:01 UTC 2008

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.


More information about the ragel-users mailing list