Some more findings below.

El 10/4/21 a las 19:30, antonio escribió:

3) MISSING MODULE "cnd.antlr"

Jan's README.cnd [1] also lists a module that was not donated by Oracle:

* cnd/modules/org-netbeans-modules-cnd-antlr.jar => cnd/libs.antlr.cnd/external

This "cnd.antlr" module in NetBeans 8.2 seems to be a fork of Antlr 2 or Antlr 3. This module is used to _compile_ different grammars in other modules in CND (this is equivalent to the "antlr.Tool" in antlr "complete" variants):

Could be antlr-3.5.2, for instance, possibly others

org.netbeans.modules.cnd.antlr.Tool
ANTLR Parser Generator   Version Sun-2.7.7(NoEx) (2006-01-29)   1989-2005

java -cp $HOME/Descargas/antlr-complete-3.5.2.jar antlr.Tool
ANTLR Parser Generator   Version 2.7.7 (20060906)   1989-2005


[GRAMMARS]
* cnd.apt (aptexpr.g, aptlexer.g, aptBigIntegerExpr.g)
* cnd.asm (DisScanner.g, IdentScanner.g, ATTSCanner.g)
* cnd.modelimpl (Evaluator.g, CXXParser.g (empty), cppparser.g above, missing)
[...]
Some (I didn't test all) of these [GRAMMARS] don't compile with antlr.Tool V2.7.2, V3.4 nor V3.5.2. You can try yourself running java -cp [antlr.jar] antlr.Tool the-grammar-file.g

The grammars can be compiled with antlr-complete-3.5.2.jar (possibly other versions as well) with some modifications (possibly losing some performance enhancements). These seem optimizations in cnd.antlr that don't exist in antlr.

It seems the runtime portion requires some enhancements to the antlr.runtime (for instance, it seems org.netbeans.cnd.antlr.Token is an interface, whereas antlr.Token is a class, etc.).

So, to summarize: it may be possible to replace cnd.antlr with antlr, so I think I'll explore this possibility. Will report here afterwards.

Kind regards,
Antonio






---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



Reply via email to