Comments (3)
This looks like it was fixed in #23 -- could you have a look at that thread and see if this is the same issue?
By the way, I'd appreciate you not calling things "crazy" when you find a bug in them :)
from canopy.
I'm closing this as fixed, per my above comment. While there are a lot of unchecked substring()
calls in the generated code, the one that's really critical is the one generated by the chunk_()
function, which allows a match to occur. All other substring()
calls are used in TreeNode
construction, which should only happen if the parser has succeeded up to the required string offset. It can only do this if leaf matchers like "hello"
, [world]
or .
have consumed input without overflowing the offset.
from canopy.
This should now be fixed as part of the v0.4 release; see https://blog.jcoglan.com/2022/04/01/announcing-canopy-0-4/
from canopy.
Related Issues (20)
- installation via npm is broken HOT 4
- TypeError: Invalid options argument HOT 3
- Installation via npm does not work HOT 1
- Can we have predicates? HOT 1
- `make test` does not work so as the installation instruction HOT 3
- Parsing spaces in a string with Choices HOT 1
- Make the package web-friendly HOT 7
- Allow Java actions to throw ParserError? HOT 1
- Incorrect call to java.lang.String#substring() HOT 2
- Don't throw a bounds exception when reporting Java errors at EOF. HOT 1
- Add -h and --help flags to the command line tool
- Pass cross-references / named nodes to actions HOT 1
- Question about Improving a grammar HOT 2
- Develop/debug grammar online HOT 2
- Discarding white-space (or any other matched rule) by not a creating node. HOT 3
- When running canopy I get TypeError: mkdirp is not a function HOT 6
- TypeError: mkdirp is not a function HOT 1
- Question about character classes HOT 8
- Missing output for optional nodes HOT 1
- Ordered choices failed to switch to the next choice HOT 1
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 canopy.