6809用のアセンブラですが、OS9 用の directive 入れようかなと。そんなことしなくても、適当にbinary作れば良いんですけどね。
いろいろ怪しいのだが、
擬似命令のコードが2分木で実装されてるので辞書順
なのだが、その順序が間違ってる... おいおい。
expression を再帰下降法で作っているのだが、level を定義して、
short scanexpr(int level) { /* This is what you call _recursive_ descent!!!*/
if(level==10)return scanfactor();
t=scanexpr(level+1);
while(1) {
skipspace();
c=*srcptr++;
switch(c) {
case '*':oldcat=exprcat;
t*=scanexpr(10);
exprcat|=oldcat|16;
break;
ちょっと待て。そういうのrecursive_ descentとは言わんだろ。でも、こうすると、一種の先読み文法みたいになるらしく、演算子の順序をlevelで制御できるらしい。
治そうかと思ったけど、これも面白いかな。
No comments:
Post a Comment