summaryrefslogtreecommitdiff
path: root/gst/parse/gen_lex.py.in
blob: e8c6844c5eaafd78756976e65c221aeb3455d19f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env python3

import subprocess, sys, shlex

cfile = sys.argv[1]
hfile = sys.argv[2]
lfile = sys.argv[3]
tabhfile = sys.argv[4]

args = ['--header-file=' + hfile, '-o', cfile, '-Ppriv_gst_parse_yy', lfile]
flex = [r'@FLEX@'] + shlex.split(r'@FLEX_ARGS@')
subprocess.check_call(flex + args)

prefix = '''#ifdef HAVE_CONFIG_H
#include<config.h>
#endif
'''
parse_snippet = '''void priv_gst_parse_yyset_column (int column_no , void * yyscanner);
void priv_gst_parse_yyset_column (int column_no , void * yyscanner)
'''

contents = open(cfile).read()
if not 'priv_gst_parse_yyget_column' in contents:
    contents = parse_snippet + contents
contents = prefix + contents

open(cfile, 'w').write(contents)