Comments (8)
Fixed this issue. Thanks for including the test case.
May I ask what you are using RLTK for? It helps me prioritize my work if I know how people are using it.
from rltk.
I'm trying to do a coffeescript style alternative syntax for go (although this is mostly for testing parsing frameworks)
from rltk.
How are you finding RLTK so far? Are there any features that you have found in other frameworks that you really like and RLTK doesn't have? Have you tried the parse tree printing functionality yet?
from rltk.
I was quite frustrated with all those LALR (or even worse LL(k)) parser generators and my inability to thing of grammars in terms of lookahead sets and how to build my grammar around the parsergenerator. So GLR is really refreshing.
By "parse tree printing functionality" you mean the dot file output I guess? It helped me to figure out what was going on in the other "duplicated entries" bug.
What I would really like was a way to say "this is a dead end - don't even try" in the code part of the rules. This way one could use the handleing of ambiguity to perform lexical scoping in the parser (think a "variable_read" rule that "fails" if the variable is not in the scope). On the other hand maybe that's exactly what the error productions are used for (didn't understand them yet). Also I find the error reporting to be poor compared to other frameworks (which is mostly ok since I'm mostly just prototyping currently but might be quite a bigger problem if someone wants to use it for code that is used by anyone but themselves). I have not yet used the LLVM part so no comments on that.
cheers and thx for the good work :)
from rltk.
Do you have any examples of good error reporting from other frameworks? Good error reporting is key, and if there is more I could be doing to help developers I'd like to add that functionality.
from rltk.
With regards to error reporting for the developer, I really liked parslet (http://kschiess.github.com/parslet/get-started.html there is an example there). But then, this kind of error reporting is pretty much useless for end users I guess. Regarding error reporing for end user - I really have little experience with that.
from rltk.
RLTK Parsers can print out information about the parsing process by passing the parse
method the verbose: true
option. It's not quite as nice as the Parslet output, but I'll work on it.
from rltk.
awesome :)
from rltk.
Related Issues (20)
- Move to LLVM 3.6 HOT 1
- Remove support for LLVM::JIT in anticipation of LLVM 3.6 release
- Rejecting a clause in a production HOT 2
- A more complete example for error production HOT 2
- require 'rltk/ast' pollute main Object with #match method, leaking it in a global scope HOT 7
- RLTK::LexingError carries a wrong line_offset. HOT 6
- :pointer argument is not a valid pointer
- Calling #type on RLTK::CG::Value throws an error
- JITCompiler segfaults on OSX
- Split the LLVM bindings into their own project: RCGTK
- RLTK::Parser.finalize use: fails to load cache on Windows
- left/right associativity maintains separate precedence stacks
- LLVM HOT 2
- undefined method `subclass_of?' HOT 1
- Requires Ruby >= 2.4.0 due to Filigree HOT 1
- rltk (3.0.1) does not work with filigree (0.4.1) due to check_type signature
- Cannot Generate YARD documentation
- Make a release? HOT 2
- "String not in language" error HOT 2
- undefined method 'subclass_of?', no such file or directory HOT 2
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 rltk.