https://github.com/barrettotte/recursive-descent-gui-parser
GUI generator for college course
https://github.com/barrettotte/recursive-descent-gui-parser
gui java parse recursive-descent
Last synced: about 1 year ago
JSON representation
GUI generator for college course
- Host: GitHub
- URL: https://github.com/barrettotte/recursive-descent-gui-parser
- Owner: barrettotte
- Created: 2017-06-18T16:29:14.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-09-23T02:27:58.000Z (over 7 years ago)
- Last Synced: 2025-06-12T01:04:48.564Z (about 1 year ago)
- Topics: gui, java, parse, recursive-descent
- Language: Java
- Homepage:
- Size: 41 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Recursive-Descent-GUI-Parser
Generate GUI using a defined GUI grammar language and parses using recursive descent
Created for my class CMSC 330 - Advanced Programming Languages

GUI Grammar Language:
```
gui ::=
Window STRING '(' NUMBER ',' NUMBER ')' layout widgets End '.'
layout ::=
Layout layout_type ':'
layout_type ::=
Flow |
Grid '(' NUMBER ',' NUMBER [',' NUMBER ',' NUMBER] ')'
widgets ::=
widget widgets |
widget
widget ::=
Button STRING ';' |
Group radio_buttons End ';' |
Label STRING ';' |
Panel layout widgets End ';' |
Textfield NUMBER ';'
radio_buttons ::=
radio_button radio_buttons |
radio_button
radio_button ::=
Radio STRING ';'
```
Input File:
```
Window "Calculator" (200, 200) Layout Flow:
Textfield 20;
Panel Layout Grid(4, 3, 5, 5):
Button "7";
Button "8";
Button "9";
Button "4";
Button "5";
Button "6";
Button "1";
Button "2";
Button "3";
Label "";
Button "0";
End;
End.
```