From 0e4c3e1829be3a789b29ff174a3e1ab06dc28600 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Wed, 26 Mar 2008 20:35:52 +0100 Subject: * tools/dfagen: - added generic states template. --- tools/dfagen/dfagen/output/c.py | 14 +++++--------- tools/dfagen/dfagen/output/c/template_cb.h | 2 +- tools/dfagen/dfagen/output/c/template_cb_skel.c | 2 +- 3 files changed, 7 insertions(+), 11 deletions(-) (limited to 'tools/dfagen') 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.'): diff --git a/tools/dfagen/dfagen/output/c/template_cb.h b/tools/dfagen/dfagen/output/c/template_cb.h index 6252b28c..10740b79 100644 --- a/tools/dfagen/dfagen/output/c/template_cb.h +++ b/tools/dfagen/dfagen/output/c/template_cb.h @@ -9,4 +9,4 @@ #include "%(prefix)s.h" -%(cb_decl)s#endif /* %(prefix)s_cb_h */ +%(states_template,template_cb_decl.h)s#endif /* %(prefix)s_cb_h */ diff --git a/tools/dfagen/dfagen/output/c/template_cb_skel.c b/tools/dfagen/dfagen/output/c/template_cb_skel.c index 95abbd42..9f822492 100644 --- a/tools/dfagen/dfagen/output/c/template_cb_skel.c +++ b/tools/dfagen/dfagen/output/c/template_cb_skel.c @@ -6,4 +6,4 @@ %(*comments)s */ #include "%(prefix)s_cb.h" -%(cb_impl)s +%(states_template,template_cb_impl.c)s -- cgit v1.2.3