mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	Move `mk_pat_db_internal() from mk_util.py` to
				
					
				
			``mk_genfile_common.py`` and adapt ``mk_util.py`` and ``mk_pat_db.py`` to use the code at its new location. Whilst I'm here reindent ``mk_mem_initializer_cpp.py``. The purpose of this change is to have Python code common to the Python and CMake build systems separate from Python code that is only used for the Python build system.
This commit is contained in:
		
							parent
							
								
									114e165fad
								
							
						
					
					
						commit
						8840e5a00f
					
				
					 3 changed files with 30 additions and 28 deletions
				
			
		| 
						 | 
				
			
			@ -376,3 +376,18 @@ def mk_mem_initializer_cpp_internal(component_src_dirs, path):
 | 
			
		|||
    fout.write('}\n')
 | 
			
		||||
    fout.close()
 | 
			
		||||
    return fullname
 | 
			
		||||
 | 
			
		||||
###############################################################################
 | 
			
		||||
# Functions for generating ``database.h``
 | 
			
		||||
###############################################################################
 | 
			
		||||
 | 
			
		||||
def mk_pat_db_internal(inputFilePath, outputFilePath):
 | 
			
		||||
    """
 | 
			
		||||
        Generate ``g_pattern_database[]`` declaration header file.
 | 
			
		||||
    """
 | 
			
		||||
    with open(inputFilePath, 'r') as fin:
 | 
			
		||||
        with open(outputFilePath, 'w') as fout:
 | 
			
		||||
            fout.write('static char const g_pattern_database[] =\n')
 | 
			
		||||
            for line in fin:
 | 
			
		||||
                fout.write('"%s\\n"\n' % line.strip('\n'))
 | 
			
		||||
            fout.write(';\n')
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,32 +3,27 @@
 | 
			
		|||
Reads a pattern database and generates the corresponding
 | 
			
		||||
header file.
 | 
			
		||||
"""
 | 
			
		||||
import mk_util
 | 
			
		||||
import mk_genfile_common
 | 
			
		||||
import argparse
 | 
			
		||||
import logging
 | 
			
		||||
import os
 | 
			
		||||
import sys
 | 
			
		||||
 | 
			
		||||
def main(args):
 | 
			
		||||
  logging.basicConfig(level=logging.INFO)
 | 
			
		||||
  parser = argparse.ArgumentParser(description=__doc__)
 | 
			
		||||
  parser.add_argument("db_file", help="pattern database file")
 | 
			
		||||
  parser.add_argument("output_file", help="output header file path")
 | 
			
		||||
  pargs = parser.parse_args(args)
 | 
			
		||||
    logging.basicConfig(level=logging.INFO)
 | 
			
		||||
    parser = argparse.ArgumentParser(description=__doc__)
 | 
			
		||||
    parser.add_argument("db_file", help="pattern database file")
 | 
			
		||||
    parser.add_argument("output_file", help="output header file path")
 | 
			
		||||
    pargs = parser.parse_args(args)
 | 
			
		||||
 | 
			
		||||
  if not os.path.exists(pargs.db_file):
 | 
			
		||||
    logging.error('"{}" does not exist'.format(pargs.db_file))
 | 
			
		||||
    return 1
 | 
			
		||||
    if not os.path.exists(pargs.db_file):
 | 
			
		||||
        logging.error('"{}" does not exist'.format(pargs.db_file))
 | 
			
		||||
        return 1
 | 
			
		||||
 | 
			
		||||
  if (os.path.exists(pargs.output_file) and
 | 
			
		||||
     not os.path.isfile(pargs.output_file)):
 | 
			
		||||
       logging.error('Refusing to overwrite "{}"'.format(
 | 
			
		||||
         pargs.output_file))
 | 
			
		||||
       return 1
 | 
			
		||||
 | 
			
		||||
  mk_util.mk_pat_db_internal(pargs.db_file, pargs.output_file)
 | 
			
		||||
  return 0
 | 
			
		||||
    mk_genfile_common.mk_pat_db_internal(pargs.db_file, pargs.output_file)
 | 
			
		||||
    logging.info('Generated "{}"'.format(pargs.output_file))
 | 
			
		||||
    return 0
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
  sys.exit(main(sys.argv[1:]))
 | 
			
		||||
    sys.exit(main(sys.argv[1:]))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2621,17 +2621,9 @@ def mk_pat_db():
 | 
			
		|||
    c = get_component(PATTERN_COMPONENT)
 | 
			
		||||
    fin  = os.path.join(c.src_dir, 'database.smt2')
 | 
			
		||||
    fout = os.path.join(c.src_dir, 'database.h')
 | 
			
		||||
    mk_pat_db_internal(fin, fout)
 | 
			
		||||
 | 
			
		||||
def mk_pat_db_internal(inputFilePath, outputFilePath):
 | 
			
		||||
    with open(inputFilePath, 'r') as fin:
 | 
			
		||||
        with open(outputFilePath, 'w') as fout:
 | 
			
		||||
            fout.write('static char const g_pattern_database[] =\n')
 | 
			
		||||
            for line in fin:
 | 
			
		||||
                fout.write('"%s\\n"\n' % line.strip('\n'))
 | 
			
		||||
            fout.write(';\n')
 | 
			
		||||
    mk_genfile_common.mk_pat_db_internal(fin, fout)
 | 
			
		||||
    if VERBOSE:
 | 
			
		||||
        print("Generated '%s'" % outputFilePath)
 | 
			
		||||
        print("Generated '{}'".format(fout))
 | 
			
		||||
 | 
			
		||||
# Update version numbers
 | 
			
		||||
def update_version():
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue