summaryrefslogtreecommitdiffhomepage
path: root/tools/dfagen/dfagen/output/c.py
diff options
context:
space:
mode:
authorNicolas Schodet2008-03-26 20:35:52 +0100
committerNicolas Schodet2008-03-26 20:35:52 +0100
commit0e4c3e1829be3a789b29ff174a3e1ab06dc28600 (patch)
tree5bc3dd337864e7bd589fe55d90f33926cc998898 /tools/dfagen/dfagen/output/c.py
parent55ea6889987a9ca1e7429951e0e94be0fa99d7af (diff)
* tools/dfagen:
- added generic states template.
Diffstat (limited to 'tools/dfagen/dfagen/output/c.py')
-rw-r--r--tools/dfagen/dfagen/output/c.py14
1 files changed, 5 insertions, 9 deletions
diff --git a/tools/dfagen/dfagen/output/c.py b/tools/dfagen/dfagen/output/c.py
index 8c9b7dbb..12379ae3 100644
--- a/tools/dfagen/dfagen/output/c.py
+++ b/tools/dfagen/dfagen/output/c.py
@@ -18,8 +18,7 @@ class WriterData:
events = self.list_events,
branches = self.list_branches,
transition_table = self.transition_table,
- cb_impl = self.cb_impl,
- cb_decl = self.cb_decl,
+ states_template = self.states_template,
)
def list_states (self):
@@ -97,14 +96,11 @@ class WriterData:
exp += tt % d
return exp
- def cb_impl (self):
- return self.states_template ('template_cb_impl.c')
-
- def cb_decl (self):
- return self.states_template ('template_cb_decl.h')
-
def __getitem__ (self, key):
preproc = lambda v: v
+ args = []
+ key = key.split (',')
+ key, args = key[0], key[1:]
if key.startswith ('*'):
key = key[1:]
preproc = lambda v: ' * ' + v.replace ('\n', '\n * ') + '\n'
@@ -114,7 +110,7 @@ class WriterData:
val = None
if key in self.dict:
try:
- val = self.dict[key] ()
+ val = self.dict[key] (*args)
except TypeError:
val = self.dict[key]
elif key.startswith ('user.'):