import os import re import sys
#os.chdir(‘F:\PycharmProjects\HelloWord’)
def extract(pattern1, pattern2, str0): result1 = pattern1.findall(str0) str = “” if (result1): str = result1[0] else: result1 = pattern2.findall(str0) if (result1): str = result1[0] return str
def ExtractVariablesFromFile (sourceFileStr, resultFileStr): sourceFile = open(sourceFileStr) resultFile = open(resultFileStr, “w”) pattern1 = re.compile(r’(\w+) =’) pattern2 = re.compile(r’(\w+);’) str = “” for line in sourceFile: str = extract(pattern1, pattern2, line) resultFile.write(str) resultFile.write("\n") sourceFile.close() resultFile.close() def count(f, str): total = 0 reStr=’ '+str+ ’ ’ pattern1 = re.compile(reStr) result1 = pattern1.findall(str) str = “” if (result1): str = result1[0] for line in f: result1 = pattern1.findall(line.strip()) if(result1): total += 1 # if str in line: # total += 1 return total
def VariablesFromFile(sourceFileStr, valuesFileStr, resultFileStr): sourceFile = open(sourceFileStr) valuesFile = open(valuesFileStr) resultFile = open(resultFileStr, “w”) for line in valuesFile: if(line.strip() != “”): sourceFile.seek(0, 0) line=line.strip() num = count(sourceFile,line ) resultFile.write(line+" “) resultFile.write(str(num)) resultFile.write(”\n") sourceFile.close() valuesFile.close() resultFile.close()
sourceFile = sys.argv[1] valuesFile = sys.argv[2] resultFile = sys.argv[3] VariablesFromFile(sourceFile, valuesFile, resultFile) ExtractVariablesFromFile (‘msq.c’, “msq_value.txt”)