diff --git a/media/test-project/test.spice b/media/test-project/test.spice index 219bf172c..cb28af2eb 100644 --- a/media/test-project/test.spice +++ b/media/test-project/test.spice @@ -1,16 +1,9 @@ -import "std/data/vector"; +f unusedReturnValue() { + return "unused"; +} f main() { - Vector v = Vector(); - v.pushBack("Hello"); - v.pushBack("World"); - v.pushBack("!"); - v.pushBack("!"); - v.pushBack("!"); - - foreach string s : v { - printf("%s\n", s); - } + unusedReturnValue(); } /*f main() { diff --git a/src/ast/ASTBuilder.cpp b/src/ast/ASTBuilder.cpp index 216ab7f95..f5d3a1727 100644 --- a/src/ast/ASTBuilder.cpp +++ b/src/ast/ASTBuilder.cpp @@ -475,14 +475,7 @@ std::any ASTBuilder::visitSignature(SpiceParser::SignatureContext *ctx) { return concludeNode(signatureNode); } -std::any ASTBuilder::visitStmt(SpiceParser::StmtContext *ctx) { - auto stmtNode = createNode(ctx); - - // Visit children - visitChildren(ctx); - - return concludeNode(stmtNode); -} +std::any ASTBuilder::visitStmt(SpiceParser::StmtContext *ctx) { return visitChildren(ctx); } std::any ASTBuilder::visitDeclStmt(SpiceParser::DeclStmtContext *ctx) { auto declStmtNode = createNode(ctx); diff --git a/src/ast/ASTNodes.cpp b/src/ast/ASTNodes.cpp index 6c144a48b..bf9668353 100644 --- a/src/ast/ASTNodes.cpp +++ b/src/ast/ASTNodes.cpp @@ -511,7 +511,7 @@ bool FctCallNode::hasReturnValueReceiver() const { node = node->parent; } // Also check the condition of the assign expression - return node->children.size() > 1 || !node->parent->isStmtNode(); + return node->children.size() > 1 || !node->parent->isStmtLstNode(); } bool LambdaFuncNode::returnsOnAllControlPaths(bool *overrideUnreachable) const { diff --git a/src/ast/ASTNodes.h b/src/ast/ASTNodes.h index c56c04fb9..830784134 100644 --- a/src/ast/ASTNodes.h +++ b/src/ast/ASTNodes.h @@ -148,8 +148,11 @@ class ASTNode { [[nodiscard]] virtual bool isFctOrProcDef() const { return false; } [[nodiscard]] virtual bool isStructDef() const { return false; } + [[nodiscard]] virtual bool isTopLevelDefNode() const { return false; } [[nodiscard]] virtual bool isStmtNode() const { return false; } + [[nodiscard]] virtual bool isExprNode() const { return false; } [[nodiscard]] virtual bool isParamNode() const { return false; } + [[nodiscard]] virtual bool isStmtLstNode() const { return false; } [[nodiscard]] virtual bool isAssignExpr() const { return false; } // Public members @@ -189,6 +192,24 @@ class TopLevelDefNode : public ASTNode { // Visitor methods std::any accept(AbstractASTVisitor *visitor) override = 0; std::any accept(ParallelizableASTVisitor *visitor) const override = 0; + + // Other methods + [[nodiscard]] bool isTopLevelDefNode() const override { return true; } +}; + +// =========================================================== StmtNode ========================================================== + +class StmtNode : public ASTNode { +public: + // Constructors + using ASTNode::ASTNode; + + // Visitor methods + std::any accept(AbstractASTVisitor *visitor) override = 0; + std::any accept(ParallelizableASTVisitor *visitor) const override = 0; + + // Other methods + [[nodiscard]] bool isStmtNode() const override { return true; } }; // ========================================================== ExprNode =========================================================== @@ -201,6 +222,9 @@ class ExprNode : public ASTNode { // Visitor methods std::any accept(AbstractASTVisitor *visitor) override = 0; std::any accept(ParallelizableASTVisitor *visitor) const override = 0; + + // Other methods + [[nodiscard]] bool isExprNode() const override { return true; } }; // ======================================================== MainFctDefNode ======================================================= @@ -529,10 +553,10 @@ class ImportDefNode : public TopLevelDefNode { // ======================================================== UnsafeBlockNode ====================================================== -class UnsafeBlockNode : public ASTNode { +class UnsafeBlockNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitUnsafeBlock(this); } @@ -550,10 +574,10 @@ class UnsafeBlockNode : public ASTNode { // ========================================================== ForLoopNode ======================================================== -class ForLoopNode : public ASTNode { +class ForLoopNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitForLoop(this); } @@ -575,10 +599,10 @@ class ForLoopNode : public ASTNode { // ======================================================== ForeachLoopNode ====================================================== -class ForeachLoopNode : public ASTNode { +class ForeachLoopNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitForeachLoop(this); } @@ -607,10 +631,10 @@ class ForeachLoopNode : public ASTNode { // ========================================================= WhileLoopNode ======================================================= -class WhileLoopNode : public ASTNode { +class WhileLoopNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitWhileLoop(this); } @@ -630,10 +654,10 @@ class WhileLoopNode : public ASTNode { // ======================================================== DoWhileLoopNode ====================================================== -class DoWhileLoopNode : public ASTNode { +class DoWhileLoopNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitDoWhileLoop(this); } @@ -653,10 +677,10 @@ class DoWhileLoopNode : public ASTNode { // ========================================================== IfStmtNode ========================================================= -class IfStmtNode : public ASTNode { +class IfStmtNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitIfStmt(this); } @@ -677,10 +701,10 @@ class IfStmtNode : public ASTNode { // ========================================================= ElseStmtNode ======================================================== -class ElseStmtNode : public ASTNode { +class ElseStmtNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitElseStmt(this); } @@ -701,10 +725,10 @@ class ElseStmtNode : public ASTNode { // ======================================================== SwitchStmtNode ======================================================= -class SwitchStmtNode : public ASTNode { +class SwitchStmtNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitSwitchStmt(this); } @@ -769,10 +793,10 @@ class DefaultBranchNode : public ASTNode { // ==================================================== AnonymousBlockStmtNode =================================================== -class AnonymousBlockStmtNode : public ASTNode { +class AnonymousBlockStmtNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitAnonymousBlockStmt(this); } @@ -803,8 +827,9 @@ class StmtLstNode : public ASTNode { [[nodiscard]] bool returnsOnAllControlPaths(bool *doSetPredecessorsUnreachable) const override; void resizeToNumberOfManifestations(size_t manifestationCount) override { ASTNode::resizeToNumberOfManifestations(manifestationCount); - dtorFunctions.resize(manifestationCount, std::vector>()); + dtorFunctions.resize(manifestationCount); } + [[nodiscard]] bool isStmtLstNode() const override { return true; } // Public members size_t complexity = 0; @@ -963,27 +988,12 @@ class SignatureNode : public ASTNode { std::vector signatureManifestations; }; -// =========================================================== StmtNode ========================================================== - -class StmtNode : public ASTNode { -public: - // Constructors - using ASTNode::ASTNode; - - // Visitor methods - std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitStmt(this); } - std::any accept(ParallelizableASTVisitor *visitor) const override { return visitor->visitStmt(this); } - - // Other methods - [[nodiscard]] bool isStmtNode() const override { return true; } -}; - // ========================================================= DeclStmtNode ======================================================== -class DeclStmtNode : public ASTNode { +class DeclStmtNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitDeclStmt(this); } @@ -994,7 +1004,7 @@ class DeclStmtNode : public ASTNode { [[nodiscard]] AssignExprNode *assignExpr() const { return getChild(); } // Util methods - void customItemsInitialization(size_t manifestationCount) override { entries.resize(manifestationCount, nullptr); } + void customItemsInitialization(size_t manifestationCount) override { entries.resize(manifestationCount); } [[nodiscard]] bool isParamNode() const override { return isParam; } // Public members @@ -1173,10 +1183,10 @@ class ConstantLstNode : public ASTNode { // ======================================================== ReturnStmtNode ======================================================= -class ReturnStmtNode : public ASTNode { +class ReturnStmtNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitReturnStmt(this); } @@ -1187,10 +1197,7 @@ class ReturnStmtNode : public ASTNode { // Other methods [[nodiscard]] bool returnsOnAllControlPaths(bool *) const override { return true; } - [[nodiscard]] StmtLstNode *getParentScopeNode() const { - assert(dynamic_cast(parent->parent) != nullptr); - return spice_pointer_cast(parent->parent); - } + [[nodiscard]] StmtLstNode *getParentScopeNode() const { return spice_pointer_cast(parent); } // Public members bool hasReturnValue = false; @@ -1198,10 +1205,10 @@ class ReturnStmtNode : public ASTNode { // ======================================================== BreakStmtNode ======================================================== -class BreakStmtNode : public ASTNode { +class BreakStmtNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitBreakStmt(this); } @@ -1213,10 +1220,10 @@ class BreakStmtNode : public ASTNode { // ======================================================= ContinueStmtNode ====================================================== -class ContinueStmtNode : public ASTNode { +class ContinueStmtNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitContinueStmt(this); } @@ -1228,10 +1235,10 @@ class ContinueStmtNode : public ASTNode { // ====================================================== FallthroughStmtNode ==================================================== -class FallthroughStmtNode : public ASTNode { +class FallthroughStmtNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitFallthroughStmt(this); } @@ -1243,10 +1250,10 @@ class FallthroughStmtNode : public ASTNode { // ======================================================== AssertStmtNode ======================================================= -class AssertStmtNode : public ASTNode { +class AssertStmtNode : public StmtNode { public: // Constructors - using ASTNode::ASTNode; + using StmtNode::StmtNode; // Visitor methods std::any accept(AbstractASTVisitor *visitor) override { return visitor->visitAssertStmt(this); } @@ -1970,7 +1977,7 @@ class StructInstantiationNode : public ExprNode { [[nodiscard]] ArgLstNode *fieldLst() const { return getChild(); } // Util methods - void customItemsInitialization(size_t manifestationCount) override { instantiatedStructs.resize(manifestationCount, nullptr); } + void customItemsInitialization(size_t manifestationCount) override { instantiatedStructs.resize(manifestationCount); } // Public members std::string fqStructName; @@ -2144,7 +2151,7 @@ class CustomDataTypeNode : public ASTNode { [[nodiscard]] TypeLstNode *templateTypeLst() const { return getChild(); } // Util methods - void customItemsInitialization(size_t manifestationCount) override { customTypes.resize(manifestationCount, nullptr); } + void customItemsInitialization(size_t manifestationCount) override { customTypes.resize(manifestationCount); } // Public members std::string fqTypeName; @@ -2168,7 +2175,7 @@ class FunctionDataTypeNode : public ASTNode { [[nodiscard]] TypeLstNode *paramTypeLst() const { return getChild(); } // Util methods - void customItemsInitialization(size_t manifestationCount) override { customTypes.resize(manifestationCount, nullptr); } + void customItemsInitialization(size_t manifestationCount) override { customTypes.resize(manifestationCount); } // Public members std::vector customTypes; diff --git a/src/ast/ASTVisitor.cpp b/src/ast/ASTVisitor.cpp index cf295bfa1..ef03bd4ce 100644 --- a/src/ast/ASTVisitor.cpp +++ b/src/ast/ASTVisitor.cpp @@ -74,8 +74,6 @@ std::any ASTVisitor::visitField(FieldNode *node) { return visitChildren(node); } std::any ASTVisitor::visitSignature(SignatureNode *node) { return visitChildren(node); } -std::any ASTVisitor::visitStmt(StmtNode *node) { return visitChildren(node); } - std::any ASTVisitor::visitDeclStmt(DeclStmtNode *node) { return visitChildren(node); } std::any ASTVisitor::visitSpecifierLst(SpecifierLstNode *node) { return visitChildren(node); } diff --git a/src/ast/ASTVisitor.h b/src/ast/ASTVisitor.h index 3c7f2f8b3..7a9c4bca3 100644 --- a/src/ast/ASTVisitor.h +++ b/src/ast/ASTVisitor.h @@ -42,7 +42,6 @@ class ASTVisitor : public AbstractASTVisitor { std::any visitEnumItem(EnumItemNode *node) override; std::any visitField(FieldNode *node) override; std::any visitSignature(SignatureNode *node) override; - std::any visitStmt(StmtNode *node) override; std::any visitDeclStmt(DeclStmtNode *node) override; std::any visitSpecifierLst(SpecifierLstNode *node) override; std::any visitSpecifier(SpecifierNode *node) override; diff --git a/src/ast/AbstractASTVisitor.h b/src/ast/AbstractASTVisitor.h index e39c4e566..a0698789f 100644 --- a/src/ast/AbstractASTVisitor.h +++ b/src/ast/AbstractASTVisitor.h @@ -41,7 +41,6 @@ class EnumItemLstNode; class EnumItemNode; class FieldNode; class SignatureNode; -class StmtNode; class DeclStmtNode; class SpecifierLstNode; class SpecifierNode; @@ -130,7 +129,6 @@ class AbstractASTVisitor { virtual std::any visitEnumItem(EnumItemNode *node) = 0; virtual std::any visitField(FieldNode *node) = 0; virtual std::any visitSignature(SignatureNode *node) = 0; - virtual std::any visitStmt(StmtNode *node) = 0; virtual std::any visitDeclStmt(DeclStmtNode *node) = 0; virtual std::any visitSpecifierLst(SpecifierLstNode *node) = 0; virtual std::any visitSpecifier(SpecifierNode *node) = 0; diff --git a/src/ast/ParallelizableASTVisitor.cpp b/src/ast/ParallelizableASTVisitor.cpp index 7b1ff2dc8..185f415e3 100644 --- a/src/ast/ParallelizableASTVisitor.cpp +++ b/src/ast/ParallelizableASTVisitor.cpp @@ -83,8 +83,6 @@ std::any ParallelizableASTVisitor::visitField(const FieldNode *node) { return vi std::any ParallelizableASTVisitor::visitSignature(const SignatureNode *node) { return visitChildren(node); } -std::any ParallelizableASTVisitor::visitStmt(const StmtNode *node) { return visitChildren(node); } - std::any ParallelizableASTVisitor::visitDeclStmt(const DeclStmtNode *node) { return visitChildren(node); } std::any ParallelizableASTVisitor::visitSpecifierLst(const SpecifierLstNode *node) { return visitChildren(node); } diff --git a/src/ast/ParallelizableASTVisitor.h b/src/ast/ParallelizableASTVisitor.h index df834100f..1e00ce823 100644 --- a/src/ast/ParallelizableASTVisitor.h +++ b/src/ast/ParallelizableASTVisitor.h @@ -41,7 +41,6 @@ class EnumItemLstNode; class EnumItemNode; class FieldNode; class SignatureNode; -class StmtNode; class DeclStmtNode; class SpecifierLstNode; class SpecifierNode; @@ -130,7 +129,6 @@ class ParallelizableASTVisitor { virtual std::any visitEnumItem(const EnumItemNode *node); virtual std::any visitField(const FieldNode *node); virtual std::any visitSignature(const SignatureNode *node); - virtual std::any visitStmt(const StmtNode *node); virtual std::any visitDeclStmt(const DeclStmtNode *node); virtual std::any visitSpecifierLst(const SpecifierLstNode *node); virtual std::any visitSpecifier(const SpecifierNode *node); diff --git a/src/visualizer/ASTVisualizer.h b/src/visualizer/ASTVisualizer.h index 0b756ab67..def527c68 100644 --- a/src/visualizer/ASTVisualizer.h +++ b/src/visualizer/ASTVisualizer.h @@ -58,7 +58,6 @@ class ASTVisualizer : private CompilerPass, public AbstractASTVisitor { std::any visitEnumItem(EnumItemNode *ctx) override { return buildNode(ctx); } std::any visitField(FieldNode *ctx) override { return buildNode(ctx); } std::any visitSignature(SignatureNode *ctx) override { return buildNode(ctx); } - std::any visitStmt(StmtNode *ctx) override { return buildNode(ctx); } std::any visitDeclStmt(DeclStmtNode *ctx) override { return buildNode(ctx); } std::any visitSpecifierLst(SpecifierLstNode *ctx) override { return buildNode(ctx); } std::any visitSpecifier(SpecifierNode *ctx) override { return buildNode(ctx); } diff --git a/test/test-files/benchmark/success-ackermann/syntax-tree.dot b/test/test-files/benchmark/success-ackermann/syntax-tree.dot index 9b67b0292..de06f0668 100644 --- a/test/test-files/benchmark/success-ackermann/syntax-tree.dot +++ b/test/test-files/benchmark/success-ackermann/syntax-tree.dot @@ -80,10 +80,8 @@ digraph { L2C13_AtomicExprNode -> L2C13_ConstantNode; L2C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L2C5_IfStmtNode -> L2C15_StmtLstNode; - L2C17_StmtNode [color="lightgreen",label="StmtNode"]; - L2C15_StmtLstNode -> L2C17_StmtNode; L2C17_ReturnStmtNode [color="lightgreen",label="ReturnStmtNode"]; - L2C17_StmtNode -> L2C17_ReturnStmtNode; + L2C15_StmtLstNode -> L2C17_ReturnStmtNode; L2C24_AssignExprNode [color="lightgreen",label="AssignExprNode"]; L2C17_ReturnStmtNode -> L2C24_AssignExprNode; L2C24_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; @@ -182,10 +180,8 @@ digraph { L3C13_AtomicExprNode -> L3C13_ConstantNode; L3C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L3C5_IfStmtNode -> L3C15_StmtLstNode; - L3C17_StmtNode [color="lightgreen",label="StmtNode"]; - L3C15_StmtLstNode -> L3C17_StmtNode; L3C17_ReturnStmtNode [color="lightgreen",label="ReturnStmtNode"]; - L3C17_StmtNode -> L3C17_ReturnStmtNode; + L3C15_StmtLstNode -> L3C17_ReturnStmtNode; L3C24_AssignExprNode [color="lightgreen",label="AssignExprNode"]; L3C17_ReturnStmtNode -> L3C24_AssignExprNode; L3C24_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; @@ -302,10 +298,8 @@ digraph { L3C35_PostfixUnaryExprNode -> L3C35_AtomicExprNode; L3C35_ConstantNode [color="lightgreen",label="ConstantNode"]; L3C35_AtomicExprNode -> L3C35_ConstantNode; - L4C5_StmtNode [color="lightgreen",label="StmtNode"]; - L1C26_StmtLstNode -> L4C5_StmtNode; L4C5_ReturnStmtNode [color="lightgreen",label="ReturnStmtNode"]; - L4C5_StmtNode -> L4C5_ReturnStmtNode; + L1C26_StmtLstNode -> L4C5_ReturnStmtNode; L4C12_AssignExprNode [color="lightgreen",label="AssignExprNode"]; L4C5_ReturnStmtNode -> L4C12_AssignExprNode; L4C12_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; @@ -506,10 +500,8 @@ digraph { L1C1_EntryNode -> L7C1_MainFctDefNode; L7C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L7C1_MainFctDefNode -> L7C15_StmtLstNode; - L8C5_StmtNode [color="lightgreen",label="StmtNode"]; - L7C15_StmtLstNode -> L8C5_StmtNode; L8C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L8C5_StmtNode -> L8C5_DeclStmtNode; + L7C15_StmtLstNode -> L8C5_DeclStmtNode; L8C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L8C5_DeclStmtNode -> L8C5_DataTypeNode; L8C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -548,10 +540,8 @@ digraph { L8C17_PostfixUnaryExprNode -> L8C17_AtomicExprNode; L8C17_ConstantNode [color="lightgreen",label="ConstantNode"]; L8C17_AtomicExprNode -> L8C17_ConstantNode; - L9C5_StmtNode [color="lightgreen",label="StmtNode"]; - L7C15_StmtLstNode -> L9C5_StmtNode; L9C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L9C5_StmtNode -> L9C5_DeclStmtNode; + L7C15_StmtLstNode -> L9C5_DeclStmtNode; L9C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L9C5_DeclStmtNode -> L9C5_DataTypeNode; L9C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -590,10 +580,8 @@ digraph { L9C17_PostfixUnaryExprNode -> L9C17_AtomicExprNode; L9C17_ConstantNode [color="lightgreen",label="ConstantNode"]; L9C17_AtomicExprNode -> L9C17_ConstantNode; - L10C5_StmtNode [color="lightgreen",label="StmtNode"]; - L7C15_StmtLstNode -> L10C5_StmtNode; L10C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L10C5_StmtNode -> L10C5_AssignExprNode; + L7C15_StmtLstNode -> L10C5_AssignExprNode; L10C5_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L10C5_AssignExprNode -> L10C5_TernaryExprNode; L10C5_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; diff --git a/test/test-files/benchmark/success-faculty/syntax-tree.dot b/test/test-files/benchmark/success-faculty/syntax-tree.dot index 77217180f..6e456e266 100644 --- a/test/test-files/benchmark/success-faculty/syntax-tree.dot +++ b/test/test-files/benchmark/success-faculty/syntax-tree.dot @@ -72,10 +72,8 @@ digraph { L2C16_AtomicExprNode -> L2C16_ConstantNode; L2C18_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L2C5_IfStmtNode -> L2C18_StmtLstNode; - L3C9_StmtNode [color="lightgreen",label="StmtNode"]; - L2C18_StmtLstNode -> L3C9_StmtNode; L3C9_ReturnStmtNode [color="lightgreen",label="ReturnStmtNode"]; - L3C9_StmtNode -> L3C9_ReturnStmtNode; + L2C18_StmtLstNode -> L3C9_ReturnStmtNode; L3C16_AssignExprNode [color="lightgreen",label="AssignExprNode"]; L3C9_ReturnStmtNode -> L3C16_AssignExprNode; L3C16_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; @@ -110,10 +108,8 @@ digraph { L3C16_PostfixUnaryExprNode -> L3C16_AtomicExprNode; L3C16_ConstantNode [color="lightgreen",label="ConstantNode"]; L3C16_AtomicExprNode -> L3C16_ConstantNode; - L5C5_StmtNode [color="lightgreen",label="StmtNode"]; - L1C27_StmtLstNode -> L5C5_StmtNode; L5C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L5C5_StmtNode -> L5C5_AssignExprNode; + L1C27_StmtLstNode -> L5C5_AssignExprNode; L5C5_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L5C5_AssignExprNode -> L5C5_PrefixUnaryExprNode; L5C5_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -214,10 +210,8 @@ digraph { L1C1_EntryNode -> L8C1_MainFctDefNode; L8C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L8C1_MainFctDefNode -> L8C15_StmtLstNode; - L9C5_StmtNode [color="lightgreen",label="StmtNode"]; - L8C15_StmtLstNode -> L9C5_StmtNode; L9C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L9C5_StmtNode -> L9C5_DeclStmtNode; + L8C15_StmtLstNode -> L9C5_DeclStmtNode; L9C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L9C5_DeclStmtNode -> L9C5_DataTypeNode; L9C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -256,10 +250,8 @@ digraph { L9C17_PostfixUnaryExprNode -> L9C17_AtomicExprNode; L9C17_ConstantNode [color="lightgreen",label="ConstantNode"]; L9C17_AtomicExprNode -> L9C17_ConstantNode; - L10C5_StmtNode [color="lightgreen",label="StmtNode"]; - L8C15_StmtLstNode -> L10C5_StmtNode; L10C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L10C5_StmtNode -> L10C5_DeclStmtNode; + L8C15_StmtLstNode -> L10C5_DeclStmtNode; L10C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L10C5_DeclStmtNode -> L10C5_DataTypeNode; L10C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -334,10 +326,8 @@ digraph { L10C27_PrefixUnaryExprNode -> L10C27_PostfixUnaryExprNode; L10C27_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L10C27_PostfixUnaryExprNode -> L10C27_AtomicExprNode; - L11C5_StmtNode [color="lightgreen",label="StmtNode"]; - L8C15_StmtLstNode -> L11C5_StmtNode; L11C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L11C5_StmtNode -> L11C5_AssignExprNode; + L8C15_StmtLstNode -> L11C5_AssignExprNode; L11C5_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L11C5_AssignExprNode -> L11C5_TernaryExprNode; L11C5_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; diff --git a/test/test-files/benchmark/success-fibonacci-threaded/syntax-tree.dot b/test/test-files/benchmark/success-fibonacci-threaded/syntax-tree.dot index 64313b8d9..db6caf886 100644 --- a/test/test-files/benchmark/success-fibonacci-threaded/syntax-tree.dot +++ b/test/test-files/benchmark/success-fibonacci-threaded/syntax-tree.dot @@ -74,10 +74,8 @@ digraph { L4C13_AtomicExprNode -> L4C13_ConstantNode; L4C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L4C5_IfStmtNode -> L4C15_StmtLstNode; - L4C17_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L4C17_StmtNode; L4C17_ReturnStmtNode [color="lightgreen",label="ReturnStmtNode"]; - L4C17_StmtNode -> L4C17_ReturnStmtNode; + L4C15_StmtLstNode -> L4C17_ReturnStmtNode; L4C24_AssignExprNode [color="lightgreen",label="AssignExprNode"]; L4C17_ReturnStmtNode -> L4C24_AssignExprNode; L4C24_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; @@ -112,10 +110,8 @@ digraph { L4C24_PostfixUnaryExprNode -> L4C24_AtomicExprNode; L4C24_ConstantNode [color="lightgreen",label="ConstantNode"]; L4C24_AtomicExprNode -> L4C24_ConstantNode; - L5C5_StmtNode [color="lightgreen",label="StmtNode"]; - L3C19_StmtLstNode -> L5C5_StmtNode; L5C5_ReturnStmtNode [color="lightgreen",label="ReturnStmtNode"]; - L5C5_StmtNode -> L5C5_ReturnStmtNode; + L3C19_StmtLstNode -> L5C5_ReturnStmtNode; L5C12_AssignExprNode [color="lightgreen",label="AssignExprNode"]; L5C5_ReturnStmtNode -> L5C12_AssignExprNode; L5C12_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; @@ -262,10 +258,8 @@ digraph { L1C1_EntryNode -> L8C1_MainFctDefNode; L8C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L8C1_MainFctDefNode -> L8C15_StmtLstNode; - L9C5_StmtNode [color="lightgreen",label="StmtNode"]; - L8C15_StmtLstNode -> L9C5_StmtNode; L9C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L9C5_StmtNode -> L9C5_DeclStmtNode; + L8C15_StmtLstNode -> L9C5_DeclStmtNode; L9C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L9C5_DeclStmtNode -> L9C5_DataTypeNode; L9C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -304,10 +298,8 @@ digraph { L9C23_PostfixUnaryExprNode -> L9C23_AtomicExprNode; L9C23_ConstantNode [color="lightgreen",label="ConstantNode"]; L9C23_AtomicExprNode -> L9C23_ConstantNode; - L10C5_StmtNode [color="lightgreen",label="StmtNode"]; - L8C15_StmtLstNode -> L10C5_StmtNode; L10C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L10C5_StmtNode -> L10C5_DeclStmtNode; + L8C15_StmtLstNode -> L10C5_DeclStmtNode; L10C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L10C5_DeclStmtNode -> L10C5_DataTypeNode; L10C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -478,10 +470,8 @@ digraph { L11C46_PostfixUnaryExprNode -> L11C46_AtomicExprNode; L11C50_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L11C5_ForLoopNode -> L11C50_StmtLstNode; - L12C9_StmtNode [color="lightgreen",label="StmtNode"]; - L11C50_StmtLstNode -> L12C9_StmtNode; L12C9_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L12C9_StmtNode -> L12C9_AssignExprNode; + L11C50_StmtLstNode -> L12C9_AssignExprNode; L12C9_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L12C9_AssignExprNode -> L12C9_PrefixUnaryExprNode; L12C9_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -598,10 +588,8 @@ digraph { L12C29_ValueNode -> L12C29_LambdaProcNode; L12C33_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L12C29_LambdaProcNode -> L12C33_StmtLstNode; - L13C13_StmtNode [color="lightgreen",label="StmtNode"]; - L12C33_StmtLstNode -> L13C13_StmtNode; L13C13_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L13C13_StmtNode -> L13C13_DeclStmtNode; + L12C33_StmtLstNode -> L13C13_DeclStmtNode; L13C13_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L13C13_DeclStmtNode -> L13C13_DataTypeNode; L13C13_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -678,10 +666,8 @@ digraph { L13C27_PostfixUnaryExprNode -> L13C27_AtomicExprNode; L13C27_ConstantNode [color="lightgreen",label="ConstantNode"]; L13C27_AtomicExprNode -> L13C27_ConstantNode; - L14C13_StmtNode [color="lightgreen",label="StmtNode"]; - L12C33_StmtLstNode -> L14C13_StmtNode; L14C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L14C13_StmtNode -> L14C13_AssignExprNode; + L12C33_StmtLstNode -> L14C13_AssignExprNode; L14C13_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L14C13_AssignExprNode -> L14C13_TernaryExprNode; L14C13_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -746,10 +732,8 @@ digraph { L14C57_PrefixUnaryExprNode -> L14C57_PostfixUnaryExprNode; L14C57_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L14C57_PostfixUnaryExprNode -> L14C57_AtomicExprNode; - L16C9_StmtNode [color="lightgreen",label="StmtNode"]; - L11C50_StmtLstNode -> L16C9_StmtNode; L16C9_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L16C9_StmtNode -> L16C9_DeclStmtNode; + L11C50_StmtLstNode -> L16C9_DeclStmtNode; L16C9_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L16C9_DeclStmtNode -> L16C9_DataTypeNode; L16C9_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -822,10 +806,8 @@ digraph { L16C34_PrefixUnaryExprNode -> L16C34_PostfixUnaryExprNode; L16C34_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L16C34_PostfixUnaryExprNode -> L16C34_AtomicExprNode; - L17C9_StmtNode [color="lightgreen",label="StmtNode"]; - L11C50_StmtLstNode -> L17C9_StmtNode; L17C9_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L17C9_StmtNode -> L17C9_AssignExprNode; + L11C50_StmtLstNode -> L17C9_AssignExprNode; L17C9_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L17C9_AssignExprNode -> L17C9_TernaryExprNode; L17C9_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -860,10 +842,8 @@ digraph { L17C9_AtomicExprNode -> L17C9_ValueNode; L17C9_FctCallNode [color="lightgreen",label="FctCallNode"]; L17C9_ValueNode -> L17C9_FctCallNode; - L19C5_StmtNode [color="lightgreen",label="StmtNode"]; - L8C15_StmtLstNode -> L19C5_StmtNode; L19C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L19C5_StmtNode -> L19C5_AssignExprNode; + L8C15_StmtLstNode -> L19C5_AssignExprNode; L19C5_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L19C5_AssignExprNode -> L19C5_TernaryExprNode; L19C5_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -1024,10 +1004,8 @@ digraph { L20C46_PostfixUnaryExprNode -> L20C46_AtomicExprNode; L20C50_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L20C5_ForLoopNode -> L20C50_StmtLstNode; - L21C9_StmtNode [color="lightgreen",label="StmtNode"]; - L20C50_StmtLstNode -> L21C9_StmtNode; L21C9_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L21C9_StmtNode -> L21C9_DeclStmtNode; + L20C50_StmtLstNode -> L21C9_DeclStmtNode; L21C9_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L21C9_DeclStmtNode -> L21C9_DataTypeNode; L21C9_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -1100,10 +1078,8 @@ digraph { L21C34_PrefixUnaryExprNode -> L21C34_PostfixUnaryExprNode; L21C34_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L21C34_PostfixUnaryExprNode -> L21C34_AtomicExprNode; - L22C9_StmtNode [color="lightgreen",label="StmtNode"]; - L20C50_StmtLstNode -> L22C9_StmtNode; L22C9_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L22C9_StmtNode -> L22C9_AssignExprNode; + L20C50_StmtLstNode -> L22C9_AssignExprNode; L22C9_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L22C9_AssignExprNode -> L22C9_TernaryExprNode; L22C9_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -1138,10 +1114,8 @@ digraph { L22C9_AtomicExprNode -> L22C9_ValueNode; L22C9_FctCallNode [color="lightgreen",label="FctCallNode"]; L22C9_ValueNode -> L22C9_FctCallNode; - L24C5_StmtNode [color="lightgreen",label="StmtNode"]; - L8C15_StmtLstNode -> L24C5_StmtNode; L24C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L24C5_StmtNode -> L24C5_AssignExprNode; + L8C15_StmtLstNode -> L24C5_AssignExprNode; L24C5_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L24C5_AssignExprNode -> L24C5_TernaryExprNode; L24C5_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; diff --git a/test/test-files/benchmark/success-fibonacci/syntax-tree.dot b/test/test-files/benchmark/success-fibonacci/syntax-tree.dot index 7652e9f10..878e1c9e2 100644 --- a/test/test-files/benchmark/success-fibonacci/syntax-tree.dot +++ b/test/test-files/benchmark/success-fibonacci/syntax-tree.dot @@ -72,10 +72,8 @@ digraph { L2C13_AtomicExprNode -> L2C13_ConstantNode; L2C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L2C5_IfStmtNode -> L2C15_StmtLstNode; - L2C17_StmtNode [color="lightgreen",label="StmtNode"]; - L2C15_StmtLstNode -> L2C17_StmtNode; L2C17_ReturnStmtNode [color="lightgreen",label="ReturnStmtNode"]; - L2C17_StmtNode -> L2C17_ReturnStmtNode; + L2C15_StmtLstNode -> L2C17_ReturnStmtNode; L2C24_AssignExprNode [color="lightgreen",label="AssignExprNode"]; L2C17_ReturnStmtNode -> L2C24_AssignExprNode; L2C24_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; @@ -108,10 +106,8 @@ digraph { L2C24_PrefixUnaryExprNode -> L2C24_PostfixUnaryExprNode; L2C24_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L2C24_PostfixUnaryExprNode -> L2C24_AtomicExprNode; - L3C5_StmtNode [color="lightgreen",label="StmtNode"]; - L1C20_StmtLstNode -> L3C5_StmtNode; L3C5_ReturnStmtNode [color="lightgreen",label="ReturnStmtNode"]; - L3C5_StmtNode -> L3C5_ReturnStmtNode; + L1C20_StmtLstNode -> L3C5_ReturnStmtNode; L3C12_AssignExprNode [color="lightgreen",label="AssignExprNode"]; L3C5_ReturnStmtNode -> L3C12_AssignExprNode; L3C12_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; @@ -258,10 +254,8 @@ digraph { L1C1_EntryNode -> L6C1_MainFctDefNode; L6C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L6C1_MainFctDefNode -> L6C15_StmtLstNode; - L7C5_StmtNode [color="lightgreen",label="StmtNode"]; - L6C15_StmtLstNode -> L7C5_StmtNode; L7C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L7C5_StmtNode -> L7C5_AssignExprNode; + L6C15_StmtLstNode -> L7C5_AssignExprNode; L7C5_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L7C5_AssignExprNode -> L7C5_TernaryExprNode; L7C5_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; diff --git a/test/test-files/benchmark/success-hello-world/syntax-tree.dot b/test/test-files/benchmark/success-hello-world/syntax-tree.dot index 62694616d..bbe753637 100644 --- a/test/test-files/benchmark/success-hello-world/syntax-tree.dot +++ b/test/test-files/benchmark/success-hello-world/syntax-tree.dot @@ -6,10 +6,8 @@ digraph { L1C1_EntryNode -> L1C1_MainFctDefNode; L1C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L1C1_MainFctDefNode -> L1C15_StmtLstNode; - L2C5_StmtNode [color="lightgreen",label="StmtNode"]; - L1C15_StmtLstNode -> L2C5_StmtNode; L2C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L2C5_StmtNode -> L2C5_AssignExprNode; + L1C15_StmtLstNode -> L2C5_AssignExprNode; L2C5_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L2C5_AssignExprNode -> L2C5_TernaryExprNode; L2C5_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; diff --git a/test/test-files/benchmark/success-hello-world2/syntax-tree.dot b/test/test-files/benchmark/success-hello-world2/syntax-tree.dot index 6eaf85fda..e8ef49a14 100644 --- a/test/test-files/benchmark/success-hello-world2/syntax-tree.dot +++ b/test/test-files/benchmark/success-hello-world2/syntax-tree.dot @@ -6,10 +6,8 @@ digraph { L3C1_EntryNode -> L3C1_MainFctDefNode; L3C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L3C1_MainFctDefNode -> L3C15_StmtLstNode; - L4C5_StmtNode [color="lightgreen",label="StmtNode"]; - L3C15_StmtLstNode -> L4C5_StmtNode; L4C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L4C5_StmtNode -> L4C5_DeclStmtNode; + L3C15_StmtLstNode -> L4C5_DeclStmtNode; L4C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L4C5_DeclStmtNode -> L4C5_DataTypeNode; L4C5_SpecifierLstNode [color="lightgreen",label="SpecifierLstNode"]; @@ -104,10 +102,8 @@ digraph { L5C16_AtomicExprNode -> L5C16_ConstantNode; L5C18_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L5C5_WhileLoopNode -> L5C18_StmtLstNode; - L6C9_StmtNode [color="lightgreen",label="StmtNode"]; - L5C18_StmtLstNode -> L6C9_StmtNode; L6C9_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L6C9_StmtNode -> L6C9_AssignExprNode; + L5C18_StmtLstNode -> L6C9_AssignExprNode; L6C9_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L6C9_AssignExprNode -> L6C9_TernaryExprNode; L6C9_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; diff --git a/test/test-files/benchmark/success-pidigits/syntax-tree.dot b/test/test-files/benchmark/success-pidigits/syntax-tree.dot index 15df16c30..d08c5d452 100644 --- a/test/test-files/benchmark/success-pidigits/syntax-tree.dot +++ b/test/test-files/benchmark/success-pidigits/syntax-tree.dot @@ -6,10 +6,8 @@ digraph { L4C1_EntryNode -> L4C1_MainFctDefNode; L4C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L4C1_MainFctDefNode -> L4C15_StmtLstNode; - L5C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L5C5_StmtNode; L5C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L5C5_StmtNode -> L5C5_DeclStmtNode; + L4C15_StmtLstNode -> L5C5_DeclStmtNode; L5C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L5C5_DeclStmtNode -> L5C5_DataTypeNode; L5C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -48,18 +46,14 @@ digraph { L5C14_PostfixUnaryExprNode -> L5C14_AtomicExprNode; L5C14_ConstantNode [color="lightgreen",label="ConstantNode"]; L5C14_AtomicExprNode -> L5C14_ConstantNode; - L6C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L6C5_StmtNode; L6C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L6C5_StmtNode -> L6C5_DeclStmtNode; + L4C15_StmtLstNode -> L6C5_DeclStmtNode; L6C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L6C5_DeclStmtNode -> L6C5_DataTypeNode; L6C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; L6C5_DataTypeNode -> L6C5_BaseDataTypeNode; - L7C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L7C5_StmtNode; L7C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L7C5_StmtNode -> L7C5_DeclStmtNode; + L4C15_StmtLstNode -> L7C5_DeclStmtNode; L7C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L7C5_DeclStmtNode -> L7C5_DataTypeNode; L7C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -98,18 +92,14 @@ digraph { L7C14_PostfixUnaryExprNode -> L7C14_AtomicExprNode; L7C14_ConstantNode [color="lightgreen",label="ConstantNode"]; L7C14_AtomicExprNode -> L7C14_ConstantNode; - L8C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L8C5_StmtNode; L8C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L8C5_StmtNode -> L8C5_DeclStmtNode; + L4C15_StmtLstNode -> L8C5_DeclStmtNode; L8C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L8C5_DeclStmtNode -> L8C5_DataTypeNode; L8C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; L8C5_DataTypeNode -> L8C5_BaseDataTypeNode; - L9C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L9C5_StmtNode; L9C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L9C5_StmtNode -> L9C5_DeclStmtNode; + L4C15_StmtLstNode -> L9C5_DeclStmtNode; L9C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L9C5_DeclStmtNode -> L9C5_DataTypeNode; L9C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -148,18 +138,14 @@ digraph { L9C14_PostfixUnaryExprNode -> L9C14_AtomicExprNode; L9C14_ConstantNode [color="lightgreen",label="ConstantNode"]; L9C14_AtomicExprNode -> L9C14_ConstantNode; - L10C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L10C5_StmtNode; L10C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L10C5_StmtNode -> L10C5_DeclStmtNode; + L4C15_StmtLstNode -> L10C5_DeclStmtNode; L10C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L10C5_DeclStmtNode -> L10C5_DataTypeNode; L10C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; L10C5_DataTypeNode -> L10C5_BaseDataTypeNode; - L11C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L11C5_StmtNode; L11C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L11C5_StmtNode -> L11C5_DeclStmtNode; + L4C15_StmtLstNode -> L11C5_DeclStmtNode; L11C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L11C5_DeclStmtNode -> L11C5_DataTypeNode; L11C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -198,18 +184,14 @@ digraph { L11C14_PostfixUnaryExprNode -> L11C14_AtomicExprNode; L11C14_ConstantNode [color="lightgreen",label="ConstantNode"]; L11C14_AtomicExprNode -> L11C14_ConstantNode; - L12C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L12C5_StmtNode; L12C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L12C5_StmtNode -> L12C5_DeclStmtNode; + L4C15_StmtLstNode -> L12C5_DeclStmtNode; L12C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L12C5_DeclStmtNode -> L12C5_DataTypeNode; L12C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; L12C5_DataTypeNode -> L12C5_BaseDataTypeNode; - L13C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L13C5_StmtNode; L13C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L13C5_StmtNode -> L13C5_DeclStmtNode; + L4C15_StmtLstNode -> L13C5_DeclStmtNode; L13C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L13C5_DeclStmtNode -> L13C5_DataTypeNode; L13C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -248,10 +230,8 @@ digraph { L13C14_PostfixUnaryExprNode -> L13C14_AtomicExprNode; L13C14_ConstantNode [color="lightgreen",label="ConstantNode"]; L13C14_AtomicExprNode -> L13C14_ConstantNode; - L14C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L14C5_StmtNode; L14C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L14C5_StmtNode -> L14C5_DeclStmtNode; + L4C15_StmtLstNode -> L14C5_DeclStmtNode; L14C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L14C5_DeclStmtNode -> L14C5_DataTypeNode; L14C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -290,10 +270,8 @@ digraph { L14C14_PostfixUnaryExprNode -> L14C14_AtomicExprNode; L14C14_ConstantNode [color="lightgreen",label="ConstantNode"]; L14C14_AtomicExprNode -> L14C14_ConstantNode; - L16C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L16C5_StmtNode; L16C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L16C5_StmtNode -> L16C5_DeclStmtNode; + L4C15_StmtLstNode -> L16C5_DeclStmtNode; L16C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L16C5_DeclStmtNode -> L16C5_DataTypeNode; L16C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -332,10 +310,8 @@ digraph { L16C22_PostfixUnaryExprNode -> L16C22_AtomicExprNode; L16C22_ConstantNode [color="lightgreen",label="ConstantNode"]; L16C22_AtomicExprNode -> L16C22_ConstantNode; - L17C5_StmtNode [color="lightgreen",label="StmtNode"]; - L4C15_StmtLstNode -> L17C5_StmtNode; L17C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L17C5_StmtNode -> L17C5_DeclStmtNode; + L4C15_StmtLstNode -> L17C5_DeclStmtNode; L17C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L17C5_DeclStmtNode -> L17C5_DataTypeNode; L17C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -586,10 +562,8 @@ digraph { L20C33_PostfixUnaryExprNode -> L20C33_AtomicExprNode; L20C35_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L20C9_IfStmtNode -> L20C35_StmtLstNode; - L21C13_StmtNode [color="lightgreen",label="StmtNode"]; - L20C35_StmtLstNode -> L21C13_StmtNode; L21C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L21C13_StmtNode -> L21C13_AssignExprNode; + L20C35_StmtLstNode -> L21C13_AssignExprNode; L21C13_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L21C13_AssignExprNode -> L21C13_TernaryExprNode; L21C13_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -708,10 +682,8 @@ digraph { L22C33_AtomicExprNode -> L22C33_ConstantNode; L22C35_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L22C13_IfStmtNode -> L22C35_StmtLstNode; - L22C37_StmtNode [color="lightgreen",label="StmtNode"]; - L22C35_StmtLstNode -> L22C37_StmtNode; L22C37_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L22C37_StmtNode -> L22C37_AssignExprNode; + L22C35_StmtLstNode -> L22C37_AssignExprNode; L22C37_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L22C37_AssignExprNode -> L22C37_TernaryExprNode; L22C37_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -744,10 +716,8 @@ digraph { L22C37_PostfixUnaryExprNode -> L22C37_AtomicExprNode; L22C37_PrintfCallNode [color="lightgreen",label="PrintfCallNode"]; L22C37_AtomicExprNode -> L22C37_PrintfCallNode; - L23C13_StmtNode [color="lightgreen",label="StmtNode"]; - L20C35_StmtLstNode -> L23C13_StmtNode; L23C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L23C13_StmtNode -> L23C13_AssignExprNode; + L20C35_StmtLstNode -> L23C13_AssignExprNode; L23C13_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L23C13_AssignExprNode -> L23C13_TernaryExprNode; L23C13_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -780,10 +750,8 @@ digraph { L23C13_PostfixUnaryExprNode -> L23C13_PostfixUnaryExprNode; L23C13_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L23C13_PostfixUnaryExprNode -> L23C13_AtomicExprNode; - L24C13_StmtNode [color="lightgreen",label="StmtNode"]; - L20C35_StmtLstNode -> L24C13_StmtNode; L24C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L24C13_StmtNode -> L24C13_AssignExprNode; + L20C35_StmtLstNode -> L24C13_AssignExprNode; L24C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L24C13_AssignExprNode -> L24C13_PrefixUnaryExprNode; L24C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -832,10 +800,8 @@ digraph { L24C27_PrefixUnaryExprNode -> L24C27_PostfixUnaryExprNode; L24C27_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L24C27_PostfixUnaryExprNode -> L24C27_AtomicExprNode; - L25C13_StmtNode [color="lightgreen",label="StmtNode"]; - L20C35_StmtLstNode -> L25C13_StmtNode; L25C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L25C13_StmtNode -> L25C13_AssignExprNode; + L20C35_StmtLstNode -> L25C13_AssignExprNode; L25C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L25C13_AssignExprNode -> L25C13_PrefixUnaryExprNode; L25C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -934,10 +900,8 @@ digraph { L25C36_PrefixUnaryExprNode -> L25C36_PostfixUnaryExprNode; L25C36_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L25C36_PostfixUnaryExprNode -> L25C36_AtomicExprNode; - L26C13_StmtNode [color="lightgreen",label="StmtNode"]; - L20C35_StmtLstNode -> L26C13_StmtNode; L26C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L26C13_StmtNode -> L26C13_AssignExprNode; + L20C35_StmtLstNode -> L26C13_AssignExprNode; L26C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L26C13_AssignExprNode -> L26C13_PrefixUnaryExprNode; L26C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1098,10 +1062,8 @@ digraph { L26C50_PrefixUnaryExprNode -> L26C50_PostfixUnaryExprNode; L26C50_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L26C50_PostfixUnaryExprNode -> L26C50_AtomicExprNode; - L27C13_StmtNode [color="lightgreen",label="StmtNode"]; - L20C35_StmtLstNode -> L27C13_StmtNode; L27C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L27C13_StmtNode -> L27C13_AssignExprNode; + L20C35_StmtLstNode -> L27C13_AssignExprNode; L27C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L27C13_AssignExprNode -> L27C13_PrefixUnaryExprNode; L27C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1140,10 +1102,8 @@ digraph { L27C17_PrefixUnaryExprNode -> L27C17_PostfixUnaryExprNode; L27C17_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L27C17_PostfixUnaryExprNode -> L27C17_AtomicExprNode; - L28C13_StmtNode [color="lightgreen",label="StmtNode"]; - L20C35_StmtLstNode -> L28C13_StmtNode; L28C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L28C13_StmtNode -> L28C13_AssignExprNode; + L20C35_StmtLstNode -> L28C13_AssignExprNode; L28C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L28C13_AssignExprNode -> L28C13_PrefixUnaryExprNode; L28C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1186,10 +1146,8 @@ digraph { L20C9_IfStmtNode -> L29C11_ElseStmtNode; L29C16_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L29C11_ElseStmtNode -> L29C16_StmtLstNode; - L30C13_StmtNode [color="lightgreen",label="StmtNode"]; - L29C16_StmtLstNode -> L30C13_StmtNode; L30C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L30C13_StmtNode -> L30C13_AssignExprNode; + L29C16_StmtLstNode -> L30C13_AssignExprNode; L30C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L30C13_AssignExprNode -> L30C13_PrefixUnaryExprNode; L30C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1236,10 +1194,8 @@ digraph { L30C25_PrefixUnaryExprNode -> L30C25_PostfixUnaryExprNode; L30C25_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L30C25_PostfixUnaryExprNode -> L30C25_AtomicExprNode; - L31C13_StmtNode [color="lightgreen",label="StmtNode"]; - L29C16_StmtLstNode -> L31C13_StmtNode; L31C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L31C13_StmtNode -> L31C13_AssignExprNode; + L29C16_StmtLstNode -> L31C13_AssignExprNode; L31C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L31C13_AssignExprNode -> L31C13_PrefixUnaryExprNode; L31C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1338,10 +1294,8 @@ digraph { L31C36_PrefixUnaryExprNode -> L31C36_PostfixUnaryExprNode; L31C36_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L31C36_PostfixUnaryExprNode -> L31C36_AtomicExprNode; - L32C13_StmtNode [color="lightgreen",label="StmtNode"]; - L29C16_StmtLstNode -> L32C13_StmtNode; L32C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L32C13_StmtNode -> L32C13_AssignExprNode; + L29C16_StmtLstNode -> L32C13_AssignExprNode; L32C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L32C13_AssignExprNode -> L32C13_PrefixUnaryExprNode; L32C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1388,10 +1342,8 @@ digraph { L32C25_PrefixUnaryExprNode -> L32C25_PostfixUnaryExprNode; L32C25_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L32C25_PostfixUnaryExprNode -> L32C25_AtomicExprNode; - L33C13_StmtNode [color="lightgreen",label="StmtNode"]; - L29C16_StmtLstNode -> L33C13_StmtNode; L33C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L33C13_StmtNode -> L33C13_AssignExprNode; + L29C16_StmtLstNode -> L33C13_AssignExprNode; L33C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L33C13_AssignExprNode -> L33C13_PrefixUnaryExprNode; L33C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1442,10 +1394,8 @@ digraph { L33C25_PostfixUnaryExprNode -> L33C25_AtomicExprNode; L33C25_ConstantNode [color="lightgreen",label="ConstantNode"]; L33C25_AtomicExprNode -> L33C25_ConstantNode; - L34C13_StmtNode [color="lightgreen",label="StmtNode"]; - L29C16_StmtLstNode -> L34C13_StmtNode; L34C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L34C13_StmtNode -> L34C13_AssignExprNode; + L29C16_StmtLstNode -> L34C13_AssignExprNode; L34C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L34C13_AssignExprNode -> L34C13_PrefixUnaryExprNode; L34C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1644,10 +1594,8 @@ digraph { L34C52_PrefixUnaryExprNode -> L34C52_PostfixUnaryExprNode; L34C52_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L34C52_PostfixUnaryExprNode -> L34C52_AtomicExprNode; - L35C13_StmtNode [color="lightgreen",label="StmtNode"]; - L29C16_StmtLstNode -> L35C13_StmtNode; L35C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L35C13_StmtNode -> L35C13_AssignExprNode; + L29C16_StmtLstNode -> L35C13_AssignExprNode; L35C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L35C13_AssignExprNode -> L35C13_PrefixUnaryExprNode; L35C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1688,10 +1636,8 @@ digraph { L35C18_PostfixUnaryExprNode -> L35C18_AtomicExprNode; L35C18_ConstantNode [color="lightgreen",label="ConstantNode"]; L35C18_AtomicExprNode -> L35C18_ConstantNode; - L36C13_StmtNode [color="lightgreen",label="StmtNode"]; - L29C16_StmtLstNode -> L36C13_StmtNode; L36C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L36C13_StmtNode -> L36C13_AssignExprNode; + L29C16_StmtLstNode -> L36C13_AssignExprNode; L36C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L36C13_AssignExprNode -> L36C13_PrefixUnaryExprNode; L36C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1730,10 +1676,8 @@ digraph { L36C17_PrefixUnaryExprNode -> L36C17_PostfixUnaryExprNode; L36C17_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L36C17_PostfixUnaryExprNode -> L36C17_AtomicExprNode; - L37C13_StmtNode [color="lightgreen",label="StmtNode"]; - L29C16_StmtLstNode -> L37C13_StmtNode; L37C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L37C13_StmtNode -> L37C13_AssignExprNode; + L29C16_StmtLstNode -> L37C13_AssignExprNode; L37C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L37C13_AssignExprNode -> L37C13_PrefixUnaryExprNode; L37C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1772,10 +1716,8 @@ digraph { L37C17_PrefixUnaryExprNode -> L37C17_PostfixUnaryExprNode; L37C17_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L37C17_PostfixUnaryExprNode -> L37C17_AtomicExprNode; - L38C13_StmtNode [color="lightgreen",label="StmtNode"]; - L29C16_StmtLstNode -> L38C13_StmtNode; L38C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L38C13_StmtNode -> L38C13_AssignExprNode; + L29C16_StmtLstNode -> L38C13_AssignExprNode; L38C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L38C13_AssignExprNode -> L38C13_PrefixUnaryExprNode; L38C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; @@ -1814,10 +1756,8 @@ digraph { L38C17_PrefixUnaryExprNode -> L38C17_PostfixUnaryExprNode; L38C17_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L38C17_PostfixUnaryExprNode -> L38C17_AtomicExprNode; - L39C13_StmtNode [color="lightgreen",label="StmtNode"]; - L29C16_StmtLstNode -> L39C13_StmtNode; L39C13_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L39C13_StmtNode -> L39C13_AssignExprNode; + L29C16_StmtLstNode -> L39C13_AssignExprNode; L39C13_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L39C13_AssignExprNode -> L39C13_PrefixUnaryExprNode; L39C13_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"]; diff --git a/test/test-files/typechecker/functions/success-function-overloading/syntax-tree.dot b/test/test-files/typechecker/functions/success-function-overloading/syntax-tree.dot index fc0cfd085..c628c72f8 100644 --- a/test/test-files/typechecker/functions/success-function-overloading/syntax-tree.dot +++ b/test/test-files/typechecker/functions/success-function-overloading/syntax-tree.dot @@ -60,10 +60,8 @@ digraph { L1C62_AtomicExprNode -> L1C62_ConstantNode; L1C68_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L1C1_FctDefNode -> L1C68_StmtLstNode; - L2C5_StmtNode [color="lightgreen",label="StmtNode"]; - L1C68_StmtLstNode -> L2C5_StmtNode; L2C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L2C5_StmtNode -> L2C5_AssignExprNode; + L1C68_StmtLstNode -> L2C5_AssignExprNode; L2C5_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L2C5_AssignExprNode -> L2C5_TernaryExprNode; L2C5_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -128,10 +126,8 @@ digraph { L2C31_PrefixUnaryExprNode -> L2C31_PostfixUnaryExprNode; L2C31_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L2C31_PostfixUnaryExprNode -> L2C31_AtomicExprNode; - L3C5_StmtNode [color="lightgreen",label="StmtNode"]; - L1C68_StmtLstNode -> L3C5_StmtNode; L3C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L3C5_StmtNode -> L3C5_AssignExprNode; + L1C68_StmtLstNode -> L3C5_AssignExprNode; L3C5_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L3C5_AssignExprNode -> L3C5_TernaryExprNode; L3C5_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -196,10 +192,8 @@ digraph { L3C30_PrefixUnaryExprNode -> L3C30_PostfixUnaryExprNode; L3C30_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L3C30_PostfixUnaryExprNode -> L3C30_AtomicExprNode; - L4C5_StmtNode [color="lightgreen",label="StmtNode"]; - L1C68_StmtLstNode -> L4C5_StmtNode; L4C5_ReturnStmtNode [color="lightgreen",label="ReturnStmtNode"]; - L4C5_StmtNode -> L4C5_ReturnStmtNode; + L1C68_StmtLstNode -> L4C5_ReturnStmtNode; L4C12_AssignExprNode [color="lightgreen",label="AssignExprNode"]; L4C5_ReturnStmtNode -> L4C12_AssignExprNode; L4C12_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; @@ -252,10 +246,8 @@ digraph { L7C26_DataTypeNode -> L7C26_BaseDataTypeNode; L7C45_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L7C1_FctDefNode -> L7C45_StmtLstNode; - L8C5_StmtNode [color="lightgreen",label="StmtNode"]; - L7C45_StmtLstNode -> L8C5_StmtNode; L8C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L8C5_StmtNode -> L8C5_AssignExprNode; + L7C45_StmtLstNode -> L8C5_AssignExprNode; L8C5_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L8C5_AssignExprNode -> L8C5_TernaryExprNode; L8C5_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -320,10 +312,8 @@ digraph { L8C26_PrefixUnaryExprNode -> L8C26_PostfixUnaryExprNode; L8C26_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L8C26_PostfixUnaryExprNode -> L8C26_AtomicExprNode; - L9C5_StmtNode [color="lightgreen",label="StmtNode"]; - L7C45_StmtLstNode -> L9C5_StmtNode; L9C5_ReturnStmtNode [color="lightgreen",label="ReturnStmtNode"]; - L9C5_StmtNode -> L9C5_ReturnStmtNode; + L7C45_StmtLstNode -> L9C5_ReturnStmtNode; L9C12_AssignExprNode [color="lightgreen",label="AssignExprNode"]; L9C5_ReturnStmtNode -> L9C12_AssignExprNode; L9C12_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; @@ -362,10 +352,8 @@ digraph { L1C1_EntryNode -> L12C1_MainFctDefNode; L12C15_StmtLstNode [color="lightgreen",label="StmtLstNode"]; L12C1_MainFctDefNode -> L12C15_StmtLstNode; - L13C5_StmtNode [color="lightgreen",label="StmtNode"]; - L12C15_StmtLstNode -> L13C5_StmtNode; L13C5_DeclStmtNode [color="lightgreen",label="DeclStmtNode"]; - L13C5_StmtNode -> L13C5_DeclStmtNode; + L12C15_StmtLstNode -> L13C5_DeclStmtNode; L13C5_DataTypeNode [color="lightgreen",label="DataTypeNode"]; L13C5_DeclStmtNode -> L13C5_DataTypeNode; L13C5_BaseDataTypeNode [color="lightgreen",label="BaseDataTypeNode"]; @@ -476,10 +464,8 @@ digraph { L13C33_PostfixUnaryExprNode -> L13C33_AtomicExprNode; L13C33_ConstantNode [color="lightgreen",label="ConstantNode"]; L13C33_AtomicExprNode -> L13C33_ConstantNode; - L14C5_StmtNode [color="lightgreen",label="StmtNode"]; - L12C15_StmtLstNode -> L14C5_StmtNode; L14C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L14C5_StmtNode -> L14C5_AssignExprNode; + L12C15_StmtLstNode -> L14C5_AssignExprNode; L14C5_TernaryExprNode [color="lightgreen",label="TernaryExprNode"]; L14C5_AssignExprNode -> L14C5_TernaryExprNode; L14C5_LogicalOrExprNode [color="lightgreen",label="LogicalOrExprNode"]; @@ -544,10 +530,8 @@ digraph { L14C28_PrefixUnaryExprNode -> L14C28_PostfixUnaryExprNode; L14C28_AtomicExprNode [color="lightgreen",label="AtomicExprNode"]; L14C28_PostfixUnaryExprNode -> L14C28_AtomicExprNode; - L15C5_StmtNode [color="lightgreen",label="StmtNode"]; - L12C15_StmtLstNode -> L15C5_StmtNode; L15C5_AssignExprNode [color="lightgreen",label="AssignExprNode"]; - L15C5_StmtNode -> L15C5_AssignExprNode; + L12C15_StmtLstNode -> L15C5_AssignExprNode; L15C5_PrefixUnaryExprNode [color="lightgreen",label="PrefixUnaryExprNode"]; L15C5_AssignExprNode -> L15C5_PrefixUnaryExprNode; L15C5_PostfixUnaryExprNode [color="lightgreen",label="PostfixUnaryExprNode"];