Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # tokens
- OR := "||"
- AND := "&&"
- POPEN := "("
- PCLOSE := ")"
- EQUAL := "="
- LESS := "<"
- LESS_OR_EQUAL := "<="
- GREATER := ">"
- GREATER_OR_EQUAL := ">="
- INEQUALITY_SIGN = EQUAL
- | LESS
- | LESS_OR_EQUAL
- | GREATER
- | GREATER_OR_EQUAL
- TRACK_FUNCTION := "anyTrackOf"
- | "allTrackOf"
- | "countTrackOf"
- ALBUM_FUNCTION := "anyAlbumOf"
- | "allAlbumOf"
- | "countAlbumOf"
- NUMBER := [0-9]+
- ALBUM_ID := "mb" [0-9a-f]{16}
- TRACK_ID := "mt" [0-9a-f]{16}
- ARTIST_ID := "mi" [0-9a-f]{16}
- # syntax
- statement :=
- TRACK_FUNCTION POPEN (ALBUM_ID | ARTIST_ID) PCLOSE INEQUALITY_SIGN NUMBER
- | ALBUM_FUNCTION POPEN (ARTIST_ID) PCLOSE INEQUALITY_SIGN NUMBER
- | ALBUM_ID
- | TRACK_ID
- | POPEN statement PCLOSE
- | statement ((AND | OR) statement)*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement