On 2020-10-13 06:15, Arily Essen via Firebird-devel wrote:

2. (drawing on long-term experience)
- I have seen some old threads (for instance "BTYACC" starting on Dec 4, 2004) where pros/cons of different types of parsers and parser generators were discussed in the context of porting/migration to btyacc.   To any who were there: in hindsight, have your views on this subject changed significantly? was the switch a complete net gain?

I think goals discussed that time were satisfied with switch to btyacc completely.


3. (build dependency-related questions)
- Would adding an additional build dependency be a significant, unconditional barrier to adoption in the official source? - What criteria are most important in choosing to adopt new build dependencies for the project? I wish to keep my options open as much as possible here.   I imagine that a full python interpreter is not desirable as a build dependency.
  What about, for instance, a minimal C-embedded Lua interpreter?
  A bespoke tool written in an existing C/C++ library? (I see that Boost.Preprocessor is currently included in the source) - How much would it matter if such a dependency required an additional build step, like CLOOP and btyacc?


We have 2 different, independent build processes: for posix (mostly linux tested) and windows. In the first case use of any mentioned tool is not a problem on my mind. But in the second - even grep is a problem :-( Probably the best choice is to have additional dependency like CLOOP / btyacc.

other related comments and advice are of course welcome

btyacc builds just a skeleton of grammar, some details are resolved later. For example, good from btyacc POV statement "CREATE USER U1 FIRSTNAME 'UUU';" is wrong cause missing password clause, but that's detected later - not at btyacc phaze.




Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to