def METHOD_NAME():
    parser = argparse.ArgumentParser(description='Generate punctuator_table.h')
    parser.add_argument('output', type=str,
                        help='location of punctuator_table.h to write')
    parser.add_argument('header', type=str,
                        help='location of symbols_table.h to read')
    args = parser.parse_args()
    root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    pl = scan_file(args.header)
    pl.sort()
    db = {}
    for a in pl:
        add_to_db(a, db)
    arr = []
    build_table(db, '', arr)
    max_len = len('nullptr')
    for i in arr:
        rec = i[4]
        if rec is not None and (len(rec[1]) + 1) > max_len:
            max_len = len(rec[1]) + 1
    in_name = os.path.basename(args.header)
    out_name = os.path.basename(args.output)
    guard = out_name.replace('.', '_').upper()
    with open(args.output, 'wt') as out:
        out.write(
            '/**\n'
            ' * @file {out_name}\n'
            ' * Automatically generated by <code>{script}</code>\n'
            ' * from {in_name}.\n'
            ' */\n'
            '\n'
            '#ifndef SRC_{guard}_\n'
            '#define SRC_{guard}_\n'
            '\n'
            '// *INDENT-OFF*\n'
            'static const lookup_entry_t punc_table[] =\n'
            '{{\n'.format(
                in_name=in_name, out_name=out_name, guard=guard,
                script=os.path.relpath(__file__, root)))
        idx = 0
        for i in arr:
            rec = i[4]
            if len(i[0]) == 0:
                write_entry(out, max_len, '0', '0', '0', 'nullptr', idx, '')
            elif rec is None:
                write_entry(out, max_len, escape(i[0]), i[2], i[3],
                            'nullptr', idx, quote(i[1]))
            else:
                write_entry(out, max_len, escape(i[0]), i[2], i[3],
                            '&' + rec[1], idx, quote(i[1]))
            idx += 1
        out.write(
            '}};\n'
            '// *INDENT-ON*\n'
            '\n'
            '#endif /* SRC_{guard}_ */\n'.format(guard=guard))