diff options
| author | Franklin Wei <git@fwei.tk> | 2015-11-22 15:26:49 -0500 |
|---|---|---|
| committer | Franklin Wei <git@fwei.tk> | 2015-11-22 15:26:49 -0500 |
| commit | c7c1bd7641581e2a0b84dcecdab61ed7c43268e9 (patch) | |
| tree | 593dfd770a4706cd2417faf7f2c075b53b7a8a78 /src/emitc.c | |
| parent | f90dc85cf0989eec61a6c9ce76842b78e2d8f46d (diff) | |
| download | ducky-c7c1bd7641581e2a0b84dcecdab61ed7c43268e9.zip ducky-c7c1bd7641581e2a0b84dcecdab61ed7c43268e9.tar.gz ducky-c7c1bd7641581e2a0b84dcecdab61ed7c43268e9.tar.bz2 ducky-c7c1bd7641581e2a0b84dcecdab61ed7c43268e9.tar.xz | |
add input
Diffstat (limited to 'src/emitc.c')
| -rw-r--r-- | src/emitc.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/emitc.c b/src/emitc.c index 21d516a..6de0401 100644 --- a/src/emitc.c +++ b/src/emitc.c @@ -502,6 +502,15 @@ static void newline_handler(void) write_src("vid_writef(\"\\n\");\n"); } +static void input_handler(void) +{ + write_src("{\n"); + write_src("vartype val;\n"); + write_src("scanf(\"%s\", &val);\n", VARFORMAT); + write_src("setvar(%d, val);\n", read_varid()); + write_src("}\n"); +} + static void inc_line_pointer(void) { ++current_line; @@ -558,7 +567,7 @@ static void (*instr_tab[0x100])(void) = { NULL, /* 0x2c */ NULL, /* 0x2d */ newline_handler, /* 0x2e */ - NULL, /* 0x2f */ + input_handler, /* 0x2f */ NULL, /* 0x30 */ NULL, /* 0x31 */ NULL, /* 0x32 */ |