idk
This commit is contained in:
8
parse.c
8
parse.c
@@ -53,6 +53,7 @@ enum Token {
|
||||
Tphi,
|
||||
Tjmp,
|
||||
Tjnz,
|
||||
Ttail,
|
||||
Tret,
|
||||
Thlt,
|
||||
Texport,
|
||||
@@ -113,6 +114,7 @@ static char *kwmap[Ntok] = {
|
||||
[Tphi] = "phi",
|
||||
[Tjmp] = "jmp",
|
||||
[Tjnz] = "jnz",
|
||||
[Ttail] = "tail",
|
||||
[Tret] = "ret",
|
||||
[Thlt] = "hlt",
|
||||
[Texport] = "export",
|
||||
@@ -664,6 +666,9 @@ parseline(PState ps)
|
||||
curb->jmp.arg = r;
|
||||
}
|
||||
goto Close;
|
||||
case Ttail:
|
||||
curb->jmp.type = Jtail;
|
||||
goto Close;
|
||||
case Tjmp:
|
||||
curb->jmp.type = Jjmp;
|
||||
goto Jump;
|
||||
@@ -1434,6 +1439,9 @@ printfn(Fn *fn, FILE *f)
|
||||
if (b->s1 != b->link)
|
||||
fprintf(f, "\tjmp @%s\n", b->s1->name);
|
||||
break;
|
||||
case Jtail:
|
||||
fprintf (f, "\ttail\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(f, "\t%s ", jtoa[b->jmp.type]);
|
||||
if (b->jmp.type == Jjnz) {
|
||||
|
||||
Reference in New Issue
Block a user