10tokenfile_name = sys.argv[1]
12gperf_name = sys.argv[3]
14gperf_header =
r"""%language=C++
20 const char *name; sal_Int32 nToken;
27with open(tokenfile_name) as tokenfile:
28 for line
in tokenfile:
34 t = t.replace(
'-',
'_').replace(
'.',
'_').replace(
':',
'_')
35 t = t.replace(
'+',
'PLUS')
37 tokens[arr[0]] = arr[1].upper()
39hxx = open(hxx_name,
'w')
40gperf = open(gperf_name,
'w', newline=
'\n')
42gperf.write(gperf_header)
44hxx.write(
"#ifndef INCLUDED_AUTOGEN_TOKEN_HXX\n")
45hxx.write(
"#define INCLUDED_AUTOGEN_TOKEN_HXX\n\n")
46hxx.write(
"#include <sal/types.h>\n\n" )
49for token
in sorted(tokens.keys()):
51 hxx.write(
"const sal_Int32 {} = {};\n".format(tokens[token], i))
52 gperf.write(
"{},{}\n".format(token, tokens[token]))
55hxx.write(
"const sal_Int32 XML_TOKEN_COUNT = {};\n".format(i))
56hxx.write(
"const sal_Int32 XML_TOKEN_INVALID = -1;\n\n")