Open ronaldtse opened 5 months ago
This means we can get rid of the "rice" interface which requires C++ compilation.
This task is necessary for parsing the STEPdev library of EXPRESS schemas and performing manipulation on them.
NOTE: It was a terrible (i.e. very terrible) mistake to use ANTLR to generate the parser, which has caused us much agony and costs in maintaining the parser.
Hi, I'm https://www.upwork.com/freelancers/~0135fea7d5f7083798 on Upwork (I didn't apply for the job because I don't have enough connects), but here my approach:
For first we need to remove completely ANTLR from the project,
then we can start building a frontend top down recursive parser which is the easier to maintain.
With the parser we also need a tokenizer in order to recognize the tokens to make syntax checks.
The parser will generate a node-based tree which will be converted to the corresponding Ruby class as stated in convert every EXPRESS grammar object into its corresponding a Ruby class, as already provided in the Expressir Ruby source.
.
Let me know, thanks
Hi my upwork profile is https://www.upwork.com/fl/adilm8 Here will be my approach I’ll review the existing ANTLR grammar and Expressir structure. Then, I will convert the EXPRESS grammar from ANTLR to parslet, defining grammar rules in Ruby to match the existing setup. Using parslet, a Parsing Expression Grammar (PEG) library, I will check the grammar is accurately translated. The parsed data will be mapped to the existing Expressir Ruby classes to maintain full compatibility. Finally, I’ll create and run all RSpec tests to confirm that the new parser works correctly.
Hello, I hope this message finds you well. I came across the GitHub issue regarding the development of a Ruby-based parser to replace the ANTLR parser in the Expressir gem, and I would like to express my interest in contributing to this project. Having reviewed the requirements, I propose the following approach:
EXPRESS is a data modeling language that provides schemas and entities. It has a well-defined EBNF grammar.
The grammar of EXPRESS is provided at this repository in the ANTLR grammar language:
“expressir” is an EXPRESS parser written in Ruby:
Expressir uses a C++ extension to do the parsing inside Ruby, through the ANTLR grammar provided above.
However, the C++ ANTLR processor has proven to be problematic. We need to develop a new front-end parsing engine in plain Ruby to replace the existing code.
This task is to: