18 lines
492 B
Racket
18 lines
492 B
Racket
|
#lang brag
|
||
|
u-program: [/NEWLINE+] (u-expr [/NEWLINE+])*
|
||
|
u-expr:
|
||
|
u-series ; string series
|
||
|
| u-atom
|
||
|
| u-converting-num
|
||
|
| u-sexp
|
||
|
u-sexp:
|
||
|
L_PAREN u-expr (SEPERATOR u-expr)* R_PAREN
|
||
|
| L_PAREN u-expr (G_SEPERATOR [(/" "|/NEWLINE)+] u-expr [(/" "|/NEWLINE)+])* R_PAREN
|
||
|
u-series: (u-atom | u-sexp)+
|
||
|
u-converting-num: NUM_CONVERTER (u-id | u-number)
|
||
|
u-atom: u-id | u-string | u-number | NEWLINE+
|
||
|
u-number: INTEGER | DECIMAL
|
||
|
u-id: ID
|
||
|
u-string: u-char+
|
||
|
u-char: CHAR
|