diff options
| author | nyamatongwe <unknown> | 2000-08-30 12:02:19 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2000-08-30 12:02:19 +0000 | 
| commit | de8d5845af07bcc81ccf2364957de04fb1600ea5 (patch) | |
| tree | 6b0be82864e93a159ed3405ae94a2cef6dd6d447 /include/HFacer.py | |
| parent | 3030afd9d3037c2fd7845b15cd9b9667b1afe894 (diff) | |
| download | scintilla-mirror-de8d5845af07bcc81ccf2364957de04fb1600ea5.tar.gz | |
Added comments and improved the HFacer.py code.
Diffstat (limited to 'include/HFacer.py')
| -rw-r--r-- | include/HFacer.py | 56 | 
1 files changed, 26 insertions, 30 deletions
| diff --git a/include/HFacer.py b/include/HFacer.py index c4100fdf9..eb5c6973b 100644 --- a/include/HFacer.py +++ b/include/HFacer.py @@ -1,24 +1,24 @@ +# HFacer.py - regenerate the Scintilla.h and SciLexer.h files from the Scintilla.iface interface  +# definition file. +# The header files are copied to a temporary file apart from the section between a //++Autogenerated +# comment and a //--Autogenerated comment which is generated by the printHFile and printLexHFile +# functions. After the temporary file is created, it is copied back to the original file name. +  import string  import sys  import os  import Face -def DEFINEName(ifaceName):	 -        featureDefineName = string.upper(ifaceName) -        if "_" not in featureDefineName: -		featureDefineName = "SCI_" + featureDefineName -        return featureDefineName -	  def Contains(s,sub):  	return string.find(s, sub) != -1 -	 +  def printLexHFile(f,out):  	for name in f.order:  		v = f.features[name]  		if v["FeatureType"] in ["val"]:  			if Contains(name, "SCE_") or Contains(name, "SCLEX_"):  				out.write("#define " + name + " " + v["Value"] + "\n") -			 +  def printHFile(f,out):  	for name in f.order:  		v = f.features[name] @@ -32,34 +32,30 @@ def printHFile(f,out):  			elif v["FeatureType"] in ["val"]:  				if not (Contains(name, "SCE_") or Contains(name, "SCLEX_")):  					out.write("#define " + name + " " + v["Value"] + "\n") -			 -def CopyWithInsertion(input, output, gen, definition): + +def CopyWithInsertion(input, output, genfn, definition):  	copying = 1  	for line in input.readlines():  		if copying: -			out.write(line) +			output.write(line)  		if Contains(line, "//++Autogenerated"):  			copying = 0 -			gen(definition, out) +			genfn(definition, output)  		if Contains(line, "//--Autogenerated"):  			copying = 1 -			out.write(line) -			 -f = Face.Face() -f.ReadFromFile("Scintilla.iface") +			output.write(line) -out = open("Sci.h","w") -hfile = open("Scintilla.h") -CopyWithInsertion(hfile, out, printHFile, f) -out.close() -hfile.close() -os.unlink("Scintilla.h") -os.rename("Sci.h", "Scintilla.h") +def Regenerate(filename, genfn, definition): +	tempname = "HFacer.tmp" +	out = open(tempname,"w") +	hfile = open(filename) +	CopyWithInsertion(hfile, out, genfn, definition) +	out.close() +	hfile.close() +	os.unlink(filename) +	os.rename(tempname, filename) -out = open("SciL.h","w") -lexhfile = open("SciLexer.h") -CopyWithInsertion(lexhfile, out, printLexHFile, f) -out.close() -lexhfile.close() -os.unlink("SciLexer.h") -os.rename("SciL.h", "SciLexer.h") +f = Face.Face() +f.ReadFromFile("Scintilla.iface") +Regenerate("Scintilla.h", printHFile, f) +Regenerate("SciLexer.h", printLexHFile, f) | 
