diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/core/SemanticAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/core/SemanticAnalyzer.java index 0b3c0af..9b8ca9a 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/core/SemanticAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/core/SemanticAnalyzer.java @@ -32,6 +32,11 @@ public class SemanticAnalyzer { */ public static final Map BUILTIN_TYPES = Map.of( "int", BuiltinType.INT, + "long", BuiltinType.LONG, + "short", BuiltinType.SHORT, + "byte", BuiltinType.BYTE, + "float", BuiltinType.FLOAT, + "double", BuiltinType.DOUBLE, "string", BuiltinType.STRING, "void", BuiltinType.VOID ); diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/type/BuiltinType.java b/src/main/java/org/jcnc/snow/compiler/semantic/type/BuiltinType.java index 164e261..e433c36 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/type/BuiltinType.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/type/BuiltinType.java @@ -1,31 +1,39 @@ package org.jcnc.snow.compiler.semantic.type; /** - * 内置基础类型枚举:定义编译器中最基本的三种类型。 + * 内置基础类型枚举:定义编译器中常见的基础类型。 *

* 枚举值: *

*

- * 本枚举实现了 {@link Type} 接口,提供了基本的类型兼容性判断和友好的字符串表示方法。 + * 本枚举实现了 {@link Type} 接口,提供了基本的类型兼容性判断和 + * 友好的字符串表示方法。 */ public enum BuiltinType implements Type { - /** - * 整数类型,也可用于表示布尔值(真假值)。 - */ + /** 整数类型(32 位) */ INT, - - /** - * 字符串类型。 - */ + /** 长整数类型(64 位) */ + LONG, + /** 短整数类型(16 位) */ + SHORT, + /** 字节类型(8 位) */ + BYTE, + /** 单精度浮点数 */ + FLOAT, + /** 双精度浮点数 */ + DOUBLE, + /** 字符串类型 */ STRING, - - /** - * 空类型,通常用于无返回值的函数。 - */ + /** 空类型,通常用于无返回值的函数 */ VOID; /** diff --git a/test b/test index ea2cabf..d53221d 100644 --- a/test +++ b/test @@ -4,7 +4,7 @@ module: CommonTasks return num1 + num2 end body parameter: - declare num1: int + declare num1: double declare num2: int return_type: int end function