Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. # tokens
  2. OR := "||"
  3. AND := "&&"
  4. POPEN := "("
  5. PCLOSE := ")"
  6.  
  7. EQUAL := "="
  8. LESS := "<"
  9. LESS_OR_EQUAL := "<="
  10. GREATER := ">"
  11. GREATER_OR_EQUAL := ">="
  12.  
  13. INEQUALITY_SIGN = EQUAL
  14. | LESS
  15. | LESS_OR_EQUAL
  16. | GREATER
  17. | GREATER_OR_EQUAL
  18.  
  19. TRACK_FUNCTION := "anyTrackOf"
  20. | "allTrackOf"
  21. | "countTrackOf"
  22. ALBUM_FUNCTION := "anyAlbumOf"
  23. | "allAlbumOf"
  24. | "countAlbumOf"
  25. NUMBER := [0-9]+
  26. ALBUM_ID := "mb" [0-9a-f]{16}
  27. TRACK_ID := "mt" [0-9a-f]{16}
  28. ARTIST_ID := "mi" [0-9a-f]{16}
  29.  
  30. # syntax
  31. statement :=
  32. TRACK_FUNCTION POPEN (ALBUM_ID | ARTIST_ID) PCLOSE INEQUALITY_SIGN NUMBER
  33. | ALBUM_FUNCTION POPEN (ARTIST_ID) PCLOSE INEQUALITY_SIGN NUMBER
  34. | ALBUM_ID
  35. | TRACK_ID
  36. | POPEN statement PCLOSE
  37. | statement ((AND | OR) statement)*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement