annotate Wnn/romkan/rk_vars.c @ 28:a7ccf412ba02

more warning suppression
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Sat, 06 Mar 2010 23:24:53 +0900
parents bbc77ca4def5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
1 /*
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
2 * $Id: rk_vars.c,v 1.4 2005/04/10 15:26:38 aonoto Exp $
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
3 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
4
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
5 /*
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
6 * FreeWnn is a network-extensible Kana-to-Kanji conversion system.
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
7 * This file is part of FreeWnn.
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
8 *
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
9 * Copyright Kyoto University Research Institute for Mathematical Sciences
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
10 * 1987, 1988, 1989, 1990, 1991, 1992
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
11 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
12 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
13 * Copyright FreeWnn Project 1999, 2000
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
14 *
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
15 * Maintainer: FreeWnn Project <freewnn@tomo.gr.jp>
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
16 *
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
17 * This library is free software; you can redistribute it and/or
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
18 * modify it under the terms of the GNU Lesser General Public
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
19 * License as published by the Free Software Foundation; either
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
20 * version 2 of the License, or (at your option) any later version.
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
21 *
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
22 * This library is distributed in the hope that it will be useful,
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
25 * Lesser General Public License for more details.
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
26 *
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
27 * You should have received a copy of the GNU Lesser General Public
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
28 * License along with this library; if not, write to the
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
29 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
30 * Boston, MA 02111-1307, USA.
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
31 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
32
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
33 /***********************************************************************
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
34 rk_vars.c
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
35 88. 6.16 訂 補
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
36
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
37 プログラム内で二つ以上のファイルにまたがって使う変数を
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
38 まとめて定義している。
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
39 ***********************************************************************/
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
40 /* Version 3.0
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
41 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
42 #include "rk_header.h"
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
43 #include "rk_extvars.h"
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
44
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
45 char rk_errstat = 0; /* (error)によってエラーが引き起こされた時1(但し
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
46 (eofflg)が立っていたため末尾までの強制出力処理が
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
47 起こった場合は2)になる。romkan_henkan()実行ごとに
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
48 更新される。これはユーザにも開放。 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
49
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
50 int flags = 0;
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
51 /* 以下のフラグのOR。
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
52 RK_CHMOUT モードチェンジを知らせるかのフラグ
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
53 RK_KEYACK キーインに対し必ず何か返すかのフラグ
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
54 RK_DSPNIL romkan_disp(off)modeの返値のデフォルトが空文字列であるかの
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
55 フラグ。立たなければデフォルトはNULL。互換性のためromkan_
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
56 init2まではこれが立つ。
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
57 RK_NONISE 偽コードを出さないようにするかのフラグ
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
58 RK_REDRAW Wnnで使う特殊なフラグ。これが立っている場合、romkan_henkan
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
59 の結果としてdisoutにnisedl(偽物のdel)以後が特殊コードのみ
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
60 で終わる文字列が返ってきたら、その後ろにREDRAWをつなぐ。Wnn
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
61 で変換行のredrawをするために必要な措置。
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
62 RK_SIMPLD deleteの動作を単純にするかのフラグ
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
63 RK_VERBOS verboseで起こすかのフラグ
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
64 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
65
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
66 jmp_buf env0;
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
67
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
68 FILE *modefile; /* モード定義表のファイル */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
69 char nulstr[1] = { '\0' };
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
70
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
71 char *hcurread, *mcurread; /* 変換表・モード表の現在行bufへのポインタ */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
72 char *curfnm, *curdir; /* 現在読んでる変換表・モード表の名とディレクトリ。
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
73 但しcurdirは、サーチパスを捜してかつ表のオープンに成功した時のみ有効 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
74 letter *ltrbufbgn; /* 使用中のletterのバッファの先頭を指す */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
75 /* これら五つは、readdata()などの関数内でローカルに定義する配列の先頭を指
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
76 す。従って、その関数を抜けた後でこれらの値を使わないよう十分注意。特に、
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
77 エラー警告ルーチンなどでは、longjmpで戻るより前にこれらのprintを行うこと
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
78 (エラー処理用に使っているのは、上から四個まで)。 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
79 FILE *nestfile[FILNST], **base; /* 変換対応表のファイル */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
80
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
81 struct modestat modesw[MODMAX];
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
82
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
83 char hyoshu[HYOMAX]; /* 表の種別(前・本・後処理表の区別)を入れる配列 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
84 char **modmeiptr, *modmeibgn[MODMAX]; /* モード名に対する上と同様のデータ */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
85 char *modmeimem, modmeimem_[MODMEI]; /* 〃 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
86 char **dspnamptr, *dspnambgn[DMDMAX];
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
87 /* モード表示文字列に対する同様のデータ */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
88 char *dspcod, dspcod_[DMDCHR]; /* 〃 */
28
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
89 char *dspmod[2][2] = { {NULL, NULL}, {NULL, NULL} };
0
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
90 /* 現在及び一つ前の、romkanをそれぞれon・offしている時のモード表示
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
91 文字列へのポインタ。romkan_dispmode()で返る値はdspmod[0][0]。 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
92
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
93 char **hyomeiorg, **hyomeiptr;
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
94 /* 表の名へのポインタを入れる配列 *hyomeibgn[HYOMAX] を readdata() で
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
95 使うが、その先頭及び特定の要素へのポインタ */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
96 char *hyomeimem;
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
97 /* 表の名の実際の文字列を入れる配列 hyomeimem_[HYOMEI] を readdata()
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
98 で使うが、その特定の要素へのポインタ */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
99 char **pathmeiorg, **pathmeiptr;
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
100 /* 対応表のサーチパス名へのポインタを入れる配列 *pathmeibgn[PTHMAX]を
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
101 readdata() で使うが、その先頭及び特定の要素へのポインタ */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
102 char *pathareaorg, *pathmeimem;
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
103 /* 上記サーチパス名の実際の文字列を入れる配列 pathmeimem_[PTHMEI] を
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
104 readdata() で使うが、その先頭及び特定の要素へのポインタ。
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
105 但しpathmeimem_の先頭にはモード表のあるディレクトリの名が入り、後
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
106 で使うので、pathareaorgにはその続きのエリアの先頭の番地が入る。 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
107
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
108 int usemaehyo[HYOMAX], usehyo[HYOMAX], useatohyo[HYOMAX];
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
109 /* 前・本・後処理表のどれが選択されているかのデータ */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
110 int naibu_[NAIBMX], *naibu; /* モード表の内部表現を入れる配列 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
111
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
112 letter *lptr; /* letterへの汎用ポインタ */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
113
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
114 letter rk_input; /* 入力。3バイトまでは変更なしに対応可 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
115 letter disout[OUTSIZ]; /* 本処理からの出力のバッファ */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
116 letter rk_output[OUTSIZ]; /* 後処理からの出力(最終出力)のバッファ */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
117 letter keybuf[KBFSIZ], urabuf[KBFSIZ]; /* 本処理バッファとその退避領域 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
118 int lastoutlen, lastkbflen;
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
119 letter oneletter[2] = { EOLTTR, EOLTTR }, nil[1] =
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
120 {
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
121 EOLTTR};
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
122 int hyonum;
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
123
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
124 #define bit3(x, y, z) ((x) | ((y) << 1) | ((z) << 2))
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
125
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
126 struct funstr func[] = /* 関数の追加にはここと mchevl(), evlis() をいじる */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
127 {
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
128 /* 引数の数(-1…この値未使用)
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
129 名 出現 | タイプ…0:文字関数 1:文字列関数
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
130 ↓ ↓ ↓ ↓ 2:特殊関数 3:機能 4:宣言 */
28
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
131 {"defvar", bit3 (1, 0, 0), -1, 4}, /* 0 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
132 {"include", bit3 (1, 0, 0), -1, 4},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
133 {"toupper", bit3 (1, 1, 1), 1, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
134 {"tolower", bit3 (1, 1, 1), 1, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
135 {"off", bit3 (0, 1, 0), -1, 2},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
136 {"on", bit3 (0, 1, 0), -1, 2}, /* 5 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
137 {"switch", bit3 (0, 1, 0), -1, 2},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
138 {"toupdown", bit3 (1, 1, 1), 1, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
139 {"tozenalpha", bit3 (1, 1, 1), 1, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
140 {"tohira", bit3 (1, 1, 1), 1, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
141 {"tokata", bit3 (1, 1, 1), 1, 0}, /* 10 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
142 {"tohankata", bit3 (1, 1, 1), 1, 1},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
143 {"tozenhira", bit3 (1, 1, 1), 1, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
144 {"tozenkata", bit3 (1, 1, 1), 1, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
145 {"+", bit3 (1, 1, 1), 2, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
146 {"-", bit3 (1, 1, 1), 2, 0}, /* 15 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
147 {"*", bit3 (1, 1, 1), 2, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
148 {"/", bit3 (1, 1, 1), 2, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
149 {"%", bit3 (1, 1, 1), 2, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
150 {"last=", bit3 (1, 0, 0), 1, 2}, /* 直前のマッチコード==引数か? */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
151 {"if", bit3 (1, 0, 0), -1, 2}, /* 20 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
152 {"unless", bit3 (1, 0, 0), -1, 2},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
153 {"restart", bit3 (0, 1, 0), 0, 3},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
154 {"delchr", bit3 (1, 1, 1), 0, 0}, /* delchrを返す。隠しコマンド */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
155 {"alloff", bit3 (0, 1, 0), 0, 2}, /* 全モードをいっぺんにOFF */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
156 {"allon", bit3 (0, 1, 0), 0, 2}, /* 25 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
157 {"bitand", bit3 (1, 1, 1), 2, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
158 {"bitor", bit3 (1, 1, 1), 2, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
159 {"bitnot", bit3 (1, 1, 1), 1, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
160 {"!", bit3 (0, 1, 0), 0, 2}, /* 裏バッファの明示的クリア */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
161 {"atEOF", bit3 (1, 0, 0), 0, 2}, /* 30 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
162 {"todigit", bit3 (1, 1, 1), 2, 1},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
163 {"dakuadd", bit3 (1, 1, 1), 1, 1}, /* 濁点の付加 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
164 {"handakuadd", bit3 (1, 1, 1), 1, 1}, /* 半濁点の付加 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
165 {"value", bit3 (1, 1, 1), 1, 0},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
166 {"error", bit3 (0, 1, 0), 0, 3}, /* 35 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
167 {"defconst", bit3 (1, 0, 0), -1, 4},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
168 {"setmode", bit3 (0, 1, 0), -1, 2},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
169 {"mode+", bit3 (0, 1, 0), -1, 2},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
170 {"mode-", bit3 (0, 1, 0), -1, 2},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
171 {"mode=", bit3 (1, 0, 0), -1, 2}, /* 40 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
172 {"mode!=", bit3 (1, 0, 0), -1, 2},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
173 {"mode<", bit3 (1, 0, 0), -1, 2},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
174 {"mode>", bit3 (1, 0, 0), -1, 2},
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
175 {"send", bit3 (0, 1, 0), 1, 1}, /* 試作 */
a7ccf412ba02 more warning suppression
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
176 {NULL, 0, 0, 0}
0
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
177 };
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
178 /* last=〜unless… 入力コードの位置にしか置けず、文字列関数扱いなので
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
179 本処理表にしか書けない。 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
180 /* +,-,*,/,bitand,bitor,bitnot… 3バイト分の演算を行う。 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
181 /* atEOF… ファイル末尾での特別動作を指定するためのもの。但し、その
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
182 動作は不完全。 */
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
183
bbc77ca4def5 initial import
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
diff changeset
184 struct hyo hyo_n[HYOMAX]; /* 表ごとの変域・対応データの開始番地 */