====== Interpreter IFJcode19 (ic19int) - private notes ====== ===== Requirements ===== * 64-bits OS * Linux: stdlib of C++? * Windows: Cygwin (or at least ''cygwin1.dll'', ''cygstdc++-6.dll'', ''cyggcc_s-seh-1.dll'') * překlad prováděl 2017 i 2018 Radim Kocman pomocí Cygwin (64-bit) ===== Hidden option ===== === ic19int --stat === Mód počítání statistik interpretu započítá i cenu případně provedené instrukce EXIT na rozdíl od uživatelské instrukce GROOT, která se musí pro splnění provést před koncem interpretace (a tedy před případným provedením instrukce EXIT). ===== Bug reports and know issues ===== * Interpreter supports case-insensitive header definition (in contrary to the specification that requires case-sensitivity from students) * ic19int: READ načítá 0x jako int@0 místo nil@nil (dle podřetězce rozpozná hexazápis celého čísla, ale pak by mělo vadit, že chybí nějaká číslice) * ic19int: WRITE: výpis desetinných čísel není kompatibilní úplně s Python 3 (jiný počet platných číslic a jiný výpis hexadecimální desetinné nuly) * ===== Feature requests ===== * option ''-i'' to get into interactive mode (instructions are taken from stdin and only when READ is interpreted, the input is read from stdin; if label is not available, the user needs to fill in the rest of the code until the missing label and then, interactive mode is reentered) ===== Limits ===== * length of the source code at maximum 2^32 lines * 2^32 executions of each instruction (Just for Groot stats - overflows are detected and groot returns final price as -1) ===== History ===== * [[.ic17int]] * [[.ic18int]] * [[.ic20int]]