Skip to content

Instantly share code, notes, and snippets.

@valexey
Created June 13, 2013 16:53
Show Gist options
  • Save valexey/5775368 to your computer and use it in GitHub Desktop.
Save valexey/5775368 to your computer and use it in GitHub Desktop.
switch(o=symbol()) {
case 22: /* string */
if (width!=2)
bxdec();
printf("L%d\n", cval);
break;
case 41: /* - const */
if ((o=symbol())==23) { /* float */
fcval = -fcval;
goto case23;
}
if (o!=21)
goto syntax;
cval = -cval;
case 21: /* const */
if (width==1)
printf(".byte ");
if (width>2) {
fcval = cval;
goto case23;
}
printf("%o\n", cval);
break;
case 20: /* name */
if (width!=2)
bxdec();
printf("%p\n", &csym[4]);
break;
case 23:
case23:
if (width==4) {
sf = fcval;
printf("%o;%o\n", sf);
break;
}
if (width==8) {
printf("%o;%o;%o;%o\n", fcval);
break;
}
bxdec();
break;
default:
goto syntax;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment