プログラミングと工作と

PythonとかPascalとかAVRマイコンとか、コンパイラつくったり電子工作なんかを楽しんでいるおっさんの記録

ファイルを分割したい

エラー処理は意味不明な現象が多すぎてちょっと一時撤退。
まあ、本質的な部分じゃないから、と言い訳しつつ先に進んでしまいます。

コンパイラを作っていてもうひとつ気になっていたのが、ファイルの長さです。
こないだ完成した、なにもしない・宣言を受理するだけの構文解析器で260行程です。このまま作っていくと、数千行のファイルになってしまいます。

これじゃ見にくいし、やっぱり、機能別にファイル分割したいですよね。

そんなわけで、単純に分割して 'import' すればいいんだろ?ってノリでやってみたら、Python先生にネームエラーとかって怒られました。
調べたら、ファイル間を横断するグローバル変数なんてものには対応していないんですね。

さて、どうしたもんか。

tokenはすべての構文解析器の関数から参照されるからなー
Python本を読んでいくと、クラスの属性としてtokenを定義してやればOKそうな気がします。
クラスかー・・・
おっちゃん、あんまりオブジェクト指向とかよくわかってないんだよなー
まあ、ここで使い方になれると手続き型プログラムで止まっている僕のスキルが90年代位へ進化するかも。
ちょっとまじめに勉強してみるかー