-
Notifications
You must be signed in to change notification settings - Fork 1
Component interchangability
The Compiler is divided into multiple components. These components are interchangeable.
The Compiler Components are:
- Lexer
- Parser
- Semantic Analysis
- Intermediate Code Generator
- Backend
Also there are several helping librarys like
- ErrorLog
- SymbolTable
- etc.
The Component Interfaces are defined in the Common Branch. Additional informations can be found in the Common Wiki.
Main Components
- Lexer Interface
- Parser Interface
- Semantic Analysis Interface
- Intermediate Code Generator Interface
- Backend Interface
Helper Components
- Abstract Syntax Tree Interface
- Quadruple Interface
- Symbol Table Interface
- Report Log Interface
- Types Interface
- Visualization Interface for Console Visualization
- Visualization Interface for Gui IDE Visualization
As long as you stick to these interfaces you can exchange FUC Compiler Components with your own Components without breaking the compiler tool chain. This is a great way if you want to implement your own Component without rewriting the whole compiler.
FUC Controllers are capable of using other compiler components than their own. Find more information about how to do this here: Using The Console Controller and here: Using The GUI IDE
If you want to try to change some components have a look at the JavaBite Repository. You can mix their Components with FUC Components as you like.