修改项目结构
This commit is contained in:
parent
60eaedb6b0
commit
f7219ea1fa
@ -5,7 +5,7 @@ import org.jcnc.snow.compiler.lexer.token.Token;
|
|||||||
import org.jcnc.snow.compiler.lexer.utils.TokenPrinter;
|
import org.jcnc.snow.compiler.lexer.utils.TokenPrinter;
|
||||||
import org.jcnc.snow.compiler.parser.ParserEngine;
|
import org.jcnc.snow.compiler.parser.ParserEngine;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.ast.Node;
|
import org.jcnc.snow.compiler.parser.ast.base.Node;
|
||||||
import org.jcnc.snow.compiler.parser.function.ASTPrinter;
|
import org.jcnc.snow.compiler.parser.function.ASTPrinter;
|
||||||
import org.jcnc.snow.compiler.parser.util.ASTJsonSerializer;
|
import org.jcnc.snow.compiler.parser.util.ASTJsonSerializer;
|
||||||
import org.jcnc.snow.compiler.parser.util.JsonFormatter;
|
import org.jcnc.snow.compiler.parser.util.JsonFormatter;
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import org.jcnc.snow.compiler.lexer.token.TokenType;
|
|||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.context.TokenStream;
|
import org.jcnc.snow.compiler.parser.context.TokenStream;
|
||||||
import org.jcnc.snow.compiler.parser.factory.TopLevelParserFactory;
|
import org.jcnc.snow.compiler.parser.factory.TopLevelParserFactory;
|
||||||
import org.jcnc.snow.compiler.parser.ast.Node;
|
import org.jcnc.snow.compiler.parser.ast.base.Node;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package org.jcnc.snow.compiler.parser;
|
package org.jcnc.snow.compiler.parser;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.parser.ast.Node;
|
import org.jcnc.snow.compiler.parser.ast.base.Node;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示赋值语句的 AST(抽象语法树)节点,例如 {@code x = expr}。
|
* 表示赋值语句的 AST(抽象语法树)节点,例如 {@code x = expr}。
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示二元运算表达式的 AST 节点,例如 {@code a + b}。
|
* 表示二元运算表达式的 AST 节点,例如 {@code a + b}。
|
||||||
* 该节点包含一个左操作数、一个操作符字符串和一个右操作数。
|
* 该节点包含一个左操作数、一个操作符字符串和一个右操作数。
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示一条独立的表达式语句,例如 {@code foo();} 或 {@code x = 1;}。
|
* 表示一条独立的表达式语句,例如 {@code foo();} 或 {@code x = 1;}。
|
||||||
* 该节点将一个表达式作为语句出现。
|
* 该节点将一个表达式作为语句出现。
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.Node;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示标识符的表达式节点,例如变量名 {@code x}、函数名 {@code foo} 等。
|
* 表示标识符的表达式节点,例如变量名 {@code x}、函数名 {@code foo} 等。
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.Node;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示 import 语句的 AST 节点。
|
* 表示 import 语句的 AST 节点。
|
||||||
* 该节点仅包含被导入模块的名称。
|
* 该节点仅包含被导入模块的名称。
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示成员访问的表达式节点,例如 {@code obj.prop}。
|
* 表示成员访问的表达式节点,例如 {@code obj.prop}。
|
||||||
* 包含一个对象表达式和成员名称。
|
* 包含一个对象表达式和成员名称。
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.Node;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.StringJoiner;
|
import java.util.StringJoiner;
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示数字字面量的表达式节点,例如 {@code 42} 或 {@code 3.14}。
|
* 表示数字字面量的表达式节点,例如 {@code 42} 或 {@code 3.14}。
|
||||||
* 该节点直接保存字面量的字符串形式,便于统一处理整数和浮点数。
|
* 该节点直接保存字面量的字符串形式,便于统一处理整数和浮点数。
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.Node;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示函数参数的 AST 节点,包含参数名称和类型。
|
* 表示函数参数的 AST 节点,包含参数名称和类型。
|
||||||
* 示例:在 {@code int add(int a, int b)} 中,{@code a:int} 和 {@code b:int} 都是参数节点。
|
* 示例:在 {@code int add(int a, int b)} 中,{@code a:int} 和 {@code b:int} 都是参数节点。
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast;
|
||||||
|
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示字符串字面量的表达式节点,例如 {@code "hello"}。
|
* 表示字符串字面量的表达式节点,例如 {@code "hello"}。
|
||||||
* 字面量值不包含引号,仅在打印时添加。
|
* 字面量值不包含引号,仅在打印时添加。
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast.base;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示抽象语法树中的表达式节点类型。
|
* 表示抽象语法树中的表达式节点类型。
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast.base;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 所有抽象语法树(AST)节点的标记接口。
|
* 所有抽象语法树(AST)节点的标记接口。
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.jcnc.snow.compiler.parser.ast;
|
package org.jcnc.snow.compiler.parser.ast.base;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表示语法树中的语句节点类型。
|
* 表示语法树中的语句节点类型。
|
||||||
@ -1,7 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.expression;
|
package org.jcnc.snow.compiler.parser.expression;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.parser.ast.BinaryExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.BinaryExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.lexer.token.Token;
|
import org.jcnc.snow.compiler.lexer.token.Token;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.expression;
|
package org.jcnc.snow.compiler.parser.expression;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.parser.ast.CallExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.CallExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package org.jcnc.snow.compiler.parser.expression;
|
package org.jcnc.snow.compiler.parser.expression;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.expression;
|
package org.jcnc.snow.compiler.parser.expression;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.Token;
|
import org.jcnc.snow.compiler.lexer.token.Token;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -2,7 +2,7 @@ package org.jcnc.snow.compiler.parser.expression;
|
|||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.Token;
|
import org.jcnc.snow.compiler.lexer.token.Token;
|
||||||
import org.jcnc.snow.compiler.parser.ast.IdentifierNode;
|
import org.jcnc.snow.compiler.parser.ast.IdentifierNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package org.jcnc.snow.compiler.parser.expression;
|
package org.jcnc.snow.compiler.parser.expression;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -2,7 +2,7 @@ package org.jcnc.snow.compiler.parser.expression;
|
|||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
||||||
import org.jcnc.snow.compiler.parser.ast.MemberExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.MemberExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.context.TokenStream;
|
import org.jcnc.snow.compiler.parser.context.TokenStream;
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ package org.jcnc.snow.compiler.parser.expression;
|
|||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.Token;
|
import org.jcnc.snow.compiler.lexer.token.Token;
|
||||||
import org.jcnc.snow.compiler.parser.ast.NumberLiteralNode;
|
import org.jcnc.snow.compiler.parser.ast.NumberLiteralNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -2,7 +2,7 @@ package org.jcnc.snow.compiler.parser.expression;
|
|||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.Token;
|
import org.jcnc.snow.compiler.lexer.token.Token;
|
||||||
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package org.jcnc.snow.compiler.parser.expression;
|
package org.jcnc.snow.compiler.parser.expression;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.lexer.token.Token;
|
import org.jcnc.snow.compiler.lexer.token.Token;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.expression;
|
package org.jcnc.snow.compiler.parser.expression;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.Token;
|
import org.jcnc.snow.compiler.lexer.token.Token;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.StringLiteralNode;
|
import org.jcnc.snow.compiler.parser.ast.StringLiteralNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
package org.jcnc.snow.compiler.parser.function;
|
package org.jcnc.snow.compiler.parser.function;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.parser.ast.*;
|
import org.jcnc.snow.compiler.parser.ast.*;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.Node;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import org.jcnc.snow.compiler.lexer.token.TokenType;
|
|||||||
import org.jcnc.snow.compiler.parser.TopLevelParser;
|
import org.jcnc.snow.compiler.parser.TopLevelParser;
|
||||||
import org.jcnc.snow.compiler.parser.ast.FunctionNode;
|
import org.jcnc.snow.compiler.parser.ast.FunctionNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ParameterNode;
|
import org.jcnc.snow.compiler.parser.ast.ParameterNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.StatementNode;
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.context.TokenStream;
|
import org.jcnc.snow.compiler.parser.context.TokenStream;
|
||||||
import org.jcnc.snow.compiler.parser.factory.StatementParserFactory;
|
import org.jcnc.snow.compiler.parser.factory.StatementParserFactory;
|
||||||
|
|||||||
@ -2,7 +2,7 @@ package org.jcnc.snow.compiler.parser.statement;
|
|||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.Token;
|
import org.jcnc.snow.compiler.lexer.token.Token;
|
||||||
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
||||||
import org.jcnc.snow.compiler.parser.ast.StatementNode;
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.factory.StatementParserFactory;
|
import org.jcnc.snow.compiler.parser.factory.StatementParserFactory;
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ package org.jcnc.snow.compiler.parser.statement;
|
|||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
||||||
import org.jcnc.snow.compiler.parser.ast.DeclarationNode;
|
import org.jcnc.snow.compiler.parser.ast.DeclarationNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.expression.PrattExpressionParser;
|
import org.jcnc.snow.compiler.parser.expression.PrattExpressionParser;
|
||||||
|
|
||||||
|
|||||||
@ -2,9 +2,9 @@ package org.jcnc.snow.compiler.parser.statement;
|
|||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
||||||
import org.jcnc.snow.compiler.parser.ast.AssignmentNode;
|
import org.jcnc.snow.compiler.parser.ast.AssignmentNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionStatementNode;
|
import org.jcnc.snow.compiler.parser.ast.ExpressionStatementNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.StatementNode;
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.context.TokenStream;
|
import org.jcnc.snow.compiler.parser.context.TokenStream;
|
||||||
import org.jcnc.snow.compiler.parser.expression.PrattExpressionParser;
|
import org.jcnc.snow.compiler.parser.expression.PrattExpressionParser;
|
||||||
|
|||||||
@ -3,7 +3,7 @@ package org.jcnc.snow.compiler.parser.statement;
|
|||||||
import org.jcnc.snow.compiler.lexer.token.Token;
|
import org.jcnc.snow.compiler.lexer.token.Token;
|
||||||
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
||||||
import org.jcnc.snow.compiler.parser.ast.IfNode;
|
import org.jcnc.snow.compiler.parser.ast.IfNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.StatementNode;
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.expression.PrattExpressionParser;
|
import org.jcnc.snow.compiler.parser.expression.PrattExpressionParser;
|
||||||
import org.jcnc.snow.compiler.parser.factory.StatementParserFactory;
|
import org.jcnc.snow.compiler.parser.factory.StatementParserFactory;
|
||||||
|
|||||||
@ -2,9 +2,9 @@ package org.jcnc.snow.compiler.parser.statement;
|
|||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
||||||
import org.jcnc.snow.compiler.parser.ast.AssignmentNode;
|
import org.jcnc.snow.compiler.parser.ast.AssignmentNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.LoopNode;
|
import org.jcnc.snow.compiler.parser.ast.LoopNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.StatementNode;
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.context.TokenStream;
|
import org.jcnc.snow.compiler.parser.context.TokenStream;
|
||||||
import org.jcnc.snow.compiler.parser.expression.PrattExpressionParser;
|
import org.jcnc.snow.compiler.parser.expression.PrattExpressionParser;
|
||||||
|
|||||||
@ -2,7 +2,7 @@ package org.jcnc.snow.compiler.parser.statement;
|
|||||||
|
|
||||||
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
import org.jcnc.snow.compiler.lexer.token.TokenType;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ReturnNode;
|
import org.jcnc.snow.compiler.parser.ast.ReturnNode;
|
||||||
import org.jcnc.snow.compiler.parser.ast.ExpressionNode;
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.expression.PrattExpressionParser;
|
import org.jcnc.snow.compiler.parser.expression.PrattExpressionParser;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package org.jcnc.snow.compiler.parser.statement;
|
package org.jcnc.snow.compiler.parser.statement;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
import org.jcnc.snow.compiler.parser.context.ParserContext;
|
||||||
import org.jcnc.snow.compiler.parser.ast.StatementNode;
|
import org.jcnc.snow.compiler.parser.ast.base.StatementNode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 语句解析器接口,用于将解析上下文中的 Token 转换为 {@link StatementNode}。
|
* 语句解析器接口,用于将解析上下文中的 Token 转换为 {@link StatementNode}。
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
package org.jcnc.snow.compiler.parser.util;
|
package org.jcnc.snow.compiler.parser.util;
|
||||||
|
|
||||||
import org.jcnc.snow.compiler.parser.ast.*;
|
import org.jcnc.snow.compiler.parser.ast.*;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.ExpressionNode;
|
||||||
|
import org.jcnc.snow.compiler.parser.ast.base.Node;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user