diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/AnalyzerRegistry.java b/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/AnalyzerRegistry.java index 5462dba..67e425f 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/AnalyzerRegistry.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/AnalyzerRegistry.java @@ -2,8 +2,6 @@ package org.jcnc.snow.compiler.semantic.analyzers; import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode; import org.jcnc.snow.compiler.parser.ast.base.StatementNode; -import org.jcnc.snow.compiler.semantic.ExpressionAnalyzer; -import org.jcnc.snow.compiler.semantic.StatementAnalyzer; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/ExpressionAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/ExpressionAnalyzer.java similarity index 56% rename from src/main/java/org/jcnc/snow/compiler/semantic/ExpressionAnalyzer.java rename to src/main/java/org/jcnc/snow/compiler/semantic/analyzers/ExpressionAnalyzer.java index e365562..231da5a 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/ExpressionAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/ExpressionAnalyzer.java @@ -1,7 +1,11 @@ -package org.jcnc.snow.compiler.semantic; +package org.jcnc.snow.compiler.semantic.analyzers; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode; +import org.jcnc.snow.compiler.semantic.Context; +import org.jcnc.snow.compiler.semantic.ModuleInfo; +import org.jcnc.snow.compiler.semantic.SymbolTable; +import org.jcnc.snow.compiler.semantic.Type; /** * 表达式分析器接口。 diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/StatementAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/StatementAnalyzer.java similarity index 60% rename from src/main/java/org/jcnc/snow/compiler/semantic/StatementAnalyzer.java rename to src/main/java/org/jcnc/snow/compiler/semantic/analyzers/StatementAnalyzer.java index 08d61a9..9ae9af7 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/StatementAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/StatementAnalyzer.java @@ -1,7 +1,10 @@ -package org.jcnc.snow.compiler.semantic; +package org.jcnc.snow.compiler.semantic.analyzers; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.parser.ast.base.StatementNode; +import org.jcnc.snow.compiler.semantic.Context; +import org.jcnc.snow.compiler.semantic.ModuleInfo; +import org.jcnc.snow.compiler.semantic.SymbolTable; /** * 语句分析器接口。 diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/expression/BinaryExpressionAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/expression/BinaryExpressionAnalyzer.java index 0af3cdf..de3725b 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/expression/BinaryExpressionAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/expression/BinaryExpressionAnalyzer.java @@ -3,6 +3,7 @@ package org.jcnc.snow.compiler.semantic.expression; import org.jcnc.snow.compiler.parser.ast.BinaryExpressionNode; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.ExpressionAnalyzer; public class BinaryExpressionAnalyzer implements ExpressionAnalyzer { @Override diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/expression/CallExpressionAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/expression/CallExpressionAnalyzer.java index 22ef857..63c1f1a 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/expression/CallExpressionAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/expression/CallExpressionAnalyzer.java @@ -6,6 +6,7 @@ import org.jcnc.snow.compiler.parser.ast.IdentifierNode; import org.jcnc.snow.compiler.parser.ast.MemberExpressionNode; import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.ExpressionAnalyzer; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/expression/IdentifierAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/expression/IdentifierAnalyzer.java index 36a9322..82169d3 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/expression/IdentifierAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/expression/IdentifierAnalyzer.java @@ -3,6 +3,7 @@ package org.jcnc.snow.compiler.semantic.expression; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.parser.ast.IdentifierNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.ExpressionAnalyzer; public class IdentifierAnalyzer implements ExpressionAnalyzer { @Override diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/expression/NumberLiteralAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/expression/NumberLiteralAnalyzer.java index 141e1d7..787ea77 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/expression/NumberLiteralAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/expression/NumberLiteralAnalyzer.java @@ -3,6 +3,7 @@ package org.jcnc.snow.compiler.semantic.expression; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.parser.ast.NumberLiteralNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.ExpressionAnalyzer; public class NumberLiteralAnalyzer implements ExpressionAnalyzer { @Override diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/expression/StringLiteralAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/expression/StringLiteralAnalyzer.java index 60b307d..b0c4de3 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/expression/StringLiteralAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/expression/StringLiteralAnalyzer.java @@ -3,6 +3,7 @@ package org.jcnc.snow.compiler.semantic.expression; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.parser.ast.StringLiteralNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.ExpressionAnalyzer; public class StringLiteralAnalyzer implements ExpressionAnalyzer { @Override diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/expression/UnsupportedExpressionAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/expression/UnsupportedExpressionAnalyzer.java index e58e74b..4f5ab9f 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/expression/UnsupportedExpressionAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/expression/UnsupportedExpressionAnalyzer.java @@ -3,6 +3,7 @@ package org.jcnc.snow.compiler.semantic.expression; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.ExpressionAnalyzer; // 之前:implements ExpressionAnalyzer public class UnsupportedExpressionAnalyzer diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/statement/AssignmentAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/statement/AssignmentAnalyzer.java index 2084205..579f804 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/statement/AssignmentAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/statement/AssignmentAnalyzer.java @@ -3,6 +3,7 @@ package org.jcnc.snow.compiler.semantic.statement; import org.jcnc.snow.compiler.parser.ast.AssignmentNode; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.StatementAnalyzer; import org.jcnc.snow.compiler.semantic.expression.SemanticError; public class AssignmentAnalyzer implements StatementAnalyzer { diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/statement/DeclarationAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/statement/DeclarationAnalyzer.java index ebc266a..d68b328 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/statement/DeclarationAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/statement/DeclarationAnalyzer.java @@ -3,6 +3,7 @@ package org.jcnc.snow.compiler.semantic.statement; import org.jcnc.snow.compiler.parser.ast.DeclarationNode; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.StatementAnalyzer; import org.jcnc.snow.compiler.semantic.expression.SemanticError; public class DeclarationAnalyzer implements StatementAnalyzer { diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/statement/IfAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/statement/IfAnalyzer.java index 77af7ef..32b1ce6 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/statement/IfAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/statement/IfAnalyzer.java @@ -3,6 +3,7 @@ package org.jcnc.snow.compiler.semantic.statement; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.parser.ast.IfNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.StatementAnalyzer; import org.jcnc.snow.compiler.semantic.expression.SemanticError; public class IfAnalyzer implements StatementAnalyzer { diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/statement/LoopAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/statement/LoopAnalyzer.java index 5c4f328..4567fb2 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/statement/LoopAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/statement/LoopAnalyzer.java @@ -3,6 +3,7 @@ package org.jcnc.snow.compiler.semantic.statement; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.parser.ast.LoopNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.StatementAnalyzer; import org.jcnc.snow.compiler.semantic.expression.SemanticError; public class LoopAnalyzer implements StatementAnalyzer { diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/statement/ReturnAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/statement/ReturnAnalyzer.java index 8d0bed2..f9ed1e4 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/statement/ReturnAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/statement/ReturnAnalyzer.java @@ -3,6 +3,7 @@ package org.jcnc.snow.compiler.semantic.statement; import org.jcnc.snow.compiler.parser.ast.FunctionNode; import org.jcnc.snow.compiler.parser.ast.ReturnNode; import org.jcnc.snow.compiler.semantic.*; +import org.jcnc.snow.compiler.semantic.analyzers.StatementAnalyzer; import org.jcnc.snow.compiler.semantic.expression.SemanticError; public class ReturnAnalyzer implements StatementAnalyzer {