Skip to content

Instantly share code, notes, and snippets.

View Casperento's full-sized avatar
🤓
Researching....

Rafael Eckstein Casperento

🤓
Researching....
View GitHub Profile
@Casperento
Casperento / minigsa-interpreter.py
Created October 2, 2025 16:08
MiniGSA Interpreter Implementation
import operator
from collections import defaultdict
from dataclasses import dataclass, field
from typing import Dict, List, Any, Union, Set
# --- Type Aliases for clarity ---
Value = Union[int, bool, None]
Store = Dict[str, Value]
Program = Dict[str, List['Instruction']]
@Casperento
Casperento / run_benchmark_opt.sh
Created December 16, 2022 15:29
Script to run LLVM's opt tool for benchmarking a chosen set of transforms
#!/bin/bash
#
# Script to run LLVM's opt tool for
# benchmarking Execution Time and Code Size
# from a chosen set of transforms
#
#
# Usage:
# ./run_benchmark.sh SRC_FILE
# where:
@Casperento
Casperento / liveInliveOut.py
Last active September 23, 2022 01:10
This script implements Computation of liveness by iteration (for Liveness Analysis in compiler design)
import copy
B = 9 # number of basic blocks
use = { # variables being used on each basic block
1:set(),
2:set(),
3:{'v'},
4:{'r','n'},
@Casperento
Casperento / interpreter.py
Created September 21, 2022 13:33
Python open-close pair verifier using interpreter pattern
import abc
from tokenize import tokenize
class AbstractExpression(metaclass=abc.ABCMeta):
@abc.abstractmethod
def interpret(self):
pass
@Casperento
Casperento / object_pool.py
Created September 20, 2022 22:18
Thread pool using Resource Pool pattern
from threading import Thread
# Item 3 da Check list do Object Pool
class Singleton(type):
def __init__(cls, name, bases, attrs, **kwargs):
super().__init__(name, bases, attrs)
cls._instance = None
def __call__(cls, *args, **kwargs):