- The shared mutexes were defined as normal instance variables in a simulator, so the locks didn't work (multiple instances of simulators active). By making them static (which is more appropriate anyway, since we are protecting static data) the synchroniation now works.
- For better performance an own class for multiple read/single write locks was added and used instead of the shared mutexes.
- Made the static wstring_covvert instance local variables in ws2s and s2ws. Otherwise we would also need a mutext to protect it.
- Some other minor changes.
This takes the example from
https://github.com/janyou/Antlr-Swift-Runtime/tree/master/Test and packages
it into an Xcode playground. This allows the user to interact with the
grammar directly inside Xcode, and serves as a live demo of the Swift support.
Update the docs to match.
- Switched most symbolic signed constants to unsigned variants. Redefined EOF in particular to become (size)-1, to avoid having to use signed token type values.
- Introduced INVALID_INDEX for all previous -1 values to indicate e.g. not found indexes etc.
- Added 2 helpers to convert between symbolic and numeric form (mostly for intervals and toString()).
- Removed many no longer needed type casts to size_t.
- Updated templates for these changes.
- Limited runtime tests to C++ tests only, to see how Travis CI copes with that.
In order to be able to build with cmake and to have a complete source package including the demo the deployment scripts were moved to the root Cpp folder and updated.
Also the releasing-antlr.md doc file has been updated.