2022-04-28 16:35:02 +00:00
|
|
|
package grammar
|
|
|
|
|
|
|
|
type Call struct {
|
|
|
|
Module string `parser:"(@Module'.')?"`
|
|
|
|
Name string `parser:"@Ident"`
|
|
|
|
Params []Param `parser:"'(' @@? ( ',' @@ )*')'"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type Filters struct {
|
|
|
|
Chain []Call `parser:"@@ ('->' @@)*"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type Check struct {
|
|
|
|
Initiator *Call `parser:"@@"`
|
|
|
|
Validators *Filters `parser:"( '=>' @@)?"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type Script struct {
|
2022-05-08 09:00:22 +00:00
|
|
|
Checks []Check `parser:"(@@';'?)*"`
|
2022-04-28 16:35:02 +00:00
|
|
|
}
|