Comments (2)
Hi Erik,
The BNF rule for "string" has to explicitly express that it starts and ends with the same character - either single or double quote.
Something along this line:
modified resources/grammar.bnf
@@ -20,7 +20,7 @@ meta = [<empty>] <'@'> #'(Audio|Instrument|Time|Tempo|Key|Delay|Link|Title
keyword = [<empty>] #'(`|~|Note|Scale|Chord|Mode|Triad)' [<empty>]
play = [<empty>] <'!Play'> [<empty>] elem
meter = [<empty>] number <'|'> number [<empty>]
-string = #'[\'|\"](.*?)[\"|\']'
+string = #'(?:\'([^\']*?)\'|\"([^\"]*?)\")'
word = #'[a-zA-Z]+'
number = #'[0-9]+'
color = #'#[a-fA-F0-9xX]{6}'
Cheers
from bach.
@slava92 Oh awesome, thanks for the tip/fix!
Also sorry for the extreme delay, I'm terrible with Github notifications sometimes 🤕
from bach.
Related Issues (16)
- [Bug] Time signature values are being reduced HOT 1
- Rename project to `bach`
- Rename `headers` to `head` in Bach.JSON output
- Support repeated Lists and Sets HOT 1
- Improve error reporting
- Allow variables to be exported (and deprecate !Play)
- Support Clef header
- Chords are being ignored during compilation
- Duration calculation is off when the lowest beat is less than 1 measure
- Consider allowing headers to be overridden at any point in time
- Port to ClojureScript
- Change beat units to be based on whole note instead of whole measure
- Ensure that beat notes are always provided as a collection
- Optimize bach-cljs bundle and performance
- Research pragmatic bach.json to bach conversions in CLJS
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bach.