You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11 lines
295 B
Racket
11 lines
295 B
Racket
#lang brag
|
|
|
|
top : (func-def | expr)*
|
|
func-def : /"fun" var /"(" vars /")" /"=" expr
|
|
/vars : [var [/"," var]*]
|
|
@expr : sum
|
|
sum : [sum ("+" | "-")] product
|
|
product : [product ("*" | "/")] value
|
|
@value : var | INT | func-app | /"(" expr /")"
|
|
func-app : var /"(" [value [/"," value]*] /")"
|
|
@var : ID |