INNER CODE UNIT · Python

replace_increments

veg/hyphy · Testing/replace_increment.py:4

def replace_increments(filepath):
    with open(filepath, 'r') as f:
        content = f.read()
    
    # ONLY + is allowed! mi = mi + 1 -> mi += 1
    pattern = r'\b([a-zA-Z_][a-zA-Z0-9_]*(?:\[[^\]]+\])*)\s*=\s*\1\s*\+\s*([^;]+?)\s*;'
    
    def replacer(match):
        var = match.group(1)
        val = match.group(2)
        return f"{var} += {val};"
    
    new_content = re.sub(pattern, replacer, content)
    
    pattern_for = r'\b([a-zA-Z_][a-zA-Z0-9_]*(?:\[[^\]]+\])*)\s*=\s*\1\s*\+\s*([^;)]+?)\s*(\)|;)'
    def replacer_for(match):
        var = match.group(1)
        val = match.group(2)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…