import argparse
import os
-import re
import xml.parsers.expat
from mako.template import Template
+from util import *
TEMPLATE = Template("""\
<%!
#endif /* ${guard} */""", output_encoding='utf-8')
-alphanum_nono = re.compile(r'[ /\[\]()\-:.,=>#&*"+\\]+')
-def to_alphanum(name):
- global alphanum_nono
- return alphanum_nono.sub('', name)
-
-def safe_name(name):
- name = to_alphanum(name)
- if not name[0].isalpha():
- name = '_' + name
- return name
-
class Gen(object):
def __init__(self, z):
import sys
import copy
import textwrap
+from util import *
license = """/*
* Copyright (C) 2016 Intel Corporation
"""
-def to_alphanum(name):
- substitutions = {
- ' ': '',
- '/': '',
- '[': '',
- ']': '',
- '(': '',
- ')': '',
- '-': '',
- ':': '',
- '.': '',
- ',': '',
- '=': '',
- '>': '',
- '#': '',
- '&': '',
- '*': '',
- '"': '',
- '+': '',
- '\'': '',
- }
-
- for i, j in substitutions.items():
- name = name.replace(i, j)
-
- return name
-
-def safe_name(name):
- name = to_alphanum(name)
- if not name[0].isalpha():
- name = '_' + name
-
- return name
-
def num_from_str(num_str):
if num_str.lower().startswith('0x'):
return int(num_str, base=16)
--- /dev/null
+#encoding=utf-8
+#
+# Copyright © 2020 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+#
+
+# A few utility functions reused across genxml scripts
+
+import re
+
+alphanum_nono = re.compile(r'[ /\[\]()\-:.,=>#&*\'"+\\]+')
+def to_alphanum(name):
+ global alphanum_nono
+ return alphanum_nono.sub('', name)
+
+def safe_name(name):
+ name = to_alphanum(name)
+ if not name[0].isalpha():
+ name = '_' + name
+ return name