jerankda 5 hours ago

Hey everyone,

I'm a student trying to get deeper into compiler design and language tooling in Rust. As a learning project, I built a complete linter for LOLCODE, because when you need something simple enough to implement from scratch without getting lost in complexity, you naturally pick the most reasonable language available /s

The project includes: • Handwritten lexer (character-by-character, no regex) • Recursive descent parser that builds an AST • Single-pass semantic analyzer • Variable tracking across scopes • Position tracking for precise error messages

I avoided parser generators on purpose because I wanted to understand the full pipeline end to end.

What I'd appreciate feedback on: • Does the parser and AST structure make sense? • Are there obvious Rust mistakes or things that could be written more idiomatically? • Any architectural improvements you'd make? • General feedback on the approach

GitHub

It's also on crates.io and the AUR if you want to try it.

Feel free to contribute :) (for whatever reason)

TL;DR:

Built a LOLCODE linter in Rust . Looking for feedback on the parser/AST design.

KTHXBYE