-
- Downloads
Remove ASTNode::m_value member
Values are no more stored into AST nodes. The reason for that is that it was not appropriate for multi-threaded evaluation of functions, since multiple evaluations could not occur at the same time. Now expression evaluation do not fill the node value but eventually return the computed value. Also, function are evaluated using a context array of values. Thus each function calls is done in a separated context (as it should have always been). This is a big change in the AST execution strategy. Nonetheless, it leads to a seemingly better code, and there will be no more undefined trailing values in the AST (for some node ASTNode::m_value would never be initialized/used).
Showing
- src/language/ASTNode.hpp 6 additions, 5 deletionssrc/language/ASTNode.hpp
- src/language/ASTNodeCFunctionExpressionBuilder.cpp 7 additions, 13 deletionssrc/language/ASTNodeCFunctionExpressionBuilder.cpp
- src/language/ASTNodeCFunctionExpressionBuilder.hpp 1 addition, 2 deletionssrc/language/ASTNodeCFunctionExpressionBuilder.hpp
- src/language/ASTNodeDataTypeBuilder.cpp 0 additions, 1 deletionsrc/language/ASTNodeDataTypeBuilder.cpp
- src/language/ASTNodeDataVariant.hpp 1 addition, 1 deletionsrc/language/ASTNodeDataVariant.hpp
- src/language/ASTNodeExpressionBuilder.cpp 17 additions, 9 deletionssrc/language/ASTNodeExpressionBuilder.cpp
- src/language/ASTNodeFunctionExpressionBuilder.cpp 17 additions, 22 deletionssrc/language/ASTNodeFunctionExpressionBuilder.cpp
- src/language/ASTNodeFunctionExpressionBuilder.hpp 1 addition, 2 deletionssrc/language/ASTNodeFunctionExpressionBuilder.hpp
- src/language/ASTNodeListAffectationExpressionBuilder.cpp 9 additions, 9 deletionssrc/language/ASTNodeListAffectationExpressionBuilder.cpp
- src/language/ASTNodeValueBuilder.cpp 0 additions, 67 deletionssrc/language/ASTNodeValueBuilder.cpp
- src/language/ASTNodeValueBuilder.hpp 0 additions, 15 deletionssrc/language/ASTNodeValueBuilder.hpp
- src/language/ASTPrinter.cpp 0 additions, 18 deletionssrc/language/ASTPrinter.cpp
- src/language/ASTPrinter.hpp 4 additions, 5 deletionssrc/language/ASTPrinter.hpp
- src/language/ASTSymbolTableBuilder.cpp 6 additions, 4 deletionssrc/language/ASTSymbolTableBuilder.cpp
- src/language/CFunctionEmbedder.hpp 4 additions, 4 deletionssrc/language/CFunctionEmbedder.hpp
- src/language/CMakeLists.txt 0 additions, 1 deletionsrc/language/CMakeLists.txt
- src/language/PugsParser.cpp 1 addition, 5 deletionssrc/language/PugsParser.cpp
- src/language/SymbolTable.hpp 82 additions, 11 deletionssrc/language/SymbolTable.hpp
- src/language/node_processor/ASTNodeExpressionListProcessor.hpp 29 additions, 0 deletions...anguage/node_processor/ASTNodeExpressionListProcessor.hpp
- src/language/node_processor/ASTNodeListProcessor.hpp 4 additions, 2 deletionssrc/language/node_processor/ASTNodeListProcessor.hpp
Loading
Please register or sign in to comment