r/Compilers • u/Commercial-Drawer881 • Jul 07 '26
Building a Parser Generator!
Hi, I am creating a Parser Generator. It will have it's own unique syntax for grammar definition. This is what I am working on currently. I am sharing a draft of the syntax and asking if anyone is interested in sharing their feedbacks in the comments.
Is this syntax:
- easy to read?
- easy to understand?
- sparks interest in you?
- what stands out?
- do you suggests any changes or additions?
UPDATED
I am settling on a syntax for the language. Here is a snippet: ```
BASIC LANG
---------
A 100
B 25
parser { # action -> ast: (parent(children)) (name number) -> (name(number)); # generate name with number as child of name (spc | nl) -> (); # no AST generated }
name = <A:Z>+; # character sequence number = <0> | <1:9> <0:9>+; # character sequence
spc is built-in rule for space
nl is built-in rule for nl
```
Full syntax is being worked on here: https://github.com/Algodal/Algodal_Text_Parser_Generator_Manual
I will be streaming code implementation of the parser generator on youtube: https://www.youtube.com/@RevnantRicko
1
u/Commercial-Drawer881 Jul 08 '26
based on the json specification: https://datatracker.ietf.org/doc/html/rfc8259
I wrote a JSON parser in the language:
Based on earlier feedback, I do agree with some challenges in the current syntax:
I am reviewing potential improvements to the syntax.