Daily update on 20250324-100332 by Nitload Youmu. Additional Message : Single line syntax analyzer ok, gonging on unit test of multi line, func call. Then building branch, loop, area syntax analyzer. Some of descriptors not supported.

Signed-off-by: Nitload <YoumuLiu_NSI@whv0t.onmicrosoft.com>
This commit is contained in:
Nitload
2025-03-24 10:03:32 +08:00
parent 148b0fed4a
commit ffd5825a05
52 changed files with 522 additions and 560 deletions
@@ -1,51 +1,51 @@
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.bsc d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.bsc
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\dllmain.sbr d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vc143.pdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\dllmain.obj d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vc143.idb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\dllmain.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat3.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat3.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat3.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\intrinsic.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\intrinsic.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\intrinsic.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharpc.sbr d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharpc.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharpc.obj d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharpc.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharpc.cod d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharpc.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\intrinsic.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\intrinsic.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\intrinsic.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\string.sbr d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\string.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\string.obj d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\string.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\string.cod d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\string.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat4.sbr d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat4.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat4.obj d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat4.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat4.cod d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat4.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat2.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat2.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat2.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\hash.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\hash.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\hash.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector_dot.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector_dot.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector_dot.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector.sbr d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector.obj d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector.cod d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\hash.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\hash.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\hash.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stb_image.sbr d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stb_image.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stb_image.obj d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stb_image.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stb_image.cod d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stb_image.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vc143.pdb d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat2.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat2.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat2.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat3.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat3.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat3.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector_dot.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector_dot.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector_dot.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\dllmain.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\dllmain.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\dllmain.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.dll d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.dll
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.pdb d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.pdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.lib d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.lib
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.exp d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.exp
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.ilk d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.ilk
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vc143.idb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\bscmake.command.1.tlog d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\bscmake.command.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\bscmake.read.1.tlog d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\bscmake.read.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\bscmake.write.1.tlog d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\bscmake.write.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.11516.write.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.command.1.tlog d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.command.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.items.tlog d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.items.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.read.1.tlog d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.read.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.write.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\link.command.1.tlog d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\link.command.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\link.read.1.tlog d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\link.read.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\link.secondary.1.tlog d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\link.secondary.1.tlog
Binary file not shown.
Binary file not shown.
Binary file not shown.
+84 -75
View File
@@ -1,97 +1,48 @@
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(517,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(517,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
hash.c dllmain.c
intrinsic.c intrinsic.c
mat2.c mat2.c
mat3.c mat3.c
mat4.c mat4.c
stb_image.c
StgSharpC.c
hash.c
string.c string.c
vector.c
vector_dot.c vector_dot.c
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(4,50): warning C4028: 形参 1 与声明不同 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\string.c(21,54): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据 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\mat3.c(5,49): warning C4028: 形参 1 与声明不同 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\mat2.c(6,36): 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\string.c(36,54): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据
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\mat3.c(7,36): warning C4133: “函数”: 从“__m128 *”到“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\mat2.c(16,50): warning C4028: 形参 1 与声明不同
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\vector_dot.c(97,33): 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\mat3.c(9,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
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\hash.c(29,43): warning C4244: “函数”: 从“uint64_t”转换到“unsigned char”,可能丢失数据
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\vector_dot.c(114,33): 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\mat2.c(20,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
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\vector_dot.c(127,23): warning C4133: “函数”: 从“__m256 *”到“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\mat4.c(9,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 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\mat2.c(20,62): warning C4133: “函数”: 从“__m128 *”到“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\hash.c(7,15): warning C4090: “初始化”: 不同的“const”限定符
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(9,62): warning C4133: “函数”: 从“const __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(31,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(7,34): warning C4090: “初始化”: 不同的“const”限定符
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\mat3.c(17,62): warning C4133: “函数”: 从“__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,36): warning C4133: “函数”: 从“const __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\vector_dot.c(144,48): warning C4133: “函数”: 从“__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(11,62): warning C4133: “函数”: 从“const __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(19,36): warning C4133: “函数”: 从“__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,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(20,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
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(19,62): warning C4133: “函数”: 从“__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,36): warning C4133: “函数”: 从“const __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\mat4.c(22,62): 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,36): warning C4133: “函数”: 从“const __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\mat3.c(21,36): warning C4133: “函数”: 从“__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(24,62): warning C4133: “函数”: 从“const __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\mat4.c(26,36): 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\mat2.c(47,35): warning C4133: “函数”: 从“__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(26,62): warning C4133: “函数”: 从“const __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(22,36): 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\mat4.c(36,36): 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\mat2.c(55,64): warning C4133: “函数”: 从“__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(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,36): warning C4133: “函数”: 从“const __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\mat4.c(38,62): 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,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(40,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
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\mat4.c(42,36): 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(42,62): warning C4133: “函数”: 从“const __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\mat4.c(51,54): warning C4028: 形参 1 与声明不同 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(51,84): warning C4028: 形参 2 与声明不同
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\mat4.c(53,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 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(54,22): warning C4133: “函数”: 从“const __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\mat4.c(55,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(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 C4013: “det_mat3_internal”未定义;假设外部返回 int
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\mat4.c(59,28): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据 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(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,28): warning C4244: “函数”: 从“int”转换到“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\mat4.c(60,62): 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(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,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
@@ -99,43 +50,101 @@ D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\St
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,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(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,37): 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\mat4.c(71,61): 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\mat3.c(80,59): 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,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\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,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(81,59): warning C4133: “函数”: 从“__m128 *”到“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\mat3.c(82,35): 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\mat4.c(77,63): warning C4133: “函数”: 从“__m256 *”到“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(82,59): warning C4133: “函数”: 从“__m128 *”到“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\mat3.c(91,38): warning C4133: “函数”: 从“__m256 *”到“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\mat4.c(78,63): 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(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,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(92,59): 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\mat3.c(106,35): 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\mat4.c(89,37): 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(106,59): 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\mat3.c(107,35): 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\mat4.c(90,37): 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(107,59): 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\mat3.c(108,35): 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\mat4.c(91,37): 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(108,59): 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\mat3.c(117,38): warning C4133: “函数”: 从“__m256 *”到“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\mat4.c(96,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(117,60): 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\mat3.c(118,35): warning C4133: “函数”: 从“__m128 *”到“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\mat4.c(97,63): warning C4133: “函数”: 从“__m256 *”到“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\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 StgSharpC.vcxproj -> D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\build\StgSharp.C.dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Common")] [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Common")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e3741687a706609a1d0055c3fd11f41945838a70")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+148b0fed4a1abaaeaa3a28e7c7b088590805ebef")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Common")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Common")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Common")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Common")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/e3741687a706609a1d0055c3fd11f41945838a70/*"}} {"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/148b0fed4a1abaaeaa3a28e7c7b088590805ebef/*"}}
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Model")] [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Model")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+528d0c5462b4d3da107ad29b859f9c8006fb675a")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+148b0fed4a1abaaeaa3a28e7c7b088590805ebef")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Model")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Model")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Model")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Model")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/528d0c5462b4d3da107ad29b859f9c8006fb675a/*"}} {"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/148b0fed4a1abaaeaa3a28e7c7b088590805ebef/*"}}
+46 -38
View File
@@ -38,8 +38,7 @@ using System.Threading.Tasks;
namespace StgSharp.Script namespace StgSharp.Script
{ {
public partial class CompileStack<TNode, TType> public partial class CompileStack<TNode, TType> where TNode: IASTNode<TNode, TType>
where TNode: IASTNode<TNode, TType>
where TType: ITypeSource<TType> where TType: ITypeSource<TType>
{ {
@@ -48,11 +47,15 @@ namespace StgSharp.Script
private Token[] _tokenArray = new Token[4]; private Token[] _tokenArray = new Token[4];
private int _nodeCount,_tokenCount, _operatorCount; private int _nodeCount,_tokenCount, _operatorCount;
private Stack<CompileDepthMark> _depthStack = new Stack<CompileDepthMark>( private Stack<CompileDepthMark> _depthStack = new Stack<CompileDepthMark>();
);
private Stack<bool> _isNode = new Stack<bool>(); private Stack<bool> _isNode = new Stack<bool>();
public CompileStack()
{
_depthStack.Push( new CompileDepthMark( 0, 0, 0 ) );
}
public CompileDepthMark CurrentDepthMark public CompileDepthMark CurrentDepthMark
{ {
get => _depthStack.Peek(); get => _depthStack.Peek();
@@ -82,28 +85,26 @@ namespace StgSharp.Script
public CompileDepthMark IncreaseDepth( int usage ) public CompileDepthMark IncreaseDepth( int usage )
{ {
CompileDepthMark mark = CompileDepthMark mark =
new CompileDepthMark new CompileDepthMark( OperatorCount, OperandCount, usage );
{
OperandBegin = OperandCount,
OperatorBegin = OperatorCount,
State = usage
};
_depthStack.Push( mark ); _depthStack.Push( mark );
return mark; return mark;
} }
public bool PeekOperand( out Token t, out TNode n ) public bool PeekOperand( out Token t, out TNode n )
{ {
if( OperandAheadOfDepth <= 0 ) { if( OperandAheadOfDepth <= 0 )
{
t = Token.Empty; t = Token.Empty;
n = TNode.Empty; n = TNode.Empty;
return false; return false;
} }
if( _isNode.Pop() ) { if( _isNode.Pop() )
{
t = Token.Empty; t = Token.Empty;
n = _nodeArray[ _nodeCount - 1 ]; n = _nodeArray[ _nodeCount - 1 ];
return true; return true;
} else { } else
{
t = _tokenArray[ _tokenCount - 1 ]; t = _tokenArray[ _tokenCount - 1 ];
n = TNode.Empty; n = TNode.Empty;
return false; return false;
@@ -120,16 +121,19 @@ namespace StgSharp.Script
public bool PopOperand( out Token t, out TNode n ) public bool PopOperand( out Token t, out TNode n )
{ {
if( OperandAheadOfDepth <= 0 ) { if( OperandAheadOfDepth <= 0 )
{
t = Token.Empty; t = Token.Empty;
n = TNode.Empty; n = TNode.Empty;
return false; return false;
} }
if( _isNode.Pop() ) { if( _isNode.Pop() )
{
t = Token.Empty; t = Token.Empty;
n = _nodeArray[ --_nodeCount ]; n = _nodeArray[ --_nodeCount ];
return true; return true;
} else { } else
{
t = _tokenArray[ --_tokenCount ]; t = _tokenArray[ --_tokenCount ];
n = TNode.Empty; n = TNode.Empty;
return false; return false;
@@ -138,7 +142,8 @@ namespace StgSharp.Script
public Token PopOperator() public Token PopOperator()
{ {
if( OperatorAheadOfDepth > 0 ) { if( OperatorAheadOfDepth > 0 )
{
_operatorCount--; _operatorCount--;
return _operatorArray[ _operatorCount ]; return _operatorArray[ _operatorCount ];
} }
@@ -176,18 +181,21 @@ namespace StgSharp.Script
public bool TryPeekOperand( out bool isNode, out Token t, out TNode n ) public bool TryPeekOperand( out bool isNode, out Token t, out TNode n )
{ {
if( OperandAheadOfDepth <= 0 ) { if( OperandAheadOfDepth <= 0 )
{
t = Token.Empty; t = Token.Empty;
n = TNode.Empty; n = TNode.Empty;
isNode = false; isNode = false;
return false; return false;
} }
if( _isNode.Pop() ) { if( _isNode.Pop() )
{
t = Token.Empty; t = Token.Empty;
n = _nodeArray[ _nodeCount - 1 ]; n = _nodeArray[ _nodeCount - 1 ];
isNode = true; isNode = true;
return true; return true;
} else { } else
{
t = _tokenArray[ _tokenCount - 1 ]; t = _tokenArray[ _tokenCount - 1 ];
n = TNode.Empty; n = TNode.Empty;
isNode = false; isNode = false;
@@ -197,7 +205,8 @@ namespace StgSharp.Script
public bool TryPeekOperator( out Token op ) public bool TryPeekOperator( out Token op )
{ {
if( OperatorAheadOfDepth > 0 ) { if( OperatorAheadOfDepth > 0 )
{
op = _operatorArray[ _operatorCount - 1 ]; op = _operatorArray[ _operatorCount - 1 ];
return true; return true;
} }
@@ -207,18 +216,21 @@ namespace StgSharp.Script
public bool TryPopOperand( out bool isNode, out Token t, out TNode n ) public bool TryPopOperand( out bool isNode, out Token t, out TNode n )
{ {
if( OperandAheadOfDepth <= 0 ) { if( OperandAheadOfDepth <= 0 )
{
t = Token.Empty; t = Token.Empty;
n = TNode.Empty; n = TNode.Empty;
isNode = false; isNode = false;
return false; return false;
} }
if( _isNode.Pop() ) { if( _isNode.Pop() )
{
t = Token.Empty; t = Token.Empty;
n = _nodeArray[ --_nodeCount ]; n = _nodeArray[ --_nodeCount ];
isNode = true; isNode = true;
return true; return true;
} else { } else
{
t = _tokenArray[ --_tokenCount ]; t = _tokenArray[ --_tokenCount ];
n = TNode.Empty; n = TNode.Empty;
isNode = false; isNode = false;
@@ -228,7 +240,8 @@ namespace StgSharp.Script
public bool TryPopOperator( out Token op ) public bool TryPopOperator( out Token op )
{ {
if( OperatorAheadOfDepth > 0 ) { if( OperatorAheadOfDepth > 0 )
{
op = _operatorArray[ --_operatorCount ]; op = _operatorArray[ --_operatorCount ];
return true; return true;
} }
@@ -241,23 +254,18 @@ namespace StgSharp.Script
public class CompileDepthMark public class CompileDepthMark
{ {
public int OperandBegin public CompileDepthMark( int operatorBegin, int operandBegin, int state )
{ {
get; OperatorBegin = operatorBegin;
internal set; OperandBegin = operandBegin;
State = state;
} }
public int OperatorBegin public int OperandBegin { get; internal set; }
{
get;
internal set;
}
public int State public int OperatorBegin { get; internal set; }
{
get; public int State { get; internal set; }
internal set;
}
} }
} }
+10 -34
View File
@@ -43,47 +43,23 @@ namespace StgSharp.Script
where TType: ITypeSource<TType> where TType: ITypeSource<TType>
{ {
long NodeFlag long NodeFlag { get; }
{
get;
}
string CodeConvertTemplate string CodeConvertTemplate { get; }
{
get;
}
TNode Previous TNode Previous { get; set; }
{
get;
set;
}
TNode Next TNode Next { get; set; }
{
get;
set;
}
TNode Left TNode Left { get; }
{
get;
}
TNode Right TNode Right { get; }
{
get;
}
static abstract TNode Empty static abstract TNode Empty { get; }
{
get;
}
TType EqualityTypeConvert Token Source { get; }
{
get; TType EqualityTypeConvert { get; }
}
void AppendNode( TNode nextToken ); void AppendNode( TNode nextToken );
@@ -41,8 +41,7 @@ namespace StgSharp.Script.Express
internal partial class ExpSchema_Builtin : ExpSchema internal partial class ExpSchema_Builtin : ExpSchema
{ {
private static readonly ExpSchema_Builtin _onlyInstance = new ExpSchema_Builtin( private static readonly ExpSchema_Builtin _onlyInstance = new ExpSchema_Builtin();
);
private ExpSchema_Builtin() private ExpSchema_Builtin()
: base() : base()
@@ -60,9 +59,7 @@ namespace StgSharp.Script.Express
return; return;
} }
public override bool TryGetConst( public override bool TryGetConst( string name, out ExpElementInstanceBase c )
string name,
out ExpElementInstanceBase c )
{ {
return ConstDict.TryGetValue( name, out c ); return ConstDict.TryGetValue( name, out c );
} }
@@ -73,9 +70,7 @@ namespace StgSharp.Script.Express
return false; return false;
} }
public override bool TryGetFunction( public override bool TryGetFunction( string name, out ExpFunctionSource f )
string name,
out ExpFunctionSource f )
{ {
return FunctionDict.TryGetValue( name, out f! ); return FunctionDict.TryGetValue( name, out f! );
} }
@@ -86,9 +81,7 @@ namespace StgSharp.Script.Express
return false; return false;
} }
public override bool TryGetSchemaInclude( public override bool TryGetSchemaInclude( string name, out ExpSchema include )
string name,
out ExpSchema include )
{ {
include = null!; include = null!;
return false; return false;
@@ -103,37 +96,33 @@ namespace StgSharp.Script.Express
{ {
IEnumerable<KeyValuePair<string, ExpTypeSource>> builtinTypeSource = [ IEnumerable<KeyValuePair<string, ExpTypeSource>> builtinTypeSource = [
new KeyValuePair<string, ExpTypeSource>( new KeyValuePair<string, ExpTypeSource>(
PoolString( KeyWord.Integer ), PoolString( Keyword.Integer ),
new ExpBuiltinType( KeyWord.Integer, typeof( int ) ) ), new ExpBuiltinType( Keyword.Integer, typeof( int ) ) ),
new KeyValuePair<string, ExpTypeSource>( new KeyValuePair<string, ExpTypeSource>(
PoolString( KeyWord.Real ), PoolString( Keyword.Real ), new ExpBuiltinType( Keyword.Real, typeof( float ) ) ),
new ExpBuiltinType( KeyWord.Real, typeof( float ) ) ),
new KeyValuePair<string, ExpTypeSource>( new KeyValuePair<string, ExpTypeSource>(
PoolString( KeyWord.Boolean ), PoolString( Keyword.Boolean ),
new ExpBuiltinType( KeyWord.Boolean, typeof( bool ) ) ), new ExpBuiltinType( Keyword.Boolean, typeof( bool ) ) ),
new KeyValuePair<string, ExpTypeSource>( new KeyValuePair<string, ExpTypeSource>(
PoolString( KeyWord.Logical ), PoolString( Keyword.Logical ),
new ExpBuiltinType( KeyWord.Logical, typeof( ExpLogic ) ) ), new ExpBuiltinType( Keyword.Logical, typeof( ExpLogic ) ) ),
new KeyValuePair<string, ExpTypeSource>( new KeyValuePair<string, ExpTypeSource>(
PoolString( KeyWord.String ), PoolString( Keyword.String ),
new ExpBuiltinType( KeyWord.String, typeof( string ) ) ), new ExpBuiltinType( Keyword.String, typeof( string ) ) ),
new KeyValuePair<string, ExpTypeSource>( new KeyValuePair<string, ExpTypeSource>(
PoolString( KeyWord.Binary ), PoolString( Keyword.Binary ),
new ExpBuiltinType( KeyWord.Binary, typeof( BitArray ) ) ), new ExpBuiltinType( Keyword.Binary, typeof( BitArray ) ) ),
]; ];
TypeDict = new Dictionary<string, ExpTypeSource>( TypeDict = new Dictionary<string, ExpTypeSource>( builtinTypeSource,
builtinTypeSource, Multiplexer ).ToFrozenDictionary(); Multiplexer ).ToFrozenDictionary();
ConstDict = new Dictionary<string, ExpElementInstanceBase>( ConstDict = new Dictionary<string, ExpElementInstanceBase>( Multiplexer ) {
Multiplexer ) {
{ PoolString( "PI" ), new ExpRealNumberNode( { PoolString( "PI" ), new ExpRealNumberNode(
new Token( PoolString( "PI" ), -1, -1, TokenFlag.Number ), new Token( PoolString( "PI" ), -1, -1, TokenFlag.Number ), MathF.PI ) },
MathF.PI ) },
{ PoolString( "E" ), new ExpRealNumberNode( { PoolString( "E" ), new ExpRealNumberNode(
new Token( PoolString( "E" ), -1, -1, TokenFlag.Number ), new Token( PoolString( "E" ), -1, -1, TokenFlag.Number ), MathF.E ) },
MathF.E ) },
}.ToFrozenDictionary(); }.ToFrozenDictionary();
} }
@@ -1,6 +1,6 @@
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// file="ExpressCompile.cs" // file="ExpCompile.cs"
// Project: StgSharp // Project: StgSharp
// AuthorGroup: Nitload Space // AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved. // Copyright (c) Nitload Space. All rights reserved.
@@ -88,32 +88,28 @@ namespace StgSharp.Script.Express
InitPrecedence(); InitPrecedence();
_operatorsWithLetter = [ _operatorsWithLetter = [
KeyWord.Add, Keyword.Add,
KeyWord.Sub, Keyword.Sub,
KeyWord.Mul, Keyword.Mul,
KeyWord.Div, Keyword.Div,
KeyWord.And, Keyword.And,
KeyWord.Or, Keyword.Or,
KeyWord.Xor, Keyword.Xor,
KeyWord.AndOr, Keyword.AndOr,
KeyWord.Not, Keyword.Not,
]; ];
ExpSchema_Builtin.Only ExpSchema_Builtin.Only
.TryGetType( .TryGetType(
PoolString( KeyWord.Integer ), PoolString( Keyword.Integer ), out ExpTypeSource? _expInt );
out ExpTypeSource? _expInt );
ExpInt = _expInt; ExpInt = _expInt;
ExpSchema_Builtin.Only ExpSchema_Builtin.Only
.TryGetType( .TryGetType( PoolString( Keyword.Real ), out ExpTypeSource? _expReal );
PoolString( KeyWord.Real ),
out ExpTypeSource? _expReal );
ExpReal = _expReal; ExpReal = _expReal;
ExpSchema_Builtin.Only ExpSchema_Builtin.Only
.TryGetType( .TryGetType(
PoolString( KeyWord.Boolean ), PoolString( Keyword.Boolean ), out ExpTypeSource? _expBool );
out ExpTypeSource? _expBool );
ExpBool = _expBool; ExpBool = _expBool;
_emptyCache = new StringPool(); _emptyCache = new StringPool();
@@ -40,20 +40,16 @@ namespace StgSharp.Script.Express
public static partial class ExpressCompile public static partial class ExpressCompile
{ {
public static bool TryGetOperatorPrecedence( public static bool TryGetOperatorPrecedence( string operatorName, out int precedence )
string operatorName,
out int precedence )
{ {
return _operatorPrecedence.TryGetValue( return _operatorPrecedence.TryGetValue( operatorName, out precedence );
operatorName, out precedence );
} }
public static bool TryGetSuperTypeOperatorPrecedence( public static bool TryGetSuperTypeOperatorPrecedence(
string operatorName, string operatorName,
out int precedence ) out int precedence )
{ {
return _superTypeOperatorPrecedent.TryGetValue( return _superTypeOperatorPrecedent.TryGetValue( operatorName, out precedence );
operatorName, out precedence );
} }
private static void InitPrecedence() private static void InitPrecedence()
@@ -86,16 +82,18 @@ namespace StgSharp.Script.Express
new KeyValuePair<string, int>( PoolString( ":<>:" ), 6 ), new KeyValuePair<string, int>( PoolString( ":<>:" ), 6 ),
new KeyValuePair<string, int>( PoolString( "IN" ), 6 ), new KeyValuePair<string, int>( PoolString( "IN" ), 6 ),
new KeyValuePair<string, int>( PoolString( "LIKE" ), 6 ), new KeyValuePair<string, int>( PoolString( "LIKE" ), 6 ),
new KeyValuePair<string, int>( PoolString( Keyword.Assignment ), 7 )
]; ];
_operatorPrecedence = new Dictionary<string, int>( _operatorPrecedence = new Dictionary<string, int>( source,
source, _multiplexer ).ToFrozenDictionary(); _multiplexer ).ToFrozenDictionary();
source = [ source = [
new KeyValuePair<string, int>( "ONEOF", 1 ), new KeyValuePair<string, int>( "ONEOF", 1 ),
new KeyValuePair<string, int>( "AND", 2 ), new KeyValuePair<string, int>( "AND", 2 ),
new KeyValuePair<string, int>( "ANDOR", 3 ), new KeyValuePair<string, int>( "ANDOR", 3 ),
]; ];
_superTypeOperatorPrecedent = new Dictionary<string, int>( _superTypeOperatorPrecedent = new Dictionary<string, int>( source,
source, _multiplexer ).ToFrozenDictionary(); _multiplexer ).ToFrozenDictionary(
);
} }
#pragma warning disable CS8618 #pragma warning disable CS8618
+15 -49
View File
@@ -46,12 +46,11 @@ namespace StgSharp.Script.Express
{ {
_keywordSet = new(); _keywordSet = new();
FieldInfo[] fields = typeof( KeyWord ).GetFields( FieldInfo[] fields = typeof( Keyword ).GetFields( BindingFlags.Public );
BindingFlags.Public );
ParallelLoopResult result = Parallel.ForEach( ParallelLoopResult result = Parallel.ForEach(
fields, static( field ) => { fields, static( field ) => {
if( field.FieldType == typeof( string ) && field.GetValue( if( field.FieldType == typeof( string ) && field.GetValue( null ) is string str )
null ) is string str ) { {
_compileStringCache.GetOrAdd( str ); _compileStringCache.GetOrAdd( str );
_keywordSet.Add( str ); _keywordSet.Add( str );
} }
@@ -59,7 +58,7 @@ namespace StgSharp.Script.Express
while( !result.IsCompleted ) { } while( !result.IsCompleted ) { }
} }
public static class KeyWord public static class Keyword
{ {
public static HashSet<string> ScopeBlock = new HashSet<string> { public static HashSet<string> ScopeBlock = new HashSet<string> {
@@ -74,24 +73,15 @@ namespace StgSharp.Script.Express
CommentStart, CommentEnd, ColonEqualColon, ColonNotEqualColon CommentStart, CommentEnd, ColonEqualColon, ColonNotEqualColon
]; ];
public static HashSet<string> DataTypes public static HashSet<string> DataTypes { get; } = [
{
get;
} = [
Array, Bag, Binary, Boolean, Enumeration, Integer, List, Logical, Number, Of, Real, Set, String Array, Bag, Binary, Boolean, Enumeration, Integer, List, Logical, Number, Of, Real, Set, String
]; ];
public static HashSet<string> InternalProcess public static HashSet<string> InternalProcess { get; } = [
{
get;
} = [
Insert, Remove Insert, Remove
]; ];
public static HashSet<string> BuiltinFunctions public static HashSet<string> BuiltinFunctions { get; } = [
{
get;
} = [
Abs, Acos, Asin, Atan, BLength, Cos, Exists, Exp, Abs, Acos, Asin, Atan, BLength, Cos, Exists, Exp,
Format, HiBound, HiIndex, Length, LoBound, Log, Format, HiBound, HiIndex, Length, LoBound, Log,
Log2, Log10, LoIndex, Nvl, Odd, Rolesof, Sin, Log2, Log10, LoIndex, Nvl, Odd, Rolesof, Sin,
@@ -99,62 +89,38 @@ namespace StgSharp.Script.Express
ValueIn, ValueUnique ValueIn, ValueUnique
]; ];
public static HashSet<string> Literals public static HashSet<string> Literals { get; } = [
{
get;
} = [
QuestionMark, Self, Const, E, Pi, False, True, Unknown QuestionMark, Self, Const, E, Pi, False, True, Unknown
]; ];
public static HashSet<string> Operators public static HashSet<string> Operators { get; } = [
{
get;
} = [
And, AndOr, Div, In, Like, Mod, Not, Or, Xor, And, AndOr, Div, In, Like, Mod, Not, Or, Xor,
Add, Sub, Mul, Slash, Equal, NotEqual, Add, Sub, Mul, Slash, Equal, NotEqual,
LessThan, GreaterThan, LessThanOrEqual, GreaterThanOrEqual LessThan, GreaterThan, LessThanOrEqual, GreaterThanOrEqual
]; ];
public static HashSet<string> Aliasing public static HashSet<string> Aliasing { get; } = [
{
get;
} = [
Alias, Renamed Alias, Renamed
]; ];
public static HashSet<string> ModifiersAttributes public static HashSet<string> ModifiersAttributes { get; } = [
{
get;
} = [
Abstract, Aggregate, As, BasedOn, By, Escape, Fixed, From, Use, With Abstract, Aggregate, As, BasedOn, By, Escape, Fixed, From, Use, With
]; ];
public static HashSet<string> QueryReference public static HashSet<string> QueryReference { get; } = [
{
get;
} = [
Query, Reference, Select Query, Reference, Select
]; ];
public static HashSet<string> ConstraintsInheritance public static HashSet<string> ConstraintsInheritance { get; } = [
{
get;
} = [
Oneof, Optional, Subtype, SubtypeConstraint, Supertype, TotalOver, Unique, Where Oneof, Optional, Subtype, SubtypeConstraint, Supertype, TotalOver, Unique, Where
]; ];
public static HashSet<string> Declarations public static HashSet<string> Declarations { get; } = [
{
get;
} = [
Constant, Derive, Entity, Extensible, Fixed, Function, Generic, Constant, Derive, Entity, Extensible, Fixed, Function, Generic,
GenericEntity, Inverse, Local, Procedure, Rule, Schema, Type, Var GenericEntity, Inverse, Local, Procedure, Rule, Schema, Type, Var
]; ];
public static HashSet<string> FlowControl public static HashSet<string> FlowControl { get; } = [
{
get;
} = [
Begin, Case, Else, End, For, If, Otherwise, Repeat, Return, Skip, Then, To, Until, While Begin, Case, Else, End, For, If, Otherwise, Repeat, Return, Skip, Then, To, Until, While
]; ];
+6 -10
View File
@@ -45,8 +45,7 @@ namespace StgSharp.Script.Express
private Dictionary<string, ExpElementInstanceBase> _constants; private Dictionary<string, ExpElementInstanceBase> _constants;
private IScriptSourceProvider _sourceProvider; private IScriptSourceProvider _sourceProvider;
public ExpConstantCollectionSource( public ExpConstantCollectionSource( IScriptSourceProvider sourceProvider )
IScriptSourceProvider sourceProvider )
{ {
_sourceProvider = sourceProvider; _sourceProvider = sourceProvider;
_constants = new Dictionary<string, ExpElementInstanceBase>( _constants = new Dictionary<string, ExpElementInstanceBase>(
@@ -59,7 +58,7 @@ namespace StgSharp.Script.Express
public override string Name public override string Name
{ {
get => ExpressCompile.KeyWord.Constant; get => ExpressCompile.Keyword.Constant;
} }
public override void Analyse() public override void Analyse()
@@ -75,24 +74,21 @@ namespace StgSharp.Script.Express
if( _constants.Count == 0 ) { if( _constants.Count == 0 ) {
return null!; return null!;
} }
if( _constants.TryGetValue( str, if( _constants.TryGetValue( str, out ExpElementInstanceBase? token ) ) {
out ExpElementInstanceBase? token ) ) {
return token; return token;
} }
return null!; return null!;
} }
public bool TryGetConstant( public bool TryGetConstant( string name, out ExpElementInstanceBase instance )
string name,
out ExpElementInstanceBase instance )
{ {
return _constants.TryGetValue( name, out instance ); return _constants.TryGetValue( name, out instance );
} }
public override bool TryGetMember( string name, out ExpNode memberNode ) public override bool TryGetMember( string name, out ExpNode memberNode )
{ {
if( _constants.TryGetValue( name, if( _constants.TryGetValue( name, out ExpElementInstanceBase? node ) )
out ExpElementInstanceBase? node ) ) { {
memberNode = node; memberNode = node;
return true; return true;
} }
@@ -46,7 +46,12 @@ namespace StgSharp.Script.Express
private ExpNode _left; private ExpNode _left;
private ExpNode _right; private ExpNode _right;
private ExpBinaryOperatorNode( Token source ) : base( source ) { } private ExpBinaryOperatorNode( Token source, ExpNode left, ExpNode right )
: base( source )
{
_left = left;
_right = right;
}
public override ExpInstantiableElement EqualityTypeConvert => _returnType; public override ExpInstantiableElement EqualityTypeConvert => _returnType;
@@ -54,77 +59,59 @@ namespace StgSharp.Script.Express
public override ExpNode Right => _right; public override ExpNode Right => _right;
public static ExpBinaryOperatorNode Add( public static ExpBinaryOperatorNode Add( Token source, ExpNode left, ExpNode right )
Token source,
ExpNode left,
ExpNode right )
{ {
if( !left.IsNumber && !right.IsNumber ) { if( !left.IsNumber && !right.IsNumber ) {
throw new ExpInvalidTypeException( throw new ExpInvalidTypeException( "Number", left.EqualityTypeConvert.Name );
"Number", left.EqualityTypeConvert.Name );
} }
bool isFloat = bool isFloat =
( left._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == 0 || ( right._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == ( left._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == 0 || ( right._nodeFlag | ExpNodeFlag.BuiltinType_Real ) ==
0; 0;
return new ExpBinaryOperatorNode( source ) return new ExpBinaryOperatorNode( source, left, right )
{ {
_returnType = isFloat ? _returnType = isFloat ? ExpressCompile.ExpReal : ExpressCompile.ExpInt,
ExpressCompile.ExpReal : ExpressCompile.ExpInt,
_nodeFlag = ExpNodeFlag.Operator_Binary | ExpNodeFlag.BuiltinType_Number, _nodeFlag = ExpNodeFlag.Operator_Binary | ExpNodeFlag.BuiltinType_Number,
CodeConvertTemplate = "{0} + {1}", CodeConvertTemplate = "{0} + {1}",
}; };
} }
public static ExpBinaryOperatorNode Assign( public static ExpBinaryOperatorNode Assign( Token source, ExpNode left, ExpNode right )
Token source,
ExpNode left,
ExpNode right )
{ {
if( left.EqualityTypeConvert != right.EqualityTypeConvert ) { if( left.EqualityTypeConvert != right.EqualityTypeConvert ) {
throw new ExpInvalidTypeException( throw new ExpInvalidTypeException(
left.EqualityTypeConvert.Name, left.EqualityTypeConvert.Name, right.EqualityTypeConvert.Name );
right.EqualityTypeConvert.Name );
} }
return new ExpBinaryOperatorNode( source ) return new ExpBinaryOperatorNode( source, left, right )
{ {
_returnType = ExpInstantiableElement.Void, _returnType = ExpInstantiableElement.Void,
_nodeFlag = ExpNodeFlag.Operator_Binary | left._nodeFlag, _nodeFlag = ExpNodeFlag.Operator_Binary | left._nodeFlag,
CodeConvertTemplate = "{0} & {1}", CodeConvertTemplate = "{0} = {1}",
}; };
} }
public static ExpBinaryOperatorNode Div( public static ExpBinaryOperatorNode Div( Token source, ExpNode left, ExpNode right )
Token source,
ExpNode left,
ExpNode right )
{ {
if( !left.IsNumber && !right.IsNumber ) { if( !left.IsNumber && !right.IsNumber ) {
throw new ExpInvalidTypeException( throw new ExpInvalidTypeException( "Number", left.EqualityTypeConvert.Name );
"Number", left.EqualityTypeConvert.Name );
} }
bool isFloat = bool isFloat =
( left._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == 0 || ( right._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == ( left._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == 0 || ( right._nodeFlag | ExpNodeFlag.BuiltinType_Real ) ==
0; 0;
return new ExpBinaryOperatorNode( source ) return new ExpBinaryOperatorNode( source, left, right )
{ {
_returnType = isFloat ? _returnType = isFloat ? ExpressCompile.ExpReal : ExpressCompile.ExpInt,
ExpressCompile.ExpReal : ExpressCompile.ExpInt,
_nodeFlag = ExpNodeFlag.Operator_Binary | ExpNodeFlag.BuiltinType_Number, _nodeFlag = ExpNodeFlag.Operator_Binary | ExpNodeFlag.BuiltinType_Number,
CodeConvertTemplate = "{0} / {1}", CodeConvertTemplate = "{0} / {1}",
}; };
} }
public static ExpBinaryOperatorNode EqualTo( public static ExpBinaryOperatorNode EqualTo( Token source, ExpNode left, ExpNode right )
Token source,
ExpNode left,
ExpNode right )
{ {
if( left.EqualityTypeConvert != right.EqualityTypeConvert ) { if( left.EqualityTypeConvert != right.EqualityTypeConvert ) {
throw new ExpInvalidTypeException( throw new ExpInvalidTypeException(
left.EqualityTypeConvert.Name, left.EqualityTypeConvert.Name, right.EqualityTypeConvert.Name );
right.EqualityTypeConvert.Name );
} }
return new ExpBinaryOperatorNode( source ) return new ExpBinaryOperatorNode( source, left, right )
{ {
_returnType = ExpressCompile.ExpBool, _returnType = ExpressCompile.ExpBool,
_nodeFlag = ExpNodeFlag.BuiltinType_Boolean | ExpNodeFlag.Operator_Binary, _nodeFlag = ExpNodeFlag.BuiltinType_Boolean | ExpNodeFlag.Operator_Binary,
@@ -132,16 +119,12 @@ namespace StgSharp.Script.Express
}; };
} }
public static ExpBinaryOperatorNode GreaterThan( public static ExpBinaryOperatorNode GreaterThan( Token source, ExpNode left, ExpNode right )
Token source,
ExpNode left,
ExpNode right )
{ {
if( !left.IsNumber && !right.IsNumber ) { if( !left.IsNumber && !right.IsNumber ) {
throw new ExpInvalidTypeException( throw new ExpInvalidTypeException( "Number", left.EqualityTypeConvert.Name );
"Number", left.EqualityTypeConvert.Name );
} }
return new ExpBinaryOperatorNode( source ) return new ExpBinaryOperatorNode( source, left, right )
{ {
_returnType = ExpressCompile.ExpBool, _returnType = ExpressCompile.ExpBool,
_nodeFlag = ExpNodeFlag.BuiltinType_Boolean | ExpNodeFlag.Operator_Binary, _nodeFlag = ExpNodeFlag.BuiltinType_Boolean | ExpNodeFlag.Operator_Binary,
@@ -149,16 +132,12 @@ namespace StgSharp.Script.Express
}; };
} }
public static ExpBinaryOperatorNode LessThan( public static ExpBinaryOperatorNode LessThan( Token source, ExpNode left, ExpNode right )
Token source,
ExpNode left,
ExpNode right )
{ {
if( !left.IsNumber && !right.IsNumber ) { if( !left.IsNumber && !right.IsNumber ) {
throw new ExpInvalidTypeException( throw new ExpInvalidTypeException( "Number", left.EqualityTypeConvert.Name );
"Number", left.EqualityTypeConvert.Name );
} }
return new ExpBinaryOperatorNode( source ) return new ExpBinaryOperatorNode( source, left, right )
{ {
_returnType = ExpressCompile.ExpBool, _returnType = ExpressCompile.ExpBool,
_nodeFlag = ExpNodeFlag.BuiltinType_Boolean | ExpNodeFlag.Operator_Binary, _nodeFlag = ExpNodeFlag.BuiltinType_Boolean | ExpNodeFlag.Operator_Binary,
@@ -166,38 +145,29 @@ namespace StgSharp.Script.Express
}; };
} }
public static ExpBinaryOperatorNode Mul( public static ExpBinaryOperatorNode Mul( Token source, ExpNode left, ExpNode right )
Token source,
ExpNode left,
ExpNode right )
{ {
if( !left.IsNumber && !right.IsNumber ) { if( !left.IsNumber && !right.IsNumber ) {
throw new ExpInvalidTypeException( throw new ExpInvalidTypeException( "Number", left.EqualityTypeConvert.Name );
"Number", left.EqualityTypeConvert.Name );
} }
bool isFloat = bool isFloat =
( left._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == 0 || ( right._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == ( left._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == 0 || ( right._nodeFlag | ExpNodeFlag.BuiltinType_Real ) ==
0; 0;
return new ExpBinaryOperatorNode( source ) return new ExpBinaryOperatorNode( source, left, right )
{ {
_returnType = isFloat ? _returnType = isFloat ? ExpressCompile.ExpReal : ExpressCompile.ExpInt,
ExpressCompile.ExpReal : ExpressCompile.ExpInt,
_nodeFlag = ExpNodeFlag.Operator_Binary | ExpNodeFlag.BuiltinType_Number, _nodeFlag = ExpNodeFlag.Operator_Binary | ExpNodeFlag.BuiltinType_Number,
CodeConvertTemplate = "{0} * {1}", CodeConvertTemplate = "{0} * {1}",
}; };
} }
public static ExpBinaryOperatorNode NotEqualTo( public static ExpBinaryOperatorNode NotEqualTo( Token source, ExpNode left, ExpNode right )
Token source,
ExpNode left,
ExpNode right )
{ {
if( left.EqualityTypeConvert != right.EqualityTypeConvert ) { if( left.EqualityTypeConvert != right.EqualityTypeConvert ) {
throw new ExpInvalidTypeException( throw new ExpInvalidTypeException(
left.EqualityTypeConvert.Name, left.EqualityTypeConvert.Name, right.EqualityTypeConvert.Name );
right.EqualityTypeConvert.Name );
} }
return new ExpBinaryOperatorNode( source ) return new ExpBinaryOperatorNode( source, left, right )
{ {
_returnType = ExpressCompile.ExpBool, _returnType = ExpressCompile.ExpBool,
_nodeFlag = ExpNodeFlag.BuiltinType_Boolean | ExpNodeFlag.Operator_Binary, _nodeFlag = ExpNodeFlag.BuiltinType_Boolean | ExpNodeFlag.Operator_Binary,
@@ -205,16 +175,12 @@ namespace StgSharp.Script.Express
}; };
} }
public static ExpBinaryOperatorNode SmallerThan( public static ExpBinaryOperatorNode SmallerThan( Token source, ExpNode left, ExpNode right )
Token source,
ExpNode left,
ExpNode right )
{ {
if( !left.IsNumber && !right.IsNumber ) { if( !left.IsNumber && !right.IsNumber ) {
throw new ExpInvalidTypeException( throw new ExpInvalidTypeException( "Number", left.EqualityTypeConvert.Name );
"Number", left.EqualityTypeConvert.Name );
} }
return new ExpBinaryOperatorNode( source ) return new ExpBinaryOperatorNode( source, left, right )
{ {
_returnType = ExpressCompile.ExpBool, _returnType = ExpressCompile.ExpBool,
_nodeFlag = ExpNodeFlag.BuiltinType_Boolean | ExpNodeFlag.Operator_Binary, _nodeFlag = ExpNodeFlag.BuiltinType_Boolean | ExpNodeFlag.Operator_Binary,
@@ -222,22 +188,17 @@ namespace StgSharp.Script.Express
}; };
} }
public static ExpBinaryOperatorNode Sub( public static ExpBinaryOperatorNode Sub( Token source, ExpNode left, ExpNode right )
Token source,
ExpNode left,
ExpNode right )
{ {
if( !left.IsNumber && !right.IsNumber ) { if( !left.IsNumber && !right.IsNumber ) {
throw new ExpInvalidTypeException( throw new ExpInvalidTypeException( "Number", left.EqualityTypeConvert.Name );
"Number", left.EqualityTypeConvert.Name );
} }
bool isFloat = bool isFloat =
( left._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == 0 || ( right._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == ( left._nodeFlag | ExpNodeFlag.BuiltinType_Real ) == 0 || ( right._nodeFlag | ExpNodeFlag.BuiltinType_Real ) ==
0; 0;
return new ExpBinaryOperatorNode( source ) return new ExpBinaryOperatorNode( source, left, right )
{ {
_returnType = isFloat ? _returnType = isFloat ? ExpressCompile.ExpReal : ExpressCompile.ExpInt,
ExpressCompile.ExpReal : ExpressCompile.ExpInt,
_nodeFlag = ExpNodeFlag.Operator_Binary | ExpNodeFlag.BuiltinType_Number, _nodeFlag = ExpNodeFlag.Operator_Binary | ExpNodeFlag.BuiltinType_Number,
CodeConvertTemplate = "{0} - {1}", CodeConvertTemplate = "{0} - {1}",
}; };
@@ -55,9 +55,7 @@ namespace StgSharp.Script.Express
get get
{ {
ExpSchema.BuiltinSchema ExpSchema.BuiltinSchema
.TryGetType( .TryGetType( ExpressCompile.Keyword.String, out ExpTypeSource? strType );
ExpressCompile.KeyWord.String,
out ExpTypeSource? strType );
return strType; return strType;
} }
} }
@@ -42,22 +42,19 @@ namespace StgSharp.Script.Express
private ExpElementInstanceBase _instance; private ExpElementInstanceBase _instance;
internal ExpInstanceReferenceNode( internal ExpInstanceReferenceNode( Token source, ExpElementInstanceBase instance )
Token source,
ExpElementInstanceBase instance )
: base( source ) : base( source )
{ {
_instance = instance; _instance = instance;
_nodeFlag = ( _instance._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) ); _nodeFlag = ( _instance._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
} }
internal ExpInstanceReferenceNode( internal ExpInstanceReferenceNode( Token source, ExpInstanceReferenceNode reference )
Token source,
ExpInstanceReferenceNode reference )
: base( source ) : base( source )
{ {
_instance = reference._instance; _instance = reference._instance;
_nodeFlag = ( _instance._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) ); _nodeFlag = ( _instance._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
CodeConvertTemplate = source.Value;
} }
public override ExpNode Left => Empty; public override ExpNode Left => Empty;
@@ -68,9 +65,14 @@ namespace StgSharp.Script.Express
[MethodImpl( MethodImplOptions.AggressiveInlining )] [MethodImpl( MethodImplOptions.AggressiveInlining )]
public static ExpInstanceReferenceNode Create( public static ExpInstanceReferenceNode Create(
Token source, Token source,
ExpElementInstanceBase instance ) ExpElementInstanceBase instance )
{ {
/*
if( instance.CodeConvertTemplate != source.Value ) {
throw new ExpCompileException( source, "Token point at a wrong instance" );
}
/**/
return new ExpInstanceReferenceNode( source, instance ); return new ExpInstanceReferenceNode( source, instance );
} }
@@ -50,14 +50,14 @@ namespace StgSharp.Script.Express
} }
public override IExpElementSource EqualityTypeConvert => ExpSchema.BuiltinSchema public override IExpElementSource EqualityTypeConvert => ExpSchema.BuiltinSchema
.TryGetType( .TryGetType(
ExpressCompile.KeyWord.Integer, ExpressCompile.Keyword.Integer,
out ExpTypeSource? type ) ? out ExpTypeSource? type ) ?
type : throw new ExpCompileNotInitializedException(); type : throw new ExpCompileNotInitializedException();
public int Value => _value; public int Value => _value;
public override string TypeName => ExpressCompile.KeyWord.Integer; public override string TypeName => ExpressCompile.Keyword.Integer;
} }
@@ -74,9 +74,9 @@ namespace StgSharp.Script.Express
} }
public override IExpElementSource EqualityTypeConvert => ExpSchema.BuiltinSchema public override IExpElementSource EqualityTypeConvert => ExpSchema.BuiltinSchema
.TryGetType( .TryGetType(
ExpressCompile.KeyWord.String, ExpressCompile.Keyword.String,
out ExpTypeSource? type ) ? out ExpTypeSource? type ) ?
type : throw new ExpCompileNotInitializedException(); type : throw new ExpCompileNotInitializedException();
public override string TypeName => EqualityTypeConvert.Name; public override string TypeName => EqualityTypeConvert.Name;
@@ -100,9 +100,9 @@ namespace StgSharp.Script.Express
public bool Value => _value; public bool Value => _value;
public override IExpElementSource EqualityTypeConvert => ExpSchema.BuiltinSchema public override IExpElementSource EqualityTypeConvert => ExpSchema.BuiltinSchema
.TryGetType( .TryGetType(
ExpressCompile.KeyWord.Boolean, ExpressCompile.Keyword.Boolean,
out ExpTypeSource? type ) ? out ExpTypeSource? type ) ?
type : throw new ExpCompileNotInitializedException(); type : throw new ExpCompileNotInitializedException();
public override string TypeName => EqualityTypeConvert.Name; public override string TypeName => EqualityTypeConvert.Name;
@@ -124,9 +124,9 @@ namespace StgSharp.Script.Express
public float Value => _value; public float Value => _value;
public override IExpElementSource EqualityTypeConvert => ExpSchema.BuiltinSchema public override IExpElementSource EqualityTypeConvert => ExpSchema.BuiltinSchema
.TryGetType( .TryGetType(
ExpressCompile.KeyWord.String, ExpressCompile.Keyword.String,
out ExpTypeSource? type ) ? out ExpTypeSource? type ) ?
type : throw new ExpCompileNotInitializedException(); type : throw new ExpCompileNotInitializedException();
public override string TypeName => EqualityTypeConvert.Name; public override string TypeName => EqualityTypeConvert.Name;
@@ -148,9 +148,9 @@ namespace StgSharp.Script.Express
public ExpLogic Value => _value; public ExpLogic Value => _value;
public override IExpElementSource EqualityTypeConvert => ExpSchema.BuiltinSchema public override IExpElementSource EqualityTypeConvert => ExpSchema.BuiltinSchema
.TryGetType( .TryGetType(
ExpressCompile.KeyWord.Logical, ExpressCompile.Keyword.Logical,
out ExpTypeSource? type ) ? out ExpTypeSource? type ) ?
type : throw new ExpCompileNotInitializedException(); type : throw new ExpCompileNotInitializedException();
public override string TypeName => EqualityTypeConvert.Name; public override string TypeName => EqualityTypeConvert.Name;
+10 -27
View File
@@ -56,37 +56,20 @@ namespace StgSharp.Script.Express
get { return ( _nodeFlag | ExpNodeFlag.BuiltinType_Number ) != 0; } get { return ( _nodeFlag | ExpNodeFlag.BuiltinType_Number ) != 0; }
} }
public abstract ExpNode Left public abstract ExpNode Left { get; }
{
get;
}
public static ExpNode Empty public static ExpNode Empty
{ {
get => ExpEmptyNode._only; get => ExpEmptyNode._only;
} }
public ExpNode Next public ExpNode Next { get; set; }
{
get;
set;
}
public abstract ExpNode Right public abstract ExpNode Right { get; }
{
get;
}
public ExpNode Previous public ExpNode Previous { get; set; }
{
get;
set;
}
public abstract IExpElementSource EqualityTypeConvert public abstract IExpElementSource EqualityTypeConvert { get; }
{
get;
}
public int Line => _source.Line; public int Line => _source.Line;
@@ -94,10 +77,11 @@ namespace StgSharp.Script.Express
public long NodeFlag => ( long )_nodeFlag; public long NodeFlag => ( long )_nodeFlag;
public string CodeConvertTemplate public string CodeConvertTemplate { get; init; }
public Token Source
{ {
get; get => _source;
init;
} }
public void AppendNode( ExpNode nextNode ) public void AppendNode( ExpNode nextNode )
@@ -160,8 +144,7 @@ namespace StgSharp.Script.Express
public ExpEmptyNode() : base( Token.Empty ) { } public ExpEmptyNode() : base( Token.Empty ) { }
public ExpEmptyNode( int line, int column ) public ExpEmptyNode( int line, int column )
: base( : base( new Token( string.Empty, line, column, TokenFlag.None ) ) { }
new Token( string.Empty, line, column, TokenFlag.None ) ) { }
public override ExpInstantiableElement EqualityTypeConvert => ExpInstantiableElement.Void; public override ExpInstantiableElement EqualityTypeConvert => ExpInstantiableElement.Void;
@@ -56,33 +56,36 @@ namespace StgSharp.Script.Express
public abstract class ExpElementInstanceBase : ExpNode public abstract class ExpElementInstanceBase : ExpNode
{ {
protected ExpElementInstanceBase( Token source ) : base( source ) { } protected ExpElementInstanceBase( Token source )
: base( source )
public ExpElementType ElementType
{ {
get; CodeConvertTemplate = source.Value;
} }
public ExpElementType ElementType { get; }
public override ExpNode Left => Empty; public override ExpNode Left => Empty;
public override ExpNode Right => Empty; public override ExpNode Right => Empty;
public abstract string TypeName public abstract string TypeName { get; }
{
get;
}
public static ExpElementInstanceBase CreateLiteral( Token t ) public static ExpElementInstanceBase CreateLiteral( Token t )
{ {
if( int.TryParse( t.Value, out int _int ) ) { if( int.TryParse( t.Value, out int _int ) )
{
return new ExpIntNode( t, _int ); return new ExpIntNode( t, _int );
} else if( float.TryParse( t.Value, out float _float ) ) { } else if( float.TryParse( t.Value, out float _float ) )
{
return new ExpRealNumberNode( t, _float ); return new ExpRealNumberNode( t, _float );
} else if( bool.TryParse( t.Value, out bool _bool ) ) { } else if( bool.TryParse( t.Value, out bool _bool ) )
{
return new ExpBoolNode( t, _bool ); return new ExpBoolNode( t, _bool );
} else if( ExpLogic.TryParse( t.Value, out ExpLogic _logic ) ) { } else if( ExpLogic.TryParse( t.Value, out ExpLogic _logic ) )
{
return new ExpLogicValueNode( t, _logic ); return new ExpLogicValueNode( t, _logic );
} else { } else
{
return new ExpStringNode( t, t.Value ); return new ExpStringNode( t, t.Value );
} }
} }
@@ -34,7 +34,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using ExpKeyword = StgSharp.Script.Express.ExpressCompile.KeyWord; using ExpKeyword = StgSharp.Script.Express.ExpressCompile.Keyword;
namespace StgSharp.Script.Express namespace StgSharp.Script.Express
{ {
@@ -43,15 +43,18 @@ namespace StgSharp.Script.Express
private bool TryParseBranch( Token t ) private bool TryParseBranch( Token t )
{ {
if( t.Value == ExpKeyword.Case ) { if( t.Value == ExpKeyword.Case )
{
_cache.PushOperator( t ); _cache.PushOperator( t );
_cache.IncreaseDepth( ( int )ExpCompileStateCode.CaseBranch ); _cache.IncreaseDepth( ( int )ExpCompileStateCode.CaseBranch );
return true; return true;
} else if( t.Value == ExpKeyword.If ) { } else if( t.Value == ExpKeyword.If )
{
_cache.PushOperator( t ); _cache.PushOperator( t );
_cache.IncreaseDepth( ( int )ExpCompileStateCode.IfBranch ); _cache.IncreaseDepth( ( int )ExpCompileStateCode.IfBranch );
return true; return true;
} else if( t.Value == ExpKeyword.Repeat ) { } else if( t.Value == ExpKeyword.Repeat )
{
_cache.PushOperator( t ); _cache.PushOperator( t );
_cache.IncreaseDepth( ( int )ExpCompileStateCode.RepeatLoop ); _cache.IncreaseDepth( ( int )ExpCompileStateCode.RepeatLoop );
return true; return true;
@@ -34,7 +34,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using ExpKeyword = StgSharp.Script.Express.ExpressCompile.KeyWord; using ExpKeyword = StgSharp.Script.Express.ExpressCompile.Keyword;
namespace StgSharp.Script.Express namespace StgSharp.Script.Express
{ {
@@ -43,17 +43,16 @@ namespace StgSharp.Script.Express
public int CompareOperatorPrecedence( Token left, Token right ) public int CompareOperatorPrecedence( Token left, Token right )
{ {
ExpressCompile.TryGetOperatorPrecedence( ExpressCompile.TryGetOperatorPrecedence( left.Value, out int leftPrecedence );
left.Value, out int leftPrecedence ); ExpressCompile.TryGetOperatorPrecedence( right.Value, out int rightPrecedence );
ExpressCompile.TryGetOperatorPrecedence(
right.Value, out int rightPrecedence );
return leftPrecedence - rightPrecedence; return leftPrecedence - rightPrecedence;
} }
public bool TryGenerateUnaryNode( Token t, out ExpNode node ) public bool TryGenerateUnaryNode( Token t, out ExpNode node )
{ {
ExpNode operand = GetNextOperandCache(); ExpNode operand = GetNextOperandCache();
switch( t.Value ) { switch( t.Value )
{
case ExpKeyword.UnaryPlus: case ExpKeyword.UnaryPlus:
node = ExpUnaryOperatorNode.UnaryPlus( t, operand ); node = ExpUnaryOperatorNode.UnaryPlus( t, operand );
return true; return true;
@@ -70,12 +69,13 @@ namespace StgSharp.Script.Express
} }
/// <summary> /// <summary>
/// WARNING: This method cannot process INDEXOF, FUNCTION CALLING, LOOP and any ENDING /// WARNING: This method cannot process INDEXOF, FUNCTION CALLING, LOOP and any ENDING
/// SYMBOLS. /// SYMBOLS.
/// </summary> /// </summary>
private ExpNode ConvertOneOperator( Token op ) private ExpNode ConvertAndPushOneOperator( Token op )
{ {
switch( op.Flag ) { switch( op.Flag )
{
case TokenFlag.Symbol_Unary: case TokenFlag.Symbol_Unary:
TryGenerateUnaryNode( op, out ExpNode? node ); TryGenerateUnaryNode( op, out ExpNode? node );
_cache.PushOperand( node ); _cache.PushOperand( node );
@@ -85,31 +85,32 @@ namespace StgSharp.Script.Express
_cache.PushOperand( node ); _cache.PushOperand( node );
return node; return node;
case TokenFlag.Member: case TokenFlag.Member:
if( _context.TryGetFunction( if( _context.TryGetFunction( op.Value, out ExpFunctionSource? f ) )
op.Value, out ExpFunctionSource? f ) ) { {
if( !_cache.PopOperand( out Token t, if( !_cache.PopOperand( out Token t, out ExpNode? p ) )
out ExpNode? p ) ) { {
node = ExpFunctionCallingNode.CallFunction( node = ExpFunctionCallingNode.CallFunction( op, f, p );
op, f, p );
return node; return node;
} else { } else
{
throw new ExpCompileException( throw new ExpCompileException(
t, t,
"An ExpNode for function calling is needed, but a token was popped" ); "An ExpNode for function calling is needed, but a token was popped" );
} }
} else if( ExpSchema.BuiltinSchema } else if( ExpSchema.BuiltinSchema.TryGetFunction( op.Value, out f ) )
.TryGetFunction( op.Value, out f ) ) { {
if( !_cache.PopOperand( out Token t, if( !_cache.PopOperand( out Token t, out ExpNode? p ) )
out ExpNode? p ) ) { {
node = ExpFunctionCallingNode.CallFunction( node = ExpFunctionCallingNode.CallFunction( op, f, p );
op, f, p );
return node; return node;
} else { } else
{
throw new ExpCompileException( throw new ExpCompileException(
t, t,
"An ExpNode for function calling is needed, but a token was popped" ); "An ExpNode for function calling is needed, but a token was popped" );
} }
} else { } else
{
throw new NotImplementedException(); throw new NotImplementedException();
//uncertain case here //uncertain case here
@@ -121,9 +122,10 @@ namespace StgSharp.Script.Express
private bool TryGenerateBinaryNode( Token t, out ExpNode node ) private bool TryGenerateBinaryNode( Token t, out ExpNode node )
{ {
ExpNode left = GetNextOperandCache();
ExpNode right = GetNextOperandCache(); ExpNode right = GetNextOperandCache();
switch( t.Value ) { ExpNode left = GetNextOperandCache();
switch( t.Value )
{
case ExpKeyword.Add: case ExpKeyword.Add:
node = ExpBinaryOperatorNode.Add( t, left, right ); node = ExpBinaryOperatorNode.Add( t, left, right );
return true; return true;
@@ -148,6 +150,9 @@ namespace StgSharp.Script.Express
case ExpKeyword.LessThan: case ExpKeyword.LessThan:
node = ExpBinaryOperatorNode.LessThan( t, left, right ); node = ExpBinaryOperatorNode.LessThan( t, left, right );
return true; return true;
case ExpKeyword.Assignment:
node = ExpBinaryOperatorNode.Assign( t, left, right );
return true;
default: default:
node = ExpNode.Empty; node = ExpNode.Empty;
return false; return false;
@@ -35,7 +35,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using ExpKeyword = StgSharp.Script.Express.ExpressCompile.KeyWord; using ExpKeyword = StgSharp.Script.Express.ExpressCompile.Keyword;
namespace StgSharp.Script.Express namespace StgSharp.Script.Express
{ {
@@ -45,24 +45,24 @@ namespace StgSharp.Script.Express
private void ClosePrefixReverse( Token rightSeparator ) private void ClosePrefixReverse( Token rightSeparator )
{ {
Token op; Token op;
while( _cache.TryPopOperator( out op ) ) { while( _cache.TryPopOperator( out op ) )
if( op.Value == ExpKeyword.Comma ) { {
if( !_cache.TryPopOperand( if( op.Value == ExpKeyword.Comma )
out bool isNode, out Token t1, out ExpNode? n1 ) ) { {
throw new ExpCompileException( if( !_cache.TryPopOperand( out bool isNode, out Token t1, out ExpNode? n1 ) ) {
op, "No expression before a comma" ); throw new ExpCompileException( op, "No expression before a comma" );
} }
if( !isNode ) { if( !isNode )
{
//On some occasions, a token may found, //On some occasions, a token may found,
//but the processor is not implemented //but the processor is not implemented
throw new NotImplementedException(); throw new NotImplementedException();
} }
if( !_cache.TryPopOperand( if( !_cache.TryPopOperand( out isNode, out Token t2, out ExpNode? n2 ) ) {
out isNode, out Token t2, out ExpNode? n2 ) ) { throw new ExpCompileException( op, "No expression before a comma" );
throw new ExpCompileException(
op, "No expression before a comma" );
} }
if( !isNode ) { if( !isNode )
{
//On some occasions, a token may found, //On some occasions, a token may found,
//but the processor is not implemented //but the processor is not implemented
throw new NotImplementedException(); throw new NotImplementedException();
@@ -71,20 +71,20 @@ namespace StgSharp.Script.Express
_cache.PushOperand( n1 ); _cache.PushOperand( n1 );
continue; continue;
} }
ConvertOneOperator( op ); ConvertAndPushOneOperator( op );
ExpNode node = GetNextOperandCache();
_cache.PushOperand( node );
} }
if( !_cache.TryPopOperand( out _, out _, out ExpNode? root ) ) { if( !_cache.TryPopOperand( out _, out _, out ExpNode? root ) ) {
_cache.PushOperand( ExpNode.Empty ); _cache.PushOperand( ExpNode.Empty );
} }
_cache.DecreaseDepth(); _cache.DecreaseDepth();
if( IsSeparatorMatch( _cache.PeekOperator(), rightSeparator ) ) { if( IsSeparatorMatch( _cache.PeekOperator(), rightSeparator ) )
{
_cache.PopOperator(); _cache.PopOperator();
} else { _cache.PushOperand( root );
// some unexpected occasions } else
throw new NotImplementedException(); {
throw new ExpCompileException(
rightSeparator, "Ending of block soes not match its begging" );
} }
} }
@@ -34,26 +34,21 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using ExpKeyword = StgSharp.Script.Express.ExpressCompile.KeyWord; using ExpKeyword = StgSharp.Script.Express.ExpressCompile.Keyword;
namespace StgSharp.Script.Express namespace StgSharp.Script.Express
{ {
public partial class ExpNodeGenerator public partial class ExpNodeGenerator
{ {
private bool IsSeparatorMatch( private bool IsSeparatorMatch( Token leftSperator, Token rightSeparator )
Token leftSperator,
Token rightSeparator )
{ {
return leftSperator.Value switch return leftSperator.Value switch
{ {
ExpKeyword.LeftBrace => rightSeparator.Value == ExpKeyword.LeftBrace => rightSeparator.Value == ExpKeyword.RightBrace,
ExpKeyword.RightBrace, ExpKeyword.LeftParen => rightSeparator.Value == ExpKeyword.RightParen,
ExpKeyword.LeftParen => rightSeparator.Value ==
ExpKeyword.RightParen,
ExpKeyword.Comma => rightSeparator.Value == ExpKeyword.Comma, ExpKeyword.Comma => rightSeparator.Value == ExpKeyword.Comma,
ExpKeyword.Semicolon => rightSeparator.Value == ExpKeyword.Semicolon => rightSeparator.Value == ExpKeyword.Semicolon,
ExpKeyword.Semicolon,
_ => false _ => false
}; };
} }
@@ -63,8 +58,8 @@ namespace StgSharp.Script.Express
if( t.Flag != TokenFlag.Index_Left ) { if( t.Flag != TokenFlag.Index_Left ) {
return false; return false;
} }
if( _cache.TryPeekOperand( if( _cache.TryPeekOperand( out bool isNode, out _, out ExpNode? node ) )
out bool isNode, out _, out ExpNode? node ) ) { {
if( node.EqualityTypeConvert is not ExpCollectionBase ) { if( node.EqualityTypeConvert is not ExpCollectionBase ) {
ExpInvalidSyntaxException.ThrowNonCollectionIndex( t ); ExpInvalidSyntaxException.ThrowNonCollectionIndex( t );
} }
@@ -85,8 +80,7 @@ namespace StgSharp.Script.Express
//make index node //make index node
_cache.PopOperand( out _, out ExpNode? expNode ); _cache.PopOperand( out _, out ExpNode? expNode );
if( !_cache.PopOperand( if( !_cache.PopOperand( out Token colleToken, out ExpNode? colleNode ) ) { }
out Token colleToken, out ExpNode? colleNode ) ) { }
_cache.PushOperand( _cache.PushOperand(
ExpCollectionIndexNode.Create( ExpCollectionIndexNode.Create(
t, ( colleNode as ExpCollectionInstanceBase )!, expNode ) ); t, ( colleNode as ExpCollectionInstanceBase )!, expNode ) );
@@ -120,27 +114,32 @@ namespace StgSharp.Script.Express
if( t.Flag != TokenFlag.Separator_Middle ) { if( t.Flag != TokenFlag.Separator_Middle ) {
return false; return false;
} }
if( _cache.OperatorAheadOfDepth == 0 ) { if( _cache.OperatorAheadOfDepth == 0 )
if( _cache.OperandAheadOfDepth == 1 ) { {
if( _cache.OperandAheadOfDepth == 1 )
{
_cache.PushOperand( t ); _cache.PushOperand( t );
_cache.PushOperator( t ); _cache.PushOperator( t );
return true; return true;
} else { } else
{
ExpInvalidSyntaxException.ThrowNoOperator( t ); ExpInvalidSyntaxException.ThrowNoOperator( t );
} }
} }
Token op; Token op;
processOperator: processOperator:
if( _cache.TryPopOperator( out op ) ) { if( _cache.TryPopOperator( out op ) )
if( op.Value == t.Value ) { {
if( op.Value == t.Value )
{
_cache.PopOperand( out _, out ExpNode? node ); _cache.PopOperand( out _, out ExpNode? node );
//append node to tail //append node to tail
_cache.PushOperand( t ); _cache.PushOperand( t );
_cache.PushOperator( t ); _cache.PushOperator( t );
} else { } else
ExpNode node = ConvertOneOperator( op ); {
_cache.PushOperand( node ); ExpNode node = ConvertAndPushOneOperator( op );
goto processOperator; goto processOperator;
} }
} }
@@ -161,6 +160,7 @@ namespace StgSharp.Script.Express
if( t.Flag != TokenFlag.Separator_Left ) { if( t.Flag != TokenFlag.Separator_Left ) {
return false; return false;
} }
_cache.PushOperator( t );
_cache.IncreaseDepth( ( int )ExpCompileStateCode.PrefixSeparator ); _cache.IncreaseDepth( ( int )ExpCompileStateCode.PrefixSeparator );
return true; return true;
} }
@@ -176,31 +176,35 @@ namespace StgSharp.Script.Express
private bool TryAppendSymbol( Token t ) private bool TryAppendSymbol( Token t )
{ {
if( ( t.Flag & ( TokenFlag.Symbol_Unary | TokenFlag.Symbol_Binary ) ) == if( ( t.Flag & ( TokenFlag.Symbol_Unary | TokenFlag.Symbol_Binary ) ) == 0 ) {
0 ) {
return false; return false;
} }
int cmp = -1; int cmp = -1;
processPrecedence: processPrecedence:
if( _cache.TryPopOperator( out Token tmp ) ) { if( _cache.TryPeekOperator( out Token tmp ) )
{
cmp = CompareOperatorPrecedence( t, tmp ); cmp = CompareOperatorPrecedence( t, tmp );
if( cmp <= 0 ) { if( cmp >= 0 )
ExpNode node = ConvertOneOperator( tmp ); {
_cache.PopOperator();
ExpNode node = ConvertAndPushOneOperator( tmp );
_cache.PushOperand( node ); _cache.PushOperand( node );
goto processPrecedence; goto processPrecedence;
} }
} }
_cache.PushOperand( t ); _cache.PushOperator( t );
return true; return true;
} }
private bool TryParseConstant( Token t ) private bool TryParseConstant( Token t )
{ {
if( t.Value == ExpKeyword.True ) { if( t.Value == ExpKeyword.True )
{
_cache.PushOperand( new ExpBoolNode( t, true ) ); _cache.PushOperand( new ExpBoolNode( t, true ) );
return true; return true;
} else if( t.Value == ExpKeyword.False ) { } else if( t.Value == ExpKeyword.False )
{
_cache.PushOperand( new ExpBoolNode( t, false ) ); _cache.PushOperand( new ExpBoolNode( t, false ) );
return true; return true;
} }
@@ -209,11 +213,12 @@ namespace StgSharp.Script.Express
private bool TryParseFunction( Token t ) private bool TryParseFunction( Token t )
{ {
if( ExpKeyword.BuiltinFunctions.Contains( t.Value ) ) { if( ExpKeyword.BuiltinFunctions.Contains( t.Value ) )
{
_cache.PushOperator( t ); _cache.PushOperator( t );
return true; return true;
} else if( _context.TryGetFunction( } else if( _context.TryGetFunction( t.Value, out ExpFunctionSource? f ) )
t.Value, out ExpFunctionSource? f ) ) { {
_cache.PushOperand( t ); _cache.PushOperand( t );
return true; return true;
} }
@@ -223,9 +228,9 @@ namespace StgSharp.Script.Express
private bool TryParseInstance( Token t ) private bool TryParseInstance( Token t )
{ {
if( _local.TryGetMember( t.Value, if( _local.TryGetMember( t.Value,
out ExpNode? node ) && node is ExpElementInstanceBase instance ) { out ExpNode? node ) && node is ExpElementInstanceBase instance )
_cache.PushOperand( {
ExpInstanceReferenceNode.Create( t, instance ) ); _cache.PushOperand( ExpInstanceReferenceNode.Create( t, instance ) );
return true; return true;
} }
return false; return false;
+11 -7
View File
@@ -40,7 +40,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using ExpKeyword = StgSharp.Script.Express.ExpressCompile.KeyWord; using ExpKeyword = StgSharp.Script.Express.ExpressCompile.Keyword;
namespace StgSharp.Script.Express namespace StgSharp.Script.Express
{ {
@@ -67,9 +67,11 @@ namespace StgSharp.Script.Express
{ {
_cache = new CompileStack<ExpNode, IExpElementSource>(); _cache = new CompileStack<ExpNode, IExpElementSource>();
ArgumentNullException.ThrowIfNull( context ); ArgumentNullException.ThrowIfNull( context );
if( context is not ExpSchema_Builtin ) { if( context is not ExpSchema_Builtin )
{
_context = context; _context = context;
} else { } else
{
throw new InvalidCastException( "Not a valid Schema type" ); throw new InvalidCastException( "Not a valid Schema type" );
} }
_local = local; _local = local;
@@ -78,12 +80,13 @@ namespace StgSharp.Script.Express
/**/ /**/
/// <summary> /// <summary>
/// Append a token to top of cache. This method will automatically convert token to node if /// Append a token to top of cache. This method will automatically convert token to node
/// meets separators or operators. /// if meets separators or operators.
/// </summary> /// </summary>
public void AppendToken( Token expToken ) public void AppendToken( Token expToken )
{ {
switch( expToken.Flag ) { switch( expToken.Flag )
{
case TokenFlag.Symbol_Unary or TokenFlag.Symbol_Binary: case TokenFlag.Symbol_Unary or TokenFlag.Symbol_Binary:
TryAppendSymbol( expToken ); TryAppendSymbol( expToken );
break; break;
@@ -112,7 +115,8 @@ namespace StgSharp.Script.Express
public ExpNode GetNextOperandCache() public ExpNode GetNextOperandCache()
{ {
if( _cache.PopOperand( out Token t, out ExpNode? n ) ) { if( _cache.PopOperand( out Token t, out ExpNode? n ) )
{
return n; return n;
} else { } } else { }
+6 -14
View File
@@ -189,7 +189,7 @@ namespace StgSharp.Script.Express
begin = _current; begin = _current;
_current++; _current++;
_last = new Token( _last = new Token(
ExpressCompile.PoolString( ")" ), _lineNum, begin, ExpressCompile.PoolString( source[ ..1 ] ), _lineNum, begin,
TokenFlag.Separator_Right ); TokenFlag.Separator_Right );
return _last; return _last;
case '-': case '-':
@@ -267,13 +267,14 @@ namespace StgSharp.Script.Express
begin = _current; begin = _current;
_current += 2; _current += 2;
return new Token( return new Token(
ExpressCompile.KeyWord.Assignment, _lineNum, begin, ExpressCompile.Keyword.Assignment, _lineNum, begin,
TokenFlag.Index_Right ); TokenFlag.Symbol_Binary );
} }
begin = _current; begin = _current;
_current++; _current++;
return new Token( return new Token(
ExpressCompile.KeyWord.Colon, _lineNum, begin, TokenFlag.Index_Right ); ExpressCompile.Keyword.Colon, _lineNum, begin,
TokenFlag.Separator_Middle );
case '+' or '/' or '\\' or '*' or '.': case '+' or '/' or '\\' or '*' or '.':
begin = _current; begin = _current;
_current++; _current++;
@@ -293,16 +294,7 @@ namespace StgSharp.Script.Express
rest = match.Groups[ RestMark ].Index; rest = match.Groups[ RestMark ].Index;
_current = rest; _current = rest;
string str = ExpressCompile.PoolString( source[ ..( end - begin ) ] ); string str = ExpressCompile.PoolString( source[ ..( end - begin ) ] );
TokenFlag flag; return new( str, _lineNum, begin, TokenFlag.Number );
if( ReferenceEquals( str, ExpressCompile.KeyWord.Not ) )
{
flag = TokenFlag.Symbol_Unary;
} else
{
flag = ExpressCompile.LetterIsOperator( str ) ?
TokenFlag.Symbol_Binary : TokenFlag.Member;
}
return new( str, _lineNum, begin, flag );
} else } else
{ {
throw new ExpInvalidTokenException( _current ); throw new ExpInvalidTokenException( _current );
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Script")] [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.Script")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+528d0c5462b4d3da107ad29b859f9c8006fb675a")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+148b0fed4a1abaaeaa3a28e7c7b088590805ebef")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Script")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp.Script")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Script")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.Script")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/528d0c5462b4d3da107ad29b859f9c8006fb675a/*"}} {"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/148b0fed4a1abaaeaa3a28e7c7b088590805ebef/*"}}
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.TerminalDialogue")] [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp.TerminalDialogue")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6788bc4a0065508d7afa5f740da1b4ca6dd1efef")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+148b0fed4a1abaaeaa3a28e7c7b088590805ebef")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp.TerminalDialogue")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp.TerminalDialogue")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.TerminalDialogue")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp.TerminalDialogue")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/6788bc4a0065508d7afa5f740da1b4ca6dd1efef/*"}} {"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/148b0fed4a1abaaeaa3a28e7c7b088590805ebef/*"}}
+72 -4
View File
@@ -36,6 +36,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Xml.Schema;
namespace StgSharp namespace StgSharp
{ {
@@ -54,6 +55,67 @@ namespace StgSharp
LocalVariables.Add( LocalVariables.Add(
"c", "c",
ExpElementInstanceBase.CreateLiteral( new Token( "1", 0, 0, TokenFlag.Number ) ) ); ExpElementInstanceBase.CreateLiteral( new Token( "1", 0, 0, TokenFlag.Number ) ) );
LocalVariables.Add(
"d",
ExpElementInstanceBase.CreateLiteral( new Token( "1", 0, 0, TokenFlag.Number ) ) );
}
}
internal class TestSchema : ExpSchema
{
internal ExpTestFuncSource source;
public TestSchema( ExpTestFuncSource testType )
{
source = testType;
}
public override void LoadFromSource( ExpSchemaSource source )
{
return;
}
public override bool TryGetConst( string name, out ExpElementInstanceBase c )
{
c = null;
return false;
}
public override bool TryGetEntity( string name, out ExpEntitySource e )
{
e = null;
return false;
}
public override bool TryGetFunction( string name, out ExpFunctionSource f )
{
if( name == "TestFunc" )
{
f = source;
return true;
}
f = null;
return false;
}
public override bool TryGetRule( string name, out ExpRuleSource r )
{
r = null;
return false;
}
public override bool TryGetSchemaInclude( string name, out ExpSchema include )
{
include = null;
return false;
}
public override bool TryGetType( string name, out ExpTypeSource t )
{
t = null;
return false;
} }
} }
@@ -65,17 +127,23 @@ namespace StgSharp
{ {
ExpressCompile.InitCompile(); ExpressCompile.InitCompile();
ScriptSourceTransmitter transmitter = new ScriptSourceTransmitter( "END", 0 ); ScriptSourceTransmitter transmitter = new ScriptSourceTransmitter( "END", 0 );
transmitter.WriteLine( @"a := b + c;" ); transmitter.WriteLine( @"a := ( b + c + d * 2 ) * d;" );
//transmitter.WriteLine( @"a := b + (c + d) * a;" );
transmitter.EndWriting(); transmitter.EndWriting();
ExpSourceReader reader = new ExpSourceReader( transmitter ); ExpSourceReader reader = new ExpSourceReader( transmitter );
/*
ExpNodeGenerator generator = new ExpNodeGenerator(
, new ExpTestFuncSource( "test", transmitter ) );
/**/ /**/
ExpTestFuncSource func = new ExpTestFuncSource( "test", transmitter );
TestSchema testSchema = new TestSchema( func );
ExpNodeGenerator generator = new ExpNodeGenerator( testSchema, func );
/**/
while( reader.TryReadToken( out Token t ) ) while( reader.TryReadToken( out Token t ) )
{ {
Console.WriteLine( t.Value ); Console.WriteLine( t.Value );
generator.AppendToken( t );
} }
Console.WriteLine( "OK" );
} }
} }
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+528d0c5462b4d3da107ad29b859f9c8006fb675a")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+148b0fed4a1abaaeaa3a28e7c7b088590805ebef")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/528d0c5462b4d3da107ad29b859f9c8006fb675a/*"}} {"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/148b0fed4a1abaaeaa3a28e7c7b088590805ebef/*"}}