summaryrefslogtreecommitdiff
path: root/tools/dfagen/dfagen/output/c.py
diff options
context:
space:
mode:
authorNicolas Schodet2008-03-25 23:04:37 +0100
committerNicolas Schodet2008-03-25 23:04:37 +0100
commit55ea6889987a9ca1e7429951e0e94be0fa99d7af (patch)
tree48469a2386f302b6c7dfa814d6094b61e89d223c /tools/dfagen/dfagen/output/c.py
parent1ea652e0d5185aee5ca60182302d7bb2d4056b46 (diff)
* tools/dfagen:
- fixed warning in doc. - fixed missing newline. - added use of non default templates. - added warning about parser.g. - removed .orig file when patching.
Diffstat (limited to 'tools/dfagen/dfagen/output/c.py')
-rw-r--r--tools/dfagen/dfagen/output/c.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/tools/dfagen/dfagen/output/c.py b/tools/dfagen/dfagen/output/c.py
index e19ca713..8c9b7dbb 100644
--- a/tools/dfagen/dfagen/output/c.py
+++ b/tools/dfagen/dfagen/output/c.py
@@ -141,14 +141,19 @@ class Writer:
o.close ()
def write (self):
- self.write_template ('template.h', self.data.prefix + '.h')
- self.write_template ('template.c', self.data.prefix + '.c')
- self.write_template ('template_cb.h', self.data.prefix + '_cb.h')
- self.write_template ('template_cb_skel.c',
- self.data.prefix + '_cb_skel.c')
+ templates = self.data.user.templates
+ if not templates:
+ templates = {
+ 'template.h': '%.h',
+ 'template.c': '%.c',
+ 'template_cb.h': '%_cb.h',
+ 'template_cb_skel.c': '%_cb_skel.c',
+ }
+ for (t, f) in templates.iteritems ():
+ self.write_template (t, f.replace ('%', self.data.prefix))
def write (prefix, automaton, user):
- w = Writer (WriterData (prefix, automaton, user),
- os.path.splitext (__file__)[0])
+ w = Writer (WriterData (prefix, automaton, user), 'template-dir' in user
+ and user['template-dir'] or os.path.splitext (__file__)[0])
w.write ()