TABLES 及 IGRAPH 指令語法轉換器
如果您有包含 TABLES 語法(要轉換為 CTABLES 語法)及/或 IGRAPH 語法(要轉換為 GGRAPH 語法)的指令語法檔,系統會提供一個簡單的公用程式,以協助您開始轉換程序。 但是,在 TABLES 與 CTABLES 之間以及 IGRAPH 與 GGRAPH 之間有差異。 您可能會發現此公用程式無法轉換部分 TABLES 及 IGRAPH 語法工作,或可以產生 CTABLES 及 GGRAPH 語法,此語法會產生與 TABLES 及 IGRAPH 指令產生的原始表格及圖形不很類似的表格及圖形。 對於大部分表格,您可以編輯轉換後的語法,產生與原始表格非常相似的表格。
公用程式是設計來:
- 從現有的語法檔中建立新的語法檔。 不修改原始語法檔。
- 僅轉換語法檔中的
TABLES及IGRAPH指令。 不修改檔案中的其他指令。 - 以備註形式保留原始的
TABLES及IGRAPH語法。 - 以備註形式標示識別各個轉換區塊的開始與結束。
- 識別無法轉換的
TABLES及IGRAPH語法指令。 - 轉換遵循互動或產生模式語法規則的指令語法檔案。
此公用程式無法轉換包含錯誤的指令。 還會受下列其他限制。
TABLES 限制
某些情況下,公用程式可能無法正確轉換 TABLES 指令,包括含有以下項目的 TABLES 指令:
- 當變數本身被括號括住時,含有以 "
sta" 或 "lab" 為起頭字母之TABLES次指令的變數名稱也會用括號括住,例如,var1 by (statvar) by (labvar)。 程式會將這些解讀為關鍵字(STATISTICS)和(LABELS)。 SORT次指令,使用縮寫A或D來表示遞增或遞減的排序次序。 程式會將這些解讀為變數名稱。
公用程式無法轉換包含以下項目的 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 Script(僅限 Windows)
在 Windows 中,您也可以配合 Script SyntaxConverter.wwd 執行語法轉換器,此 Script 位於安裝目錄中的 Samples 目錄。
- 從功能表中選擇:
- 導覽至 Samples 目錄並選取 SyntaxConverter.wwd。
會開啟簡單的對話框,讓您指定新舊指令語法檔之名稱與位置。