Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New portable grammar & Change of project focus #4

golightlyb opened this Issue Aug 1, 2017 · 1 comment


None yet
1 participant
Copy link

golightlyb commented Aug 1, 2017

Hi, I have a bit of news and a bit of a change of focus. Comments are welcome! :)

New machine readable grammar for Bach

The new file grammar.txt contains a machine-readable (with language grammar to make porting the parser between languages easier and simplify the process of writing and maintaining parser implementations. I hope to soon release a rewritten Python parser followed by a C-based parser, and maintain both.

Bach Language Mission Statement

Bach is a lisp-like language created by Tawesoft for general-purpose semantic document markup. It can be parsed directly, or translated to XML or Python literals.

Bach as a language is a win for our purposes: writing hand-authored semantic documents for offline processing.

XML has many decades of knowledge and tooling behind it. It was originally envisaged that Bach would provide feature-parity with XML features such as XLST, XQuery, DTD and XML Schemas. However, it is likely that "reinventing" these features for Bach would require a lot of effort for what would be only minor aesthetic improvements, missing out on exciting new developments such as RELAX NG.

Therefore we resolve to make Bach the best language it can be for hand-authoring documents with a map both to and from XML for integration with existing XML tooling. There will be less of a focus on the results and process of document transformation itself, but we are keen to maintain "first-class" Python tooling for Bach.


This comment has been minimized.

Copy link
Member Author

golightlyb commented Aug 9, 2017

Happy to have now released the new parser. It's about twice the speed of the previous one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.