Improved parser

master
Mark 2022-10-22 08:28:05 -07:00
parent a7078f9a77
commit d11c9a5a7e
Signed by: Mark
GPG Key ID: AD62BB059C2AAEE4
3 changed files with 6 additions and 3 deletions

View File

@ -2,7 +2,9 @@
"cSpell.words": [ "cSpell.words": [
"autochurch", "autochurch",
"freevar", "freevar",
"mdel",
"onefile", "onefile",
"Packrat",
"pyparsing", "pyparsing",
"runstatus", "runstatus",
"subvar" "subvar"

View File

@ -6,7 +6,6 @@
- $\alpha$-equivalence check - $\alpha$-equivalence check
- Prettyprint functions (combine args, rename bound variables) - Prettyprint functions (combine args, rename bound variables)
- Write a nice README - Write a nice README
- Delete macros
- Handle or avoid recursion errors - Handle or avoid recursion errors
## Todo: ## Todo:
@ -17,8 +16,7 @@
- Warn when overwriting macro - Warn when overwriting macro
- Syntax highlighting: parenthesis, bound variables, macros, etc - Syntax highlighting: parenthesis, bound variables, macros, etc
- Pin header to top of screen - Pin header to top of screen
- Parser is a bit slow. Maybe we can do better? - PyPi package
- pypi package
## Mention in Docs ## Mention in Docs
- lambda functions only work with single-letter arguments - lambda functions only work with single-letter arguments

View File

@ -1,5 +1,8 @@
import pyparsing as pp import pyparsing as pp
# Packrat gives a MAD speed boost.
pp.ParserElement.enablePackrat()
import lamb.tokens as tokens import lamb.tokens as tokens
import lamb.utils as utils import lamb.utils as utils