语法规则
阅读建议
- 第一次接触 DSL:先浏览“写作约定”+“如何引用题目/选项”,再结合下方示例练习。
- 已具 备经验的同学:可直接跳到“逻辑语句速查”或“公式与函数”。
- 所有示例均可直接粘贴到 DSL 编辑器中体验,题号需替换成问卷中的实际编号。
1. 写作约定(大小写与格式)
| 类型 | 写法要求 | 说明 / 举例 |
|---|---|---|
| 关键字 | 小写 | if、then、show、hide、branch、assignment、with、validate、replace、mutex、deselect |
| 变量 | 大写 | Q1、Q1A2、QS1Q1、QS1Q1A3、Q2S1 |
| 函数 | 大写 | SUM、AVERAGE、IF、MAX、MIN、CONCATENATE、AND、OR、NOT |
- 大小写严格区分:关键字必须小写,题号/选项号/函数名必须大写。
- 一条规则一行:避免在同一行写多条逻辑,便于阅读与排错。
- 注释:行首
#为整行注释,可用于分组说明;规则结尾也可追加#注释。
# 选了 Q1 选项 1 就显示 Q2
if Q1A1 then show Q2
assignment Q5 with SUM(Q1, Q2) # 自动合计分数
2. 如何引用题目、选项与题组
2.1 普通题目
| 书写方式 | 代表对象 |
|---|---|
Q1 | 第 1 题 |
Q1A1 | 第 1 题的第 1 个选项 |
Q1A1~Q1A4 | 第 1 题的选项 1–4 |
Q1S1 / Q1S1A1 | 矩阵题的第 1 行 / 第 1 行第 1 列 |
2.2 题组(Question Set)
题组在 DSL 中使用 QS 前缀。写法遵循“题组 → 题目 → 选项”的顺序。
| 书写方式 | 代表对象 |
|---|---|
QS1 | 题组 1 本身 |
QS1Q1 | 题组 1 中的第 1 个题目 |
QS1Q1A2 | 题组 1 第 1 个题目的第 2 个选项 |
QS1Q1S1 | 题组 1 第 1 个题目(矩阵题)的第 1 行 |
QS1Q1S1A3 | 题组 1 第 1 个题目第 1 行、第 3 列选项 |
提示:实际编号以编辑器中展示的 DSL 标签为准。没有题组的问卷可以直接使用
Q1、Q2等。
2.3 连续范围写法
DSL 支持直接写连续区间,系统会自动展开:
| 写法 | 展开结果 |
|---|---|
Q1~Q4 | Q1、Q2、Q3、Q4 |
Q1A1~Q1A3 | Q1A1、Q1A2、Q1A3 |
Q1S1~Q1S4 | Q1 矩阵题的行 1–4 |
QS1Q1~QS1Q3 | 题组 1 中的题目 1–3 |
QS1Q1A1~QS1Q1A4 | 题组 1 中题 1 的选项 1–4 |