ic10c-node 2.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,150 @@
1
+ // Copyright (c) 2026. All rights reserved.
2
+ // This source code is licensed under the CC BY-NC-SA
3
+ // (Creative Commons Attribution-NonCommercial-NoDerivatives) License, By Xiao Songtao.
4
+ // This software is protected by copyright law. Reproduction, distribution, or use for commercial
5
+ // purposes is prohibited without the author's permission. If you have any questions or require
6
+ // permission, please contact the author: edocsitahw@qq.com
7
+
8
+ /**
9
+ * @file quinary.d.ts
10
+ * @author edocsitahw
11
+ * @version 1.1
12
+ * @date 2026/07/22 15:50
13
+ * @desc
14
+ * @copyright CC BY-NC-SA 2026. All rights reserved.
15
+ * */
16
+ import {
17
+ ErrorNode,
18
+ RegisterOrIdentifierNode,
19
+ OperandNode,
20
+ LogicTypeNode,
21
+ BatchModeNode,
22
+ SlotIndexNode,
23
+ LogicSlotTypeNode,
24
+ OperandType
25
+ } from "../ast";
26
+ import {TernaryInstruction} from "./ternary";
27
+
28
+
29
+ // 五元指令(5 个操作数)
30
+
31
+ export interface QuinaryInstruction extends TernaryInstruction {
32
+ type5: OperandType;
33
+ }
34
+
35
+ /**
36
+ * @summary 五元指令概述
37
+ *
38
+ * @desc 五元指令是包含五个操作数的指令。
39
+ * 根据操作数类型可分为以下几类:
40
+ * - **QuinaryInstruction_RI_O_O_LT_BM**:寄存器/标识符 + 操作数 + 操作数 + 逻辑类型 + 批处理模式
41
+ * - **QuinaryInstruction_RI_O_SI_LS_BM**:寄存器/标识符 + 操作数 + 槽索引 + 逻辑槽类型 + 批处理模式
42
+ *
43
+ * @elseif en
44
+ * @summary Quinary Instructions Overview
45
+ *
46
+ * @desc Quinary instructions contain five operands.
47
+ * They are categorized by operand types:
48
+ * - **QuinaryInstruction_RI_O_O_LT_BM**: Register/identifier + operand + operand + logic type + batch mode
49
+ * - **QuinaryInstruction_RI_O_SI_LS_BM**: Register/identifier + operand + slot index + logic slot type + batch mode
50
+ */
51
+
52
+ /**
53
+ * @summary 含 RegisterOrIdentifier + Operand + Operand + LogicType + BatchMode 操作数的五元指令基类
54
+ *
55
+ * @desc 第一个操作数为寄存器或标识符,第二、三个为操作数,第四个为逻辑类型,第五个为批处理模式。
56
+ * @elseif en
57
+ * @summary Base interface for quinary instructions with RegisterOrIdentifier + Operand + Operand + LogicType + BatchMode operands
58
+ *
59
+ * @desc First operand is a register or identifier, second and third are operands, fourth is a logic type, fifth is a batch mode.
60
+ *
61
+ * @public
62
+ */
63
+ interface QuinaryInstruction_RI_O_O_LT_BM extends QuinaryInstruction {
64
+ operand1: RegisterOrIdentifierNode;
65
+ operand2: OperandNode;
66
+ operand3: OperandNode;
67
+ operand4: LogicTypeNode;
68
+ operand5: BatchModeNode;
69
+ }
70
+
71
+
72
+ /**
73
+ * @summary LBN(读取设备库存批量数值)指令节点
74
+ *
75
+ * @desc 从设备的库存中批量读取多个数值数据。
76
+ * @elseif en
77
+ * @summary LBN (Load Batch Numerical) instruction node
78
+ *
79
+ * @desc Batch reads multiple numerical data from a device's inventory.
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * // LBN r0 tank1 Water Oxygen Exact
84
+ * // 从 tank1 批量读取 Water 和 Oxygen 的数值数据
85
+ * ```
86
+ *
87
+ * @public
88
+ */
89
+ export interface LbnInstructionNode extends QuinaryInstruction_RI_O_O_LT_BM {
90
+ type: "lbnInstruction";
91
+ }
92
+
93
+
94
+ /**
95
+ * @summary 含 RegisterOrIdentifier + Operand + SlotIndex + LogicSlotType + BatchMode 操作数的五元指令基类
96
+ *
97
+ * @desc 第一个操作数为寄存器或标识符,第二个为操作数,第三个为槽索引,第四个为逻辑槽类型,第五个为批处理模式。
98
+ * @elseif en
99
+ * @summary Base interface for quinary instructions with RegisterOrIdentifier + Operand + SlotIndex + LogicSlotType + BatchMode operands
100
+ *
101
+ * @desc First operand is a register or identifier, second is an operand, third is a slot index, fourth is a logic slot type, fifth is a batch mode.
102
+ *
103
+ * @public
104
+ */
105
+ interface QuinaryInstruction_RI_O_SI_LS_BM extends QuinaryInstruction {
106
+ operand1: RegisterOrIdentifierNode;
107
+ operand2: OperandNode;
108
+ operand3: SlotIndexNode;
109
+ operand4: LogicSlotTypeNode;
110
+ operand5: BatchModeNode;
111
+ }
112
+
113
+
114
+ /**
115
+ * @summary LBS(读取设备库存批量槽)指令节点
116
+ *
117
+ * @desc 从设备的库存槽中批量读取数据。
118
+ * @elseif en
119
+ * @summary LBS (Load Batch Slot) instruction node
120
+ *
121
+ * @desc Batch reads data from a device's inventory slots.
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * // LBS r0 tank1 0 Quantity Exact
126
+ * // 从 tank1 的槽批量读取数据
127
+ * ```
128
+ *
129
+ * @public
130
+ */
131
+ export interface LbsInstructionNode extends QuinaryInstruction_RI_O_SI_LS_BM {
132
+ type: "lbsInstruction";
133
+ }
134
+
135
+
136
+ /**
137
+ * @summary 五元指令联合类型
138
+ *
139
+ * @desc 包含所有五元指令类型的联合,包括可能的错误节点。
140
+ * @elseif en
141
+ * @summary Quinary instruction union type
142
+ *
143
+ * @desc Union of all quinary instruction types, including possible error nodes.
144
+ *
145
+ * @public
146
+ */
147
+ export type QuinaryInstructionNode =
148
+ | LbnInstructionNode
149
+ | LbsInstructionNode
150
+ | ErrorNode;
@@ -0,0 +1,104 @@
1
+ // Copyright (c) 2026. All rights reserved.
2
+ // This source code is licensed under the CC BY-NC-SA
3
+ // (Creative Commons Attribution-NonCommercial-NoDerivatives) License, By Xiao Songtao.
4
+ // This software is protected by copyright law. Reproduction, distribution, or use for commercial
5
+ // purposes is prohibited without the author's permission. If you have any questions or require
6
+ // permission, please contact the author: edocsitahw@qq.com
7
+
8
+ /**
9
+ * @file senary.d.ts
10
+ * @author edocsitahw
11
+ * @version 1.1
12
+ * @date 2026/07/22 15:51
13
+ * @desc
14
+ * @copyright CC BY-NC-SA 2026. All rights reserved.
15
+ * */
16
+ import {
17
+ ErrorNode,
18
+ RegisterOrIdentifierNode,
19
+ OperandNode,
20
+ SlotIndexNode,
21
+ LogicSlotTypeNode,
22
+ BatchModeNode,
23
+ OperandType
24
+ } from "../ast";
25
+ import {QuinaryInstruction} from "./quinary";
26
+
27
+
28
+ // 六元指令(6 个操作数)
29
+
30
+ export interface SenaryInstruction extends QuinaryInstruction {
31
+ type6: OperandType;
32
+ }
33
+
34
+
35
+ /**
36
+ * @summary 六元指令概述
37
+ *
38
+ * @desc 六元指令是包含六个操作数的指令。
39
+ * 主要用于复杂的库存操作指令。
40
+ *
41
+ * @elseif en
42
+ * @summary Senary Instructions Overview
43
+ *
44
+ * @desc Senary instructions contain six operands.
45
+ * Mainly used for complex inventory operations.
46
+ */
47
+
48
+ /**
49
+ * @summary 含 RegisterOrIdentifier + Operand + Operand + SlotIndex + LogicSlotType + BatchMode 操作数的六元指令基类
50
+ *
51
+ * @desc 第一个操作数为寄存器或标识符,第二、三个为操作数,第四个为槽索引,第五个为逻辑槽类型,第六个为批处理模式。
52
+ * @elseif en
53
+ * @summary Base interface for senary instructions with RegisterOrIdentifier + Operand + Operand + SlotIndex + LogicSlotType + BatchMode operands
54
+ *
55
+ * @desc First operand is a register or identifier, second and third are operands, fourth is a slot index, fifth is a logic slot type, sixth is a batch mode.
56
+ *
57
+ * @public
58
+ */
59
+ interface SenaryInstruction_RI_O_O_SI_LS_BM extends SenaryInstruction {
60
+ operand1: RegisterOrIdentifierNode;
61
+ operand2: OperandNode;
62
+ operand3: OperandNode;
63
+ operand4: SlotIndexNode;
64
+ operand5: LogicSlotTypeNode;
65
+ operand6: BatchModeNode;
66
+ }
67
+
68
+
69
+ /**
70
+ * @summary LBNS(读取设备库存批量数值槽)指令节点
71
+ *
72
+ * @desc 从设备的库存槽中批量读取多个数值数据。
73
+ * @elseif en
74
+ * @summary LBNS (Load Batch Numerical Slot) instruction node
75
+ *
76
+ * @desc Batch reads multiple numerical data from a device's inventory slots.
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * // LBNS r0 tank1 0 Water Oxygen Exact
81
+ * // 从 tank1 的槽批量读取多个数值数据
82
+ * ```
83
+ *
84
+ * @public
85
+ */
86
+ export interface LbnsInstructionNode extends SenaryInstruction_RI_O_O_SI_LS_BM {
87
+ type: "lbnsInstruction";
88
+ }
89
+
90
+
91
+ /**
92
+ * @summary 六元指令联合类型
93
+ *
94
+ * @desc 包含所有六元指令类型的联合,包括可能的错误节点。
95
+ * @elseif en
96
+ * @summary Senary instruction union type
97
+ *
98
+ * @desc Union of all senary instruction types, including possible error nodes.
99
+ *
100
+ * @public
101
+ */
102
+ export type SenaryInstructionNode =
103
+ | LbnsInstructionNode
104
+ | ErrorNode;