blob: a134a00093aba0a231a9f1058cf742de19538efa (
plain)
import re
import sys
from collections import Counter
seq_len = 5
# Check if a file path was provided
if len(sys.argv) < 2:
print("Usage: python script.py path/to/yourfile.wat")
sys.exit(1)
# The first command line argument is the file path
file_path = sys.argv[1]
# Regex to match WASM operators, adjust as necessary
operator_pattern = re.compile(r"\b[a-z0-9_]+\.[a-z0-9_]+\b")
# Read the file
with open(file_path, "r") as file:
content = file.read()
# Find all operators
operators = operator_pattern.findall(content)
# Generate sequences of three consecutive operators
sequences = [" ".join(operators[i : i + seq_len]) for i in range(len(operators) - 2)]
# Count occurrences of each sequence
sequence_counts = Counter(sequences)
# Sort sequences by their count, this time in ascending order for reverse display
sorted_sequences = sorted(sequence_counts.items(), key=lambda x: x[1])
# Print the sequences, now from least common to most common
for sequence, count in sorted_sequences:
print(f"{sequence}: {count}")
|