[ https://issues.apache.org/jira/browse/IGNITE-6276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16244102#comment-16244102 ]
Sergey Kalashnikov edited comment on IGNITE-6276 at 11/8/17 3:15 PM: --------------------------------------------------------------------- We have identified several shortcomings with the generated parser approach. - Error messages generated by parser are not customizable enough to the point when user may easily understand them. I doubt a user will understand messages like 'no viable alternative'. - The ANTLR lexer cannot be controlled by parser making many useful things impossible. - The performance assesment results aren't really great in terms of scalability. I have attached a patch for history purposes. was (Author: skalashnikov): We have identified several shortcomings with the generated parser approach. - Error messages generated by parser are not customizable enough to the point when user may easily understand them. I doubt a user will understand messages like 'no viable alternative'. - The ANTLR lexer cannot be controlled by parser making many useful things impossible. - The performance assesment results aren't really great in terms of scalability. > SQL: Investigate parser generators > ---------------------------------- > > Key: IGNITE-6276 > URL: https://issues.apache.org/jira/browse/IGNITE-6276 > Project: Ignite > Issue Type: Improvement > Components: sql > Reporter: Sergey Kalashnikov > Assignee: Sergey Kalashnikov > Fix For: 2.4 > > Attachments: IGNITE-6276.patch, antlr4-ignite.zip > > > Now ignite relies on H2 for SQL processing. It has been discussed many times > on dev list that we must start introducing our own SQL core in small > incremental steps. > Let's start with analyzing the options for implementing the parser part. > We may begin with http://www.antlr.org/ and create a simple separate project > that would generate the parser for some simple DDL commands like DROP INDEX. > This will give us a hint on the complexity and limitations of the approach. > 1) Set up Maven/ANTLR. > 2) Prepare lexer/parser. > 3) Generate. > 4) Write a test. -- This message was sent by Atlassian JIRA (v6.4.14#64029)