Layout-sensitive language extensibility with SugarHaskell
Semantics of context-free languages