![]() |
nsbaci 1.0
|
Abstract base class for all compilers. More...
#include <compiler.h>

Public Member Functions | |
| Compiler ()=default | |
| Default constructor. | |
| virtual | ~Compiler ()=default |
| Virtual destructor. | |
| virtual CompilerResult | compile (const std::string &source)=0 |
| Compiles source code from a string. | |
| virtual CompilerResult | compile (std::istream &input)=0 |
| Compiles source code from an input stream. | |
Abstract base class for all compilers.
The Compiler interface defines the contract for compiling source code into p-code instructions. Implementations handle lexical analysis, parsing, semantic analysis, and code generation.
The compilation process produces:
Subclasses must implement both compile() overloads to support compilation from both strings and input streams.
|
pure virtual |
Compiles source code from a string.
Performs full compilation including lexical analysis, parsing, semantic analysis, and p-code generation.
| source | The BACI source code to compile. |
Implemented in nsbaci::compiler::NsbaciCompiler.
|
pure virtual |
Compiles source code from an input stream.
Allows compilation from files or other stream sources.
| input | The input stream containing BACI source code. |
Implemented in nsbaci::compiler::NsbaciCompiler.