Import('use')

def peg_to_cpp(target, source, env):
    import sys
    sys.path.append("src/mugen/parser")
    sys.path.append(".")
    import peg
    parser = peg.make_peg_parser()
    fout = open(target[0].path, 'w')
    fout.write(parser(source[0].path).generate_cpp())
    fout.write('\n')
    fout.close()

peg_builder = Builder(action = Action(peg_to_cpp, 'Creating peg parser $TARGET'), suffix = '.cpp', src_suffix = '.peg')
use.Append(BUILDERS = {'Peg' : peg_builder})

all = []
all.append(use.Peg('def.peg'))
all.append(use.Peg('air.peg'))
all.append(use.Peg('cns.peg'))
all.append(use.Peg('cmd.peg'))

for x in all:
    use.Depends(x, 'peg.py')
