Comments (1)
Yes, these issues are caused by the lexer/parser division of the parsing paradigm that Antlr is using. Our source grammar doesn't (yet) have a notion of lexing, so the conversion to the Antlr side of things has so far been quite crude, and with it has come a number of issues. We have cards on our wall that tells us to clean all of this up:
The current ANTLR grammar suffers from having to go to great length to wrestle a lexer out of the source grammar that does not understand that concept. It is quite foreseeable that other consumers of the grammar will hit the same issue. We should restructure the source grammar to be based on a core set of non-overlapping productions that can be translated directly to lexing rules.
A consequence of this is that the code that generates the Antlr4 grammar contains a sizeable piece of custom code to make the lexing work, which is a technical dept.
The problem right now is that we're short on resources. Hopefully we will be able to come back to these issues soon enough.
from opencypher.
Related Issues (20)
- Issue in UNWIND option for duplicate records HOT 2
- Performance is very poor for the create/update relationships HOT 1
- Any plan to release Cypher 10? HOT 3
- Beta version missing dependency ?
- Problem parsing oC_MultiPartQuery with ANTLR4 HOT 3
- OpenCypher Antlr - strange parse tree (c#) HOT 3
- Improve the use of lists stored as property HOT 3
- missing children from `OC_ComparisonExpressionContext` in cpp-runtime of ANTLR HOT 2
- Incomplete EBNF Grammar HOT 9
- NULL token name is a reserved word in C++ HOT 2
- MANDATORY MATCH HOT 3
- Invalid syntax HOT 3
- Commit the .ebnf output into the repo HOT 1
- User defined function in custom namespace parsed as property lookup if function name is a keyword HOT 3
- Validating ``WHERE (value in property)``
- TCK only published with features
- RedisGraph: EOL
- Question on Semantics of WITH clause HOT 1
- Grammar HOT 2
- Short-circuit evaluation in openCypher 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 opencypher.