| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README_Core.md | 2023-07-04 | 5.7 kB | |
| Totals: 1 Item | 5.7 kB | 0 | |
sf.eclipse.javacc.core project description
History
Created 02-03/2021. 1.6.0. Updated 07/2023. 1.6.0.
The Core plug-in does not refer to any Eclipse UI package.
The Core plug-in manages the project nature, build (full/incremental) and compile processings,
the external jars selection, the command line launching, the problem markers recording and the derived files handling.
Source folders structure
src-plugin: source code:.: constantsbase: base classes and interfaces, for project nature, building, compiling (exported)headless: implementations / extensions of base interfaces / classes for headless builds
.settings: standard project settings filesdoc: license filejars: external jars (javacc & jtb jars) to be embedded in the plug-in, which can be used by the plug-in user to compile its grammars (but which are not used by the plug-in for its internal processings)META-INF: standard project META-INF files/:- standard plug-in xml & i18n properties & project files
- README file
Plug-in Overview, Dependencies, Runtime, Extension Points, Build
This plug-in uses standard MANIFEST.MF manifest file.
It defines interfaces IActivator, IConsole and class JPlugin, which are used by both plug-ins.
It uses class PluginActivator, which extends Plugin.
This plug-in's class PluginActivator is different from the corresponding one UIPluginActivator in the UI plug-in: it instantiates a different IConsole, a SystemConsole, which just prints the console output on the standard out.
Runtime settings show that the plug-in exports the .& base packages.
Dependencies and build settings do not show anything non standard.
No extension points are defined.
Plug-in Extensions
This plug-in uses standard plugin.xml configuration file.
This plug-in uses 3 extensions.
Nature
point="org.eclipse.core.resources.natures"
class="sf.eclipse.javacc.core.base.Nature"
This extension defines the class Nature used to set/remove the JavaCC project nature.
The nature is used by the Workbench to identify the builder.
Nature.configure() adds a new ICommand set with Builder.
Builder
point="org.eclipse.core.resources.builders"
class="sf.eclipse.javacc.core.base.Builder"
This extension defines the class Builder used to build from a JavaCC file.
Builder extends IncrementalProjectBuilder and is called by the Workbench to compile JavaCC source files (jj/jjt/jtb) and derived files (jj, for jjt/jtb files) when building projects.
It is also used to compile files on commands triggered from the menu, toolbar and contextual menu on a Resource.
Builder uses Compiler, to compile files.
Compiler uses:
Checksum, to compute JavaCC files checksums,DirList, to get derived files,IProblemandProblem, to process the compilation report problems,IConsole, to display compilation command and output on a JavaCC specific console.
Application
point="org.eclipse.core.runtime.applications"
class="sf.eclipse.javacc.core.headless.Application"
This extension defines class Application, which is used to manage this plug-in's launches.
It parses command line arguments and runs the corresponding commands: arguments can be multiple and of:
- help: to print the command line arguments usage
- clean <project>: to perform a project clean build
- full_build <project>: to perform a project full build
- incr_build <project>: to perform a project incremental build
How to build
Build the html documents manually with the ant script build_core_html.xml or automatically with the corresponding Builder.
Build the project for the update site though Admin_Guide.