diff --git a/tools/define-create-valstr.py b/tools/define-create-valstr.py
new file mode 100755
index 0000000..4f7db81
--- /dev/null
+++ b/tools/define-create-valstr.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+
+from optparse import OptionParser
+from pyparsing import *
+from value_string import *
+
+# define the structure of a macro definition (the empty term is used 
+# to advance to the next non-whitespace character)
+macroDef = "#define" + Word(alphas+"_",alphanums+"_").setResultsName("macro") + \
+            empty + restOfLine.setResultsName("value")
+
+NL = Suppress( LineEnd() )
+restOfLineNL = restOfLine + NL
+
+LineComment = Literal('//') + restOfLineNL
+Comment = cStyleComment | LineComment
+
+# doesn't work :/
+macroDef.ignore(Comment)
+
+parser = OptionParser()
+parser.add_option("-n", "--name", dest="name",
+                  help="Name of the value_string symbol to create")
+parser.add_option("-f", "--flavor", dest="flavor", default='osmocom',
+                  help="Flavor of generated C (osmocom, wireshark)")
+parser.add_option("-w", "--weak-symbol", dest="weak", default=True,
+                  help="Generate weak symbols")
+(options, args) = parser.parse_args()
+filename = args[0]
+
+wr = ValueStringWriter(flavor=options.flavor, weak=options.weak, includes=[filename])
+
+with open(filename, 'r') as f:
+    res = macroDef.scanString(f.read())
+    vdict = {}
+    wr.export_header()
+    for tokens, startPos, EndPos in res:
+        vdict[tokens.value] = tokens.macro
+    wr.export_value_str(options.name, vdict, sort_key=None)
