blob: 48a9448bb2039dd8a5056ad58a7fd414bd15cb86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include "semantic_analyzer.hpp"
SemanticAnalyzer::SemanticAnalyzer() : symbol_table(), current_scope(nullptr), current_scope_level(-1) { }
SymbolTable SemanticAnalyzer::analyze(ASTNode* node) {
for (auto function : node->function_delcarations) {
analyzeFunction(function);
}
}
ASTNode* SemanticAnalyzer::advance() {
if (dynamic_cast<ProgramNode*>(node)) {
}
}
ASTNode* SemanticAnalyzer::peek() { }
Symbol* SemanticAnalyzer::analyzeVariable(ASTNode* node) { }
Symbol* SemanticAnalyzer::analyzeFunctionDeclaration(ASTNode* node) {
std::string identifier = node->identifier;
symbol_type = SymbolType::FUNCTION_DECLARATION;
}
|