TABLES 和 IGRAPH 命令语法转换器

如果您的命令语法文件包含 TABLES 语法,您要将其转换为 CTABLES 语法和/或您要将 IGRAPH 语法转换为 GGRAPH 语法,可以使用一个简单实用程序进行转换。 但是,TABLESCTABLES 以及 IGRAPHGGRAPH 在功能上有很大差别。 您可能会发现该实用程序无法转换某些 TABLESIGRAPH 语法作业,或者转换得到的 CTABLESGGRAPH 语法所生成的表格和图形可能与 TABLESIGRAPH 命令所生成的原始表格和图形差别较大。 对于大多数的表,您可以编辑转换后的语法,使之生成与原始表十分相似的表。

该实用程序设计用于:

  • 根据现有语法文件创建新的语法文件。 不更改原始语法文件。
  • 只转换语法文件中的 TABLESIGRAPH 命令。 不更改该文件中的其他命令。
  • 以注释形式保留原始 TABLESIGRAPH 语法。
  • 用注释标识每个转换块的开头和结尾。
  • 标识无法转换的 TABLESIGRAPH 语法命令。
  • 转换符合交互式或生产模式语法规则的命令语法文件。

此实用程序无法转换包含错误的命令。 还具有以下其他限制。

TABLES 限制

在某些情况下,该实用程序对 TABLES 命令的转换可能不正确,例如具有以下特点的 TABLES 命令:

  • 如果变量自身带括号(例如 var1 by (statvar) by (labvar)),那么需要在 TABLES 子命令中使用具有首字母“sta”或“lab”的带括号变量名称。 这些变量将被解释为 (STATISTICS)(LABELS) 关键字。
  • 包含的 SORT 子命令使用缩写字母 AD 指示升序或降序。 这些缩写字母将被解释为变量名称。

该实用程序无法转换具有以下特点的 TABLES 命令:

  • 包含语法错误。
  • 包含使用 TO 关键字引用变量范围的 OBSERVATION 子命令(例如,var01 TO var05)。
  • 包含用加号分隔成多部分的字符串(例如,TITLE "My" + "Title")。
  • 包含在没有宏扩展时会导致 TABLES 语法无效的宏调用。 由于转换器不扩展宏调用,因此会将宏调用简单地视为标准 TABLES 语法的一部分。

该实用程序不转换包含在宏中的 TABLES 命令。 所有宏都不受转换过程的影响。

IGRAPH 限制

IGRAPH 在发行版 16 中进行了重大更改。 由于这些更改,在该发行版之前创建的 IGRAPH 语法中的一些子命令和关键字可能不受支持。

转换实用程序可能会在 GGRAPH 语法中生成存储在 INLINETEMPLATE 关键字中的其他语法。 此关键字只能通过转换程序创建。 用户无法编辑其语法。

使用转换实用程序

转换实用程序 SyntaxConverter.exe 可以在安装目录中找到。 该实用程序设计为从命令提示符处运行。 命令的一般形式为:


syntaxconverter.exe [path]/inputfilename.sps [path]/outputfilename.sps

您必须从安装目录运行此命令。

如果有任何目录名中包含空格,应当用引号将路径和文件名整体括起来,如下所示:


syntaxconverter.exe /myfiles/oldfile.sps "/new files/newfile.sps" 

交互式与生产模式命令语法规则

转换实用程序可以转换使用交互式或生产模式语法规则的命令文件。

交互式。 交互式语法规则为:

  • 每条命令都另起一行。
  • 每个命令都以句点 (.) 结束。

生产方式。 生产工具和文件中的命令(通过在其他命令文件中使用 INCLUDE 命令访问)使用生产模式语法规则:

  • 每条命令必须从新的一行的第一列开始。
  • 连续行至少须缩进一个空格。
  • 命令结尾处的句点是可选的。

如果命令文件使用生产方式语法规则并且在每个命令的末尾不包含句点,那么在运行 SyntaxConverter.exe时需要包含命令行开关 -b (或 /b) ,如下所示:


syntaxconverter.exe -b /myfiles/oldfile.sps /myfiles/newfile.sps

SyntaxConverter 脚本(仅 Windows)

在 Windows 上,您也可以通过脚本 SyntaxConverter.wwd 运行语法转换器,该脚本位于安装目录中的 Samples 目录中。

  1. 从菜单中选择:

    实用程序 > 运行脚本 ...

  2. 浏览至 Samples 目录并选择 SyntaxConverter.wwd

这将打开一个简单的对话框,在该对话框中可以指定新旧命令语法文件的名称和位置。