mirror of
https://codeberg.org/ProgramSnail/lang_2023.git
synced 2025-12-18 04:48:44 +00:00
typeclass tree start
This commit is contained in:
parent
c1dec6a0d1
commit
173d50672a
15 changed files with 1475 additions and 35 deletions
20
src/main.cpp
20
src/main.cpp
|
|
@ -4,9 +4,15 @@
|
|||
|
||||
// for clangd
|
||||
#include "../include/parse_tree.hpp"
|
||||
#include "../include/global_info.hpp"
|
||||
#include "../include/type_info_contexts.hpp"
|
||||
#include "../include/interpreter_tree.hpp"
|
||||
#include "../include/build_visitor.hpp"
|
||||
#include "../include/print_visitor.hpp"
|
||||
#include "../include/find_symbols_visitor.hpp"
|
||||
#include "../include/link_symbols_visitor.hpp"
|
||||
#include "../include/type_check_visitor.hpp"
|
||||
#include "../include/typed_print_visitor.hpp"
|
||||
#include "../include/error_handling.hpp"
|
||||
|
||||
int main(int argc, char** argv) { // TODO, only test version
|
||||
|
|
@ -37,9 +43,19 @@ int main(int argc, char** argv) { // TODO, only test version
|
|||
std::unique_ptr<interpreter::tokens::SourceFile> source_file =
|
||||
std::make_unique<interpreter::tokens::SourceFile>();
|
||||
|
||||
info::GlobalInfo global_info;
|
||||
info::TypeInfoContextManager context_manager;
|
||||
|
||||
interpreter::BuildVisitor build_visitor(parse_tree);
|
||||
interpreter::PrintVisitor print_visitor(std::cout);
|
||||
// interpreter::PrintVisitor print_visitor(std::cout);
|
||||
interpreter::FindSymbolsVisitor find_symbols_visitor(global_info);
|
||||
interpreter::LinkSymbolsVisitor link_symbols_visitor(global_info);
|
||||
interpreter::TypeCheckVisitor type_check_visitor(global_info, context_manager);
|
||||
interpreter::TypedPrintVisitor typed_print_visitor(std::cout, context_manager);
|
||||
|
||||
build_visitor.VisitSourceFile(source_file.get());
|
||||
print_visitor.VisitSourceFile(source_file.get());
|
||||
find_symbols_visitor.VisitSourceFile(source_file.get());
|
||||
link_symbols_visitor.VisitSourceFile(source_file.get());
|
||||
type_check_visitor.VisitSourceFile(source_file.get());
|
||||
typed_print_visitor.VisitSourceFile(source_file.get());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue