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

lectures/undergraduate/ifj/ic19int.txt · Last modified: 2019/12/01 22:16 by krivka
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki