Download A Specification Language for Program Auralization
Transcript
4. An id is a sequence of letters or digits with the first character being a letter. The underscore ( ) can be used in an identifier. Upper and lower case letters are treated as being different in an id. )∗ letter ( letter | digit | id → ( letter → [a-zA-Z] digit → [ 0-9 ] )∗ 5. A keyword may not be used as an id. Upper and lower case are treated differently. 6. A constant can be an integer or a string. An integer is a sequence of digits. A string is a sequence of characters enclosed within double quotes. As a constant can be interpreted in a variety of ways in LSL, we provide below a complete grammar for constants. 1. constant → integer | string |time-sig 4. integer → digit+ 5. string → “char-sequence” 6. char-sequence → note-sequence | key-sig | file-name | function-name 10. note-sequence → (note | .id)+ | (note-sequence: attribute-sequence) | (note-sequence) 14. note → note-generic note-modifier 15. note-generic 31. note-modifier → → c|d|e|f|g|a|b|r|C|D|E|F|G|A|B|R flat-sharp∗ octave 32. flat-sharp → b|# 34. octave → [ 0-8 ] 35. attribute-sequence → 36. attribute → 37. duration → attribute+ duration tagged-value-list∗ simple-duration | ( duration-expression ) 39. simple-duration → f|h|q|e|s | ptime = integer 51