diff --git a/StgSharp.C/StgSharpC.c b/StgSharp.C/StgSharpC.c
index 43fa0bbd..310a71e3 100644
--- a/StgSharp.C/StgSharpC.c
+++ b/StgSharp.C/StgSharpC.c
@@ -68,7 +68,7 @@ SSCAPI void SSCDECL unloadImageData(Image *out)
free(out->pixelPtr);
}
-char *SSCDECL readLog()
+SSCAPI char *SSCDECL readLog()
{
infolog[511] = '\0';
return infolog;
diff --git a/StgSharp.C/x64/Debug/StgSharp.C.ilk b/StgSharp.C/x64/Debug/StgSharp.C.ilk
index d5332a33..83e1a0df 100644
Binary files a/StgSharp.C/x64/Debug/StgSharp.C.ilk and b/StgSharp.C/x64/Debug/StgSharp.C.ilk differ
diff --git a/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.command.1.tlog b/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.command.1.tlog
index 0a1b834d..f18958bf 100644
Binary files a/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.command.1.tlog and b/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.command.1.tlog differ
diff --git a/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.read.1.tlog b/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.read.1.tlog
index ba075e94..7d944fad 100644
Binary files a/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.read.1.tlog and b/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.read.1.tlog differ
diff --git a/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.16312.write.1.tlog b/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.write.1.tlog
similarity index 80%
rename from StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.16312.write.1.tlog
rename to StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.write.1.tlog
index 6e7e0b8e..663701b6 100644
Binary files a/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.16312.write.1.tlog and b/StgSharp.C/x64/Debug/StgSharp.C.tlog/CL.write.1.tlog differ
diff --git a/StgSharp.C/x64/Debug/StgSharp.C.tlog/bscmake.read.1.tlog b/StgSharp.C/x64/Debug/StgSharp.C.tlog/bscmake.read.1.tlog
index 5bb4144b..925321f8 100644
Binary files a/StgSharp.C/x64/Debug/StgSharp.C.tlog/bscmake.read.1.tlog and b/StgSharp.C/x64/Debug/StgSharp.C.tlog/bscmake.read.1.tlog differ
diff --git a/StgSharp.C/x64/Debug/StgSharp.C.tlog/link.read.1.tlog b/StgSharp.C/x64/Debug/StgSharp.C.tlog/link.read.1.tlog
index 9eea48cd..13964ded 100644
Binary files a/StgSharp.C/x64/Debug/StgSharp.C.tlog/link.read.1.tlog and b/StgSharp.C/x64/Debug/StgSharp.C.tlog/link.read.1.tlog differ
diff --git a/StgSharp.C/x64/Debug/StgSharpC.log b/StgSharp.C/x64/Debug/StgSharpC.log
index 27f548c3..d6ef9e93 100644
--- a/StgSharp.C/x64/Debug/StgSharpC.log
+++ b/StgSharp.C/x64/Debug/StgSharpC.log
@@ -1,150 +1,5 @@
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(517,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
- dllmain.c
- intrinsic.c
- mat2.c
- mat3.c
- mat4.c
- stb_image.c
StgSharpC.c
- hash.c
- string.c
- vector.c
- vector_dot.c
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\stb_image.c(882,25): warning C4047: “=”:“stbi_uc”与“char [33]”的间接级别不同
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\StgSharpC.c(14,30): warning C4244: “函数”: 从“uint64_t”转换到“GLuint”,可能丢失数据
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\StgSharpC.c(16,43): warning C4244: “函数”: 从“uint64_t”转换到“GLuint”,可能丢失数据
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(9,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(9,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(11,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(11,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(20,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(20,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(22,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(22,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(24,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(24,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(26,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(26,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(36,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(36,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(38,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(38,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(40,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(40,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(42,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(42,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(51,54): warning C4028: 形参 1 与声明不同
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(51,84): warning C4028: 形参 2 与声明不同
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(53,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(54,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(55,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(56,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(59,28): warning C4013: “det_mat3_internal”未定义;假设外部返回 int
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(59,28): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(59,62): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(60,28): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(60,62): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(61,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(69,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(69,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(70,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(70,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(71,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(71,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(72,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(72,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(83,23): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(77,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(77,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(78,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(90,16): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(78,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(97,33): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(88,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(88,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(97,48): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(89,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(89,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(90,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(90,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(91,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(114,33): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(91,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(114,48): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(96,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(96,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(97,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(97,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(127,23): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(136,16): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(144,33): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(144,48): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(4,50): warning C4028: 形参 1 与声明不同
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(6,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(6,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(8,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(8,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(16,50): warning C4028: 形参 1 与声明不同
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(18,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(18,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(5,49): warning C4028: 形参 1 与声明不同
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(20,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(20,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(7,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(7,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(31,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(31,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(9,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(32,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(32,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(15,49): warning C4028: 形参 1 与声明不同
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(40,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(17,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(40,64): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(17,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(46,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(46,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(47,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(19,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(47,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(19,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(55,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(55,64): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(21,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(22,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(29,49): warning C4028: 形参 1 与声明不同
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(31,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(31,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(33,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(33,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(35,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(36,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(80,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(80,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(81,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(81,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(82,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(82,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(91,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(91,60): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(92,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(92,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(106,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(106,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(107,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(107,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(108,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(108,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(117,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(117,60): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(118,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(118,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(29,43): warning C4244: “函数”: 从“uint64_t”转换到“unsigned char”,可能丢失数据
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(30,50): warning C4244: “函数”: 从“uint64_t”转换到“unsigned char”,可能丢失数据
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(7,15): warning C4090: “初始化”: 不同的“const”限定符
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(7,34): warning C4090: “初始化”: 不同的“const”限定符
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\string.c(21,54): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据
-D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\string.c(36,54): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据
- 正在创建库 D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\build\StgSharp.C.lib 和对象 D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\build\StgSharp.C.exp
-LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
StgSharpC.vcxproj -> D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\build\StgSharp.C.dll
diff --git a/StgSharp.C/x64/Debug/StgSharpC.obj b/StgSharp.C/x64/Debug/StgSharpC.obj
index ce86f11e..b319ce9d 100644
Binary files a/StgSharp.C/x64/Debug/StgSharpC.obj and b/StgSharp.C/x64/Debug/StgSharpC.obj differ
diff --git a/StgSharp.C/x64/Debug/vc143.idb b/StgSharp.C/x64/Debug/vc143.idb
index b9967017..8ad7b582 100644
Binary files a/StgSharp.C/x64/Debug/vc143.idb and b/StgSharp.C/x64/Debug/vc143.idb differ
diff --git a/StgSharp.C/x64/Debug/vc143.pdb b/StgSharp.C/x64/Debug/vc143.pdb
index 63dacdaa..60ecf559 100644
Binary files a/StgSharp.C/x64/Debug/vc143.pdb and b/StgSharp.C/x64/Debug/vc143.pdb differ
diff --git a/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.AssemblyInfo.cs b/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.AssemblyInfo.cs
index 5a5ef2b9..418eb6fd 100644
--- a/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.AssemblyInfo.cs
+++ b/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.AssemblyInfo.cs
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Model")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+17a226c20653a1c92f6a3b420d6388c31f6a8c1e")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d270b6b1f8220e14d01610bd55f11c0b4908af39")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Model")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Model")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.sourcelink.json b/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.sourcelink.json
index 15b457c1..fb815ce1 100644
--- a/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.sourcelink.json
+++ b/StgSharp.Model/obj/x64/Debug/net8.0/StgSharp.Model.sourcelink.json
@@ -1 +1 @@
-{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/17a226c20653a1c92f6a3b420d6388c31f6a8c1e/*"}}
\ No newline at end of file
+{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/d270b6b1f8220e14d01610bd55f11c0b4908af39/*"}}
\ No newline at end of file
diff --git a/StgSharp.Script/Express/ExpAstNode/ExpInstanceReferenceNode.cs b/StgSharp.Script/Express/ExpAstNode/ExpInstanceReferenceNode.cs
index e50cf585..770b621f 100644
--- a/StgSharp.Script/Express/ExpAstNode/ExpInstanceReferenceNode.cs
+++ b/StgSharp.Script/Express/ExpAstNode/ExpInstanceReferenceNode.cs
@@ -40,29 +40,29 @@ namespace StgSharp.Script.Express
public class ExpInstanceReferenceNode : ExpNode
{
- private ExpElementInstance _instance;
-
internal ExpInstanceReferenceNode( Token source, ExpElementInstance instance )
: base( source )
{
- _instance = instance;
- _nodeFlag = ( _instance._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
+ OriginObject = instance;
+ _nodeFlag = ( OriginObject._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
CodeConvertTemplate = source.Value;
}
internal ExpInstanceReferenceNode( Token source, ExpInstanceReferenceNode reference )
: base( source )
{
- _instance = reference._instance;
- _nodeFlag = ( _instance._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
+ OriginObject = reference.OriginObject;
+ _nodeFlag = ( OriginObject._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
CodeConvertTemplate = source.Value;
}
+ public ExpElementInstance OriginObject { get ; private set; }
+
public override ExpNode Left => Empty;
public override ExpNode Right => Empty;
- public override IExpElementSource EqualityTypeConvert => _instance.EqualityTypeConvert;
+ public override IExpElementSource EqualityTypeConvert => OriginObject.EqualityTypeConvert;
[MethodImpl( MethodImplOptions.AggressiveInlining )]
public static ExpInstanceReferenceNode MakeReferenceFrom(
diff --git a/StgSharp.Script/Express/ExpAstNode/ExpRepeatNode.cs b/StgSharp.Script/Express/ExpAstNode/ExpRepeatNode.cs
index 8ddfab33..1fc52867 100644
--- a/StgSharp.Script/Express/ExpAstNode/ExpRepeatNode.cs
+++ b/StgSharp.Script/Express/ExpAstNode/ExpRepeatNode.cs
@@ -59,7 +59,7 @@ namespace StgSharp.Script.Express
increment.NodeFlag ) ) {
throw new InvalidCastException();
}
- if( ExpNode.IsNullOrEmpty( increment ) )
+ if( IsNullOrEmpty( increment ) )
{
switch( ( ExpNodeFlag )variable.NodeFlag | ExpNodeFlag.BuiltinType_Any )
{
@@ -84,7 +84,7 @@ namespace StgSharp.Script.Express
_variable = variable;
_begin = begin;
_end = end;
- _increment = increment;
+ _increment = increment!;
_operationBegin = operationBegin;
_untilRule = untilRule;
_whileRule = whileRule;
@@ -106,52 +106,54 @@ namespace StgSharp.Script.Express
/// WHILE and UNTIL regulation.
///
///
- /// Position of the loop
+ /// Position of the loop.
///
///
- ///
+ /// The variable recording increment by step.
///
///
- ///
+ /// Beginning value of the loop.
///
///
- ///
+ /// When reach the value, the loop ends.
///
///
- ///
+ /// Expressions to operate multiple times.
///
///
- ///
+ /// A representing the repeat expression.
///
public static ExpRepeatNode Create(
Token t,
- ExpElementInstance repeatVariable,
+ ExpInstanceReferenceNode repeatVariable,
ExpNode begin,
ExpNode end,
ExpNode increment,
+ ExpNode whileRule,
+ ExpNode untilRule,
ExpNode body )
{
- ExpNode untilRule = ExpBoolNode.False( null );
- ExpNode whileRule = ExpBoolNode.True( null );
+ untilRule = ExpBoolNode.False( null );
+ whileRule = ExpBoolNode.True( null );
ExpRepeatNode ret = new ExpRepeatNode(
- t, repeatVariable, begin, end, increment, body, whileRule, untilRule )
+ t, repeatVariable.OriginObject, begin, end, increment, body, whileRule, untilRule )
{
/*
- * 0 increment variable type
- * 1: variable name
- * 2: beginning value
- * 3: ending value
- * 4: increment
- * 5: body
- * 6: while
- * 7: until
+ * 0: variable name
+ * 1: beginning value
+ * 2: ending value
+ * 3: increment
+ * 4: body
+ * 5: while
+ * 6: until
*/
+
CodeConvertTemplate = $$"""
- for({{0}} {{1}} = {{2}}; {{1}} <= {{3}}; {{1}} += {{4}})
+ for( {0} = {1}; {0} <= {2}; {0} += {3})
{
- if(!( {{6}} )) break;
- {{5}}
- if( {{7}} ) break;
+ if(!( {5} )) break;
+ {4}
+ if( {6} ) break;
}
"""
};
@@ -174,21 +176,21 @@ namespace StgSharp.Script.Express
t, repeatVariable, begin, end, increment, body, whileRule, untilRule )
{
/*
- * 0 increment variable type
- * 1: variable name
- * 2: beginning value
- * 3: ending value
- * 4: increment
- * 5: body
- * 6: while
- * 7: until
+ * 0: variable name
+ * 1: beginning value
+ * 2: ending value
+ * 3: increment
+ * 4: body
+ * 5: while
+ * 6: until
*/
+
CodeConvertTemplate = $$"""
- for({{0}} {{1}} = {{2}}; {{1}} <= {{3}}; {{1}} += {{4}})
+ for({{repeatVariable.TypeName}} {0} = {1}; {0} <= {2}; {0} += {3})
{
- if(!( {{6}} )) break;
- {{5}}
- if( {{7}} ) break;
+ if(!( {5} )) break;
+ {4}
+ if( {6} ) break;
}
"""
};
diff --git a/StgSharp.Script/Express/ExpAstNode/_ExpNode.cs b/StgSharp.Script/Express/ExpAstNode/_ExpNode.cs
index 7d466d2d..a40e8090 100644
--- a/StgSharp.Script/Express/ExpAstNode/_ExpNode.cs
+++ b/StgSharp.Script/Express/ExpAstNode/_ExpNode.cs
@@ -32,6 +32,7 @@ using CommunityToolkit.HighPerformance.Buffers;
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
@@ -97,7 +98,7 @@ namespace StgSharp.Script.Express
return new ExpNodeNextEnumerator( this );
}
- public static bool IsNullOrEmpty( ExpNode node )
+ public static bool IsNullOrEmpty( [AllowNull]ExpNode node )
{
return node == ExpEmptyNode._only || node == null;
}
diff --git a/StgSharp.Script/Express/ExpExceptions.cs b/StgSharp.Script/Express/ExpExceptions.cs
index e342bcb5..477edfab 100644
--- a/StgSharp.Script/Express/ExpExceptions.cs
+++ b/StgSharp.Script/Express/ExpExceptions.cs
@@ -39,7 +39,14 @@ using System.Text;
namespace StgSharp.Script.Express
{
- public class ExpInvalidCharException : Exception
+ public class ExpException : Exception
+ {
+
+ public ExpException( string message ) : base( message ) { }
+
+ }
+
+ public class ExpInvalidCharException : ExpException
{
public ExpInvalidCharException( char c ) : base( $"An unknown char {c} occurred." ) { }
@@ -49,7 +56,7 @@ namespace StgSharp.Script.Express
}
- public class ExpStringNotCloseException : Exception
+ public class ExpStringNotCloseException : ExpException
{
public ExpStringNotCloseException( int linenum )
@@ -57,7 +64,7 @@ namespace StgSharp.Script.Express
}
- public class ExpInvalidSyntaxException : Exception
+ public class ExpInvalidSyntaxException : ExpException
{
public ExpInvalidSyntaxException( string message ) : base( message ) { }
@@ -76,7 +83,7 @@ namespace StgSharp.Script.Express
}
- public class ExpInvalidElementDeclareEndingExceptions : Exception
+ public class ExpInvalidElementDeclareEndingExceptions : ExpException
{
public ExpInvalidElementDeclareEndingExceptions( string declaredName, string endedName )
@@ -85,7 +92,7 @@ namespace StgSharp.Script.Express
}
- public class ExpInvalidElementNameException : Exception
+ public class ExpInvalidElementNameException : ExpException
{
public ExpInvalidElementNameException( string elementName, ExpSchema schema )
@@ -148,7 +155,7 @@ namespace StgSharp.Script.Express
}
- public class ExpCompileException : Exception
+ public class ExpCompileException : ExpException
{
public ExpCompileException( Token pos, string message )
diff --git a/StgSharp.Script/Express/ExpSourceReader.cs b/StgSharp.Script/Express/ExpSourceReader.cs
index a359ec7f..37fd9256 100644
--- a/StgSharp.Script/Express/ExpSourceReader.cs
+++ b/StgSharp.Script/Express/ExpSourceReader.cs
@@ -356,7 +356,7 @@ namespace StgSharp.Script.Express
private static partial Regex GetNextWordTokenPattern();
[GeneratedRegex(
- @"(?-?\s*?[0-9]+(?:\.[0-9]*)?E?(?:[+-]?[0-9]+))(?\s*?)(?\S|$)",
+ @"(?-?\s*?[0-9]+(?:\.[0-9]*)?E?(?:[+-]?[0-9]+)?)(?\s*?)(?\S|$)",
RegexOptions.Singleline )]
private static partial Regex GetNumberLiteralPattern();
diff --git a/StgSharp.Script/Express/ExpSyntaxAnalyzer.RepeatLoop.cs b/StgSharp.Script/Express/ExpSyntaxAnalyzer.RepeatLoop.cs
index 6047f84a..92d454b4 100644
--- a/StgSharp.Script/Express/ExpSyntaxAnalyzer.RepeatLoop.cs
+++ b/StgSharp.Script/Express/ExpSyntaxAnalyzer.RepeatLoop.cs
@@ -56,6 +56,7 @@ namespace StgSharp.Script.Express
{
state = new RepeatLoopState( t );
_cache.CurrentDepthMark.StateCache = state;
+ state.CurrentState = t.Value;
return true;
}
switch( state.CurrentState )
@@ -86,9 +87,19 @@ namespace StgSharp.Script.Express
ExpNode root = _cache.PackAllStatements();
state.Body = root;
_cache.DecreaseDepth();
- root = ExpRepeatNode.Create(
- state.Position, state.IncrementVariable, state.Begin, state.End,
- state.IncrementVariable, state.Body, state.UntilExpression, state.WhileExpression );
+ if( ExpTypeSource.IsNullOrVoid( state.IncrementVariableType ) )
+ {
+ root = ExpRepeatNode.Create(
+ state.Position, state.IncrementVariable, state.Begin, state.End,
+ state.IncrementVariable, state.Body, state.UntilExpression,
+ state.WhileExpression );
+ } else
+ {
+ root = ExpRepeatNode.Create(
+ state.Position, state.IncrementVariable.OriginObject, state.Begin, state.End,
+ state.IncrementVariable, state.Body, state.UntilExpression,
+ state.WhileExpression );
+ }
_cache.StatementsInDepth.Push( root );
_tempVariableInLoops.Remove( state.IncrementVariable.CodeConvertTemplate );
return true;
@@ -194,18 +205,29 @@ namespace StgSharp.Script.Express
return true;
case ExpKeyword.Assignment:
state.CurrentState = ExpKeyword.Assignment;
- _tempVariableInLoops.Add(
- state.IncrementVariable.CodeConvertTemplate, state.IncrementVariable );
-
return true;
default:
if( ExpTypeSource.IsNullOrVoid( state.IncrementVariableType ) )
{
- throw new ExpInvalidTypeException( "Numerical", t.Value );
+ if( ( _local.TryGetMember( t.Value,
+ out ExpNode? node ) && node is ExpElementInstance instance ) || _tempVariableInLoops.TryGetValue(
+ t.Value, out instance ) )
+ {
+ state.IncrementVariable = ExpInstanceReferenceNode.MakeReferenceFrom(
+ t, instance );
+ return true;
+ } else
+ {
+ throw new ExpInvalidSyntaxException(
+ $"Variable {t.Value} is not declared or initialized." );
+ }
} else
{
- state.IncrementVariable = state.IncrementVariableType
- .CreateInstanceNode( t );
+ ExpElementInstance variable = state.IncrementVariableType
+ .CreateInstanceNode( t );
+ _tempVariableInLoops.Add( t.Value, variable );
+ state.IncrementVariable = ExpInstanceReferenceNode.MakeReferenceFrom(
+ t, variable );
return true;
}
}
@@ -240,7 +262,7 @@ namespace StgSharp.Script.Express
WhileExpression = ExpNode.Empty;
}
- public ExpElementInstance IncrementVariable { get; set; }
+ public ExpInstanceReferenceNode IncrementVariable { get; set; }
public ExpNode StepIncrement { get; set; }
diff --git a/StgSharp.Script/Express/ExpSyntaxAnalyzer.TokenSpliter.cs b/StgSharp.Script/Express/ExpSyntaxAnalyzer.TokenSpliter.cs
index 1bf28d40..6f67fdb4 100644
--- a/StgSharp.Script/Express/ExpSyntaxAnalyzer.TokenSpliter.cs
+++ b/StgSharp.Script/Express/ExpSyntaxAnalyzer.TokenSpliter.cs
@@ -235,8 +235,10 @@ namespace StgSharp.Script.Express
{
_cache.PushOperand( ExpInstanceReferenceNode.MakeReferenceFrom( t, instance ) );
return true;
- } else if( _tempVariableInLoops.TryGetValue( t.Value, out instance ) ) {
+ } else if( _tempVariableInLoops.TryGetValue( t.Value, out instance! ) )
+ {
_cache.PushOperand( ExpInstanceReferenceNode.MakeReferenceFrom( t, instance ) );
+ return true;
}
return false;
}
diff --git a/StgSharp.Script/Express/ExpSyntaxAnalyzer.cs b/StgSharp.Script/Express/ExpSyntaxAnalyzer.cs
index c2e14002..954e9813 100644
--- a/StgSharp.Script/Express/ExpSyntaxAnalyzer.cs
+++ b/StgSharp.Script/Express/ExpSyntaxAnalyzer.cs
@@ -87,6 +87,9 @@ namespace StgSharp.Script.Express
case ExpCompileStateCode.CaseBranch:
AppendToken_CaseOf( expToken );
break;
+ case ExpCompileStateCode.RepeatLoop:
+ AppendToken_RepeatLoop( expToken );
+ break;
default:
AppendToken_common( expToken );
break;
diff --git a/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.AssemblyInfo.cs b/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.AssemblyInfo.cs
index 3f57f3e0..f1226f44 100644
--- a/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.AssemblyInfo.cs
+++ b/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.AssemblyInfo.cs
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Script")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1a1db3554b10ed4a707671695d5100eee621af75")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d270b6b1f8220e14d01610bd55f11c0b4908af39")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Script")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Script")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.sourcelink.json b/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.sourcelink.json
index 37e8070f..fb815ce1 100644
--- a/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.sourcelink.json
+++ b/StgSharp.Script/obj/x64/Debug/net8.0/StgSharp.Script.sourcelink.json
@@ -1 +1 @@
-{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/1a1db3554b10ed4a707671695d5100eee621af75/*"}}
\ No newline at end of file
+{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/d270b6b1f8220e14d01610bd55f11c0b4908af39/*"}}
\ No newline at end of file
diff --git a/StgSharpDebug/ExpLinearExpressionTest.cs b/StgSharpDebug/ExpLinearExpressionTest.cs
index a6cbf33d..812b1fce 100644
--- a/StgSharpDebug/ExpLinearExpressionTest.cs
+++ b/StgSharpDebug/ExpLinearExpressionTest.cs
@@ -135,6 +135,10 @@ namespace StgSharp
1 : a := 1 + e ;
OTHERWISE : a:=a;
END_CASE
+ REPEAT a := 1 TO 10;
+ b := 10;
+ END_REPEAT
+
""";
public static void ExpLinearExpressionTest()
diff --git a/StgSharpDebug/Program.cs b/StgSharpDebug/Program.cs
index fa6f062e..5bb33ee9 100644
--- a/StgSharpDebug/Program.cs
+++ b/StgSharpDebug/Program.cs
@@ -56,12 +56,14 @@ namespace StgSharp
internal static unsafe void Main( string[] args )
{
- try {
+ try
+ {
StgSharp.Init();
ExpLinearExpressionTest();
return;
}
- catch( Exception ex ) {
+ catch( Exception ex )
+ {
Console.WriteLine( ex );
/*
StgSharp.WriteLog($"{ex}", LogType.Error);
@@ -71,7 +73,8 @@ namespace StgSharp
StgSharp.Terminate( -1 );
/**/
}
- finally {
+ finally
+ {
StgSharp.Terminate( 0 );
}
}
diff --git a/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.AssemblyInfo.cs b/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.AssemblyInfo.cs
index 524bb584..5eded2dc 100644
--- a/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.AssemblyInfo.cs
+++ b/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.AssemblyInfo.cs
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+17a226c20653a1c92f6a3b420d6388c31f6a8c1e")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d270b6b1f8220e14d01610bd55f11c0b4908af39")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.sourcelink.json b/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.sourcelink.json
index 15b457c1..fb815ce1 100644
--- a/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.sourcelink.json
+++ b/StgSharpDebug/obj/x64/Debug/net8.0/StgSharpDebug.sourcelink.json
@@ -1 +1 @@
-{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/17a226c20653a1c92f6a3b420d6388c31f6a8c1e/*"}}
\ No newline at end of file
+{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/d270b6b1f8220e14d01610bd55f11c0b4908af39/*"}}
\ No newline at end of file