Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /trunk/installer/macrotemplate.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1282 - (hide annotations) (download) (as text)
Tue Mar 3 15:31:37 2009 UTC (15 years, 1 month ago) by yutakapon
Original Path: installer/trunk/macrotemplate.pl
File MIME type: text/x-perl
File size: 9026 byte(s)
現時点のディレクトリツリーに合わせて動作するようにした。
waitnへのヘルプリンクがないようです。

1 maya 1184 #
2     # マクロコマンドのドキュメント類のチェックを行う
3     #
4     # [実行方法]
5     # __END__以降のマクロ列を検証する
6     # >perl macrotemplate.pl
7     #
8     # 指定したマクロを検証する
9     # >perl macrotemplate.pl scpsend
10     #
11     # [改版履歴]
12     # 1.0 (2008.02.16 Yutaka Hirata)
13     # 1.1 (2008.02.23 Yutaka Hirata)
14 yutakapon 1282 # 1.2 (2009.03.03 Yutaka Hirata)
15 maya 1184 #
16    
17 yutakapon 1282 $macroidfile = '..\teraterm\ttpmacro\ttmparse.h';
18     $helpidfile = '..\teraterm\common\helpid.h';
19     $encmdfile = '..\doc\en\html\macro\command';
20     $jpcmdfile = '..\doc\jp\html\macro\command';
21     $enhhcfile = '..\doc\en\teraterm.hhc';
22     $jphhcfile = '..\doc\jp\teraterm.hhc';
23     $enhhpfile = '..\doc\en\teraterm.hhp';
24     $jphhpfile = '..\doc\jp\teraterm.hhp';
25     $keyfile = 'release\keyfile.ini';
26 maya 1184
27     if ($#ARGV != -1) {
28     print "$ARGV[0]\n";
29     do_main(lc($ARGV[0]));
30    
31     } else {
32     while (<DATA>) {
33     chomp;
34 yutakapon 1282 if (/#define\s+Rsv(\w+)\s+.*/) {
35 maya 1184 $key = lc($1);
36 yutakapon 1282
37 maya 1184 print "==== $key マクロを検証中...\n";
38     do_main($key);
39     }
40     }
41     }
42     exit(0);
43    
44    
45     #; TODO
46     #; en/teraterm.hhcにリンク挿入
47     #; en/teraterm.hhpにalias追加
48     #; jp/teraterm.hhcにリンク挿入
49     #; jp/teraterm.hhpにalias追加
50    
51     sub do_main {
52     my($macro) = @_;
53     my($ret, $id, $s, $pat);
54     my($idline, $helpline);
55     # print "$macro\n";
56    
57     $s = "Rsv$macro\\b";
58     $ret = read_keyword($macroidfile, $s);
59     $idline = $ret;
60     # print "$ret\n";
61     if ($ret =~ /$macro\s+(\d+)/i) {
62     $id = $1;
63     } else {
64     print "IDファイル($macroidfile)からマクロ定義が見つかりません\n";
65     print "$idline\n";
66     return;
67     }
68     # print "$id\n";
69    
70 yutakapon 1282 # 置換
71     if ($macro eq 'else' ||
72     $macro eq 'elseif' ||
73     $macro eq 'endif'
74     ) {
75     $macro = 'Ifthenelseif';
76     }
77     if ($macro eq 'endwhile'
78     ) {
79     $macro = 'while';
80     }
81     if ($macro eq 'findfirst' ||
82     $macro eq 'findnext' ||
83     $macro eq 'findclose'
84     ) {
85     $macro = 'Findoperations';
86     }
87    
88 maya 1184 $s = "Command$macro\\b";
89     $ret = read_keyword($helpidfile, $s);
90     $helpline = $ret;
91     # print "$ret\n";
92     if ($ret =~ /$macro\s+(\d+)/i) {
93     $n = 92000 + $id;
94     if ($n != $1) {
95     print "$helpidfile のIDが一致していません ($n != $1)\n";
96     print "$idline\n";
97     print "$ret\n";
98     return;
99     }
100     } else {
101     print "HELPIDファイル($helpidfile)からマクロ定義が見つかりません\n";
102     print "$idline\n";
103     print "$ret\n";
104     return;
105     }
106    
107     $s = "$encmdfile\\$macro.html";
108     if (!(-e $s)) {
109     print "マクロコマンドの英語版説明文($s)がありません\n";
110     }
111    
112     $s = "$jpcmdfile\\$macro.html";
113     if (!(-e $s)) {
114     print "マクロコマンドの日本語版説明文($s)がありません\n";
115     }
116    
117     $s = "$encmdfile\\index.html";
118     $pat = "$macro.html";
119     $ret = read_keyword($s, $pat);
120     if ($ret eq '') {
121     print "$s ファイルに $pat へのリンクがありません\n";
122     }
123    
124     $s = "$jpcmdfile\\index.html";
125     $pat = "$macro.html";
126     $ret = read_keyword($s, $pat);
127     if ($ret eq '') {
128     print "$s ファイルに $pat へのリンクがありません\n";
129     }
130    
131    
132     $pat = "$macro.html";
133     $ret = read_keyword($enhhcfile, $pat);
134     if ($ret eq '') {
135     print "$enhhcfile ファイルに $pat へのリンクがありません\n";
136     }
137    
138     $pat = "$macro.html";
139     $ret = read_keyword($jphhcfile, $pat);
140     if ($ret eq '') {
141     print "$jphhcfile ファイルに $pat へのリンクがありません\n";
142     }
143    
144    
145     $pat = "$macro.html";
146     $ret = read_keyword($enhhpfile, $pat);
147     if ($ret eq '') {
148     print "$enhhpfile ファイルに $pat へのALIASリンクがありません\n";
149     }
150    
151     $pat = "$macro.html";
152     $ret = read_keyword($jphhpfile, $pat);
153     if ($ret eq '') {
154     print "$jphhpfile ファイルに $pat へのALIASリンクがありません\n";
155     }
156    
157    
158     $pat = "\\b$macro\\b";
159     $ret = read_keyword($keyfile, $pat);
160     if ($ret eq '') {
161     print "$keyfile ファイルに $pat コマンドがありません\n";
162     }
163    
164     }
165    
166     sub read_keyword {
167     my($file, $keyword) = @_;
168     my($line) = '';
169     my($found) = 0;
170    
171     open(FP, "$file") || die "Can't open $file.";
172     while (<FP>) {
173     chomp;
174     $line = $_;
175     if (/$keyword/i) {
176     $found = 1;
177     last;
178     }
179     }
180     close(FP);
181    
182     if ($found == 0) {
183     $line = '';
184     }
185     return ($line);
186     }
187    
188 yutakapon 1282 # コマンド列は ttmparse.h から抜粋
189 maya 1184 __END__
190 yutakapon 1282 #define RsvBeep 1
191     #define RsvBPlusRecv 2
192     #define RsvBPlusSend 3
193     #define RsvCall 4
194     #define RsvChangeDir 5
195     #define RsvClearScreen 6
196     #define RsvCloseSBox 7
197     #define RsvCloseTT 8
198     #define RsvCode2Str 9
199     #define RsvConnect 10
200     #define RsvDelPassword 11
201     #define RsvDisconnect 12
202     #define RsvElse 13
203     #define RsvElseIf 14
204     #define RsvEnableKeyb 15
205     #define RsvEnd 16
206     #define RsvEndIf 17
207     #define RsvEndWhile 18
208     #define RsvExec 19
209     #define RsvExecCmnd 20
210     #define RsvExit 21
211     #define RsvFileClose 22
212     #define RsvFileConcat 23
213     #define RsvFileCopy 24
214     #define RsvFileCreate 25
215     #define RsvFileDelete 26
216     #define RsvFileMarkPtr 27
217     #define RsvFileOpen 28
218     #define RsvFileReadln 29
219     #define RsvFileRename 30
220     #define RsvFileSearch 31
221     #define RsvFileSeek 32
222     #define RsvFileSeekBack 33
223     #define RsvFileStrSeek 34
224     #define RsvFileStrSeek2 35
225     #define RsvFileWrite 36
226     #define RsvFileWriteLn 37
227     #define RsvFindClose 38
228     #define RsvFindFirst 39
229     #define RsvFindNext 40
230     #define RsvFlushRecv 41
231     #define RsvFor 42
232     #define RsvGetDate 43
233     #define RsvGetDir 44
234     #define RsvGetEnv 45
235     #define RsvGetPassword 46
236     #define RsvGetTime 47
237     #define RsvGetTitle 48
238     #define RsvGoto 49
239     #define RsvIf 50
240     #define RsvInclude 51
241     #define RsvInputBox 52
242     #define RsvInt2Str 53
243     #define RsvKmtFinish 54
244     #define RsvKmtGet 55
245     #define RsvKmtRecv 56
246     #define RsvKmtSend 57
247     #define RsvLoadKeyMap 58
248     #define RsvLogClose 59
249     #define RsvLogOpen 60
250     #define RsvLogPause 61
251     #define RsvLogStart 62
252     #define RsvLogWrite 63
253     #define RsvMakePath 64
254     #define RsvMessageBox 65
255     #define RsvNext 66
256     #define RsvPasswordBox 67
257     #define RsvPause 68
258     #define RsvQuickVANRecv 69
259     #define RsvQuickVANSend 70
260     #define RsvRecvLn 71
261     #define RsvRestoreSetup 72
262     #define RsvReturn 73
263     #define RsvSend 74
264     #define RsvSendBreak 75
265     #define RsvSendFile 76
266     #define RsvSendKCode 77
267     #define RsvSendLn 78
268     #define RsvSetDate 79
269     #define RsvSetDir 80
270     #define RsvSetDlgPos 81
271     #define RsvSetEcho 82
272     #define RsvSetExitCode 83
273     #define RsvSetSync 84
274     #define RsvSetTime 85
275     #define RsvSetTitle 86
276     #define RsvShow 87
277     #define RsvShowTT 88
278     #define RsvStatusBox 89
279     #define RsvStr2Code 90
280     #define RsvStr2Int 91
281     #define RsvStrCompare 92
282     #define RsvStrConcat 93
283     #define RsvStrCopy 94
284     #define RsvStrLen 95
285     #define RsvStrScan 96
286     #define RsvTestLink 97
287     #define RsvThen 98
288     #define RsvUnlink 99
289     #define RsvWait 100
290     #define RsvWaitEvent 101
291     #define RsvWaitLn 102
292     #define RsvWaitRecv 103
293     #define RsvWhile 104
294     #define RsvXmodemRecv 105
295     #define RsvXmodemSend 106
296     #define RsvYesNoBox 107
297     #define RsvZmodemRecv 108
298     #define RsvZmodemSend 109
299     #define RsvWaitRegex 110 // add 'waitregex' (2005.10.5 yutaka)
300     #define RsvMilliPause 111 // add 'mpause' (2006.2.10 yutaka)
301     #define RsvRandom 112 // add 'random' (2006.2.11 yutaka)
302     #define RsvClipb2Var 113 // add 'clipb2var' (2006.9.17 maya)
303     #define RsvVar2Clipb 114 // add 'var2clipb' (2006.9.17 maya)
304     #define RsvIfDefined 115 // add 'ifdefined' (2006.9.23 maya)
305     #define RsvFileRead 116 // add 'fileread' (2006.11.1 yutaka)
306     #define RsvSprintf 117 // add 'sprintf' (2007.5.1 yutaka)
307     #define RsvToLower 118 // add 'tolower' (2007.7.12 maya)
308     #define RsvToUpper 119 // add 'toupper' (2007.7.12 maya)
309     #define RsvBreak 120 // add 'break' (2007.7.20 doda)
310     #define RsvRotateR 121 // add 'rotateright' (2007.8.19 maya)
311     #define RsvRotateL 122 // add 'rotateleft' (2007.8.19 maya)
312     #define RsvSetEnv 123 // reactivate 'setenv' (2007.8.31 maya)
313     #define RsvFilenameBox 124 // add 'filenamebox' (2007.9.13 maya)
314     #define RsvCallMenu 125 // add 'callmenu' (2007.11.18 maya)
315     #define RsvDo 126 // add 'do' (2007.11.20 doda)
316     #define RsvLoop 127 // add 'loop' (2007.11.20 doda)
317     #define RsvUntil 128 // add 'until' (2007.11.20 doda)
318     #define RsvEndUntil 129 // add 'enduntil' (2007.11.20 doda)
319     #define RsvCygConnect 130 // add 'cygconnect' (2007.12.17 doda)
320     #define RsvScpRecv 131 // add 'scprecv' (2008.1.1 yutaka)
321     #define RsvScpSend 132 // add 'scpsend' (2008.1.1 yutaka)
322     #define RsvGetVer 133 // add 'getver' (2008.2.4 yutaka)
323     #define RsvSetBaud 134 // add 'setbaud' (2008.2.13 yutaka)
324     #define RsvStrMatch 135 // add 'strmatch' (2008.3.26 yutaka)
325     #define RsvSetRts 136 // add 'setrts' (2008.3.12 maya)
326     #define RsvSetDtr 137 // add 'setdtr' (2008.3.12 maya)
327     #define RsvCrc32 138 // add 'crc32' (2008.9.12 yutaka)
328     #define RsvCrc32File 139 // add 'crc32file' (2008.9.13 yutaka)
329     #define RsvGetTTDir 140 // add 'getttdir' (2008.9.20 maya)
330     #define RsvGetHostname 141 // add 'gethostname' (2008.12.15 maya)
331     #define RsvSprintf2 142 // add 'sprintf2' (2008.12.18 maya)
332     #define RsvWaitN 143 // add 'waitn' (2009.1.26 maya)
333     #define RsvSendBroadcast 144
334 maya 1184

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26