summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.73.0/scripts/make_katehl.py
diff options
context:
space:
mode:
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.73.0/scripts/make_katehl.py')
-rwxr-xr-xdebian/uncrustify-trinity/uncrustify-trinity-0.73.0/scripts/make_katehl.py157
1 files changed, 0 insertions, 157 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.73.0/scripts/make_katehl.py b/debian/uncrustify-trinity/uncrustify-trinity-0.73.0/scripts/make_katehl.py
deleted file mode 100755
index e241986a..00000000
--- a/debian/uncrustify-trinity/uncrustify-trinity-0.73.0/scripts/make_katehl.py
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env python
-
-import argparse
-import io
-import os
-import re
-
-re_token = re.compile(r'^CT_(\w+),')
-re_version = re.compile(r'.*UNCRUSTIFY_VERSION\s*"Uncrustify-([^"]+)"')
-re_option = re.compile(r'extern (Bounded)?Option<[^>]+>')
-re_enum_decl = re.compile(r'enum class (\w+)( *// *<(\w+)>)?')
-re_enum_value = re.compile(r'(\w+)(?= *([,=]|//|$))')
-re_aliases = re.compile(r'UNC_OPTVAL_ALIAS\(([^)]+)\)')
-
-version = '0.0'
-options = set()
-values = set()
-tokens = set()
-
-root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-script = os.path.relpath(__file__, root)
-
-
-# -----------------------------------------------------------------------------
-def read_enum(f):
- global values
-
- for line in iter(f.readline, ''):
- line = line.strip()
-
- if line.startswith('{'):
- for line in iter(f.readline, ''):
- line = line.strip()
-
- if line.startswith('};'):
- return
-
- if 'UNC_INTERNAL' in line:
- return
-
- if 'UNC_CONVERT_INTERNAL' in line:
- return
-
- mv = re_enum_value.match(line)
- if mv is not None:
- values.add(mv.group(1).lower())
-
-
-# -----------------------------------------------------------------------------
-def write_items(out, items):
- for i in sorted(items):
- out.write(u' <item>{}</item>\n'.format(i))
-
-
-# -----------------------------------------------------------------------------
-def write_options(out, args):
- write_items(out, options)
-
-
-# -----------------------------------------------------------------------------
-def write_values(out, args):
- write_items(out, values)
-
-
-# -----------------------------------------------------------------------------
-def write_tokens(out, args):
- write_items(out, tokens)
-
-
-# -----------------------------------------------------------------------------
-def main():
- parser = argparse.ArgumentParser(description='Generate uncrustify.xml')
- parser.add_argument('output', type=str,
- help='location of uncrustify.xml to write')
- parser.add_argument('template', type=str,
- help='location of uncrustify.xml.in ' +
- 'to use as template')
- parser.add_argument('version', type=str,
- help='location of uncrustify_version.h to read')
- parser.add_argument('options', type=str,
- help='location of options.h to read')
- parser.add_argument('optvals', type=str,
- help='location of option.h to read')
- parser.add_argument('tokens', type=str,
- help='location of token_enum.h to read')
- args = parser.parse_args()
-
- # Read version
- with io.open(args.version, 'rt', encoding='utf-8') as f:
- global version
- for line in iter(f.readline, ''):
- line = line.strip()
-
- mv = re_version.match(line)
- if mv:
- version = mv.group(1)
-
- # Read options
- with io.open(args.options, 'rt', encoding='utf-8') as f:
- global options
- for line in iter(f.readline, ''):
- line = line.strip()
-
- if re_option.match(line):
- n, d = f.readline().split(';')
- options.add(n)
-
- # Read option values
- with io.open(args.optvals, 'rt', encoding='utf-8') as f:
- global values
- for line in iter(f.readline, ''):
- line = line.strip()
-
- if re_enum_decl.match(line):
- read_enum(f)
- continue
-
- ma = re_aliases.match(line)
- if ma:
- for v in ma.group(1).split(',')[2:]:
- v = v.strip()[1:-1]
- values.add(v)
-
- # Read tokens
- with io.open(args.tokens, 'rt', encoding='utf-8') as f:
- global tokens
- for line in iter(f.readline, ''):
- line = line.strip()
-
- m = re_token.match(line)
- if m and not m.group(1).endswith(u'_'):
- tokens.add(m.group(1).lower())
-
- # Declare replacements
- replacements = {
- u'##OPTION_KEYWORDS##': write_options,
- u'##VALUE_KEYWORDS##': write_values,
- u'##TOKEN_TYPE_KEYWORDS##': write_tokens,
- }
-
- # Write output file
- with io.open(args.output, 'wt', encoding='utf-8') as out:
- with io.open(args.template, 'rt', encoding='utf-8') as t:
- for line in t:
- directive = line.strip()
- if directive in replacements:
- replacements[directive](out, args)
- else:
- if '##VERSION##' in line:
- line = line.replace('##VERSION##', version)
- out.write(line)
-
-# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-if __name__ == '__main__':
- main()