lectes
is a simple Python scanner generator. It can be used to easily define scanners with Python code.
Documentation: https://maxcode123.github.io/lectes/
Example
from lectes import Rule, Configuration, Regex, Scanner config = Configuration( [ Rule(name="FOR", regex=Regex("for")), Rule(name="INT", regex=Regex("[0-9]+")), Rule(name="ID", regex=Regex("[a-zA-Z][a-zA-Z0-9]*")), Rule(name="WHITESPACE", regex=Regex("( )")), ] ) scanner = Scanner(config) program = "somevar in othervar for 9 let" for token in scanner.scan(program): print(token)
pip install lectes