Notes

CIS 706: Translator Design I, Spring 2017


CIS Account

If you do not have a CIS account, here is how to get one:

  • Get a K-State eID if you don’t already have one.
  • Sign up online for a CIS account (which requires an active eID first!).
  • The account manager will approve your account and you will receive a password by email to by your eID account.

GitHub Account

Coursework submissions will be done via GitHub. In the beginning of the course, each student will be given a private GitHub repository; thus, you need to have a GitHub account.

Course Software Infrastructure

It is recommended that you use Sireum v3 IVE which provides all the required tools for the course in a single bundle. Once installed, you can found all the required tools under SIREUM_HOME/platform.

Sireum IVE is installed in all CS labs (e.g., 1114 and 1117 Engineering Hall); see K-State CS Laboratories for more information.

Below are some information if you prefer to install the required tools yourself.

You need Java 8 (or above) SDK to compile and test the course example code, assignments, etc. For your course work, you can choose to use Scala 2.12.1 (which still requires Java 8).

We will use the Sbt build tool (0.13.13) and IntelliJ with the following plugins (see the IntelliJ doc on how to install them):

  • ANTLR v4 grammar plugin

    ANTLR v4 is required for developing parser/lexer in the course. The ANTLR v4 grammar plugin is an excellent environment for ANTLR inside IntelliJ. It is highly recommended that you use the plugin when working with the course assignments.

  • JDT ASTView plugin

    To help you understand Eclipse Java Development Tools (JDT) object model Application Programming Interface (API), you can install the JDT ASTView plugin. The lectures assume that you have installed this plug-in.

  • ASM Bytecode Outline

    The example project uses ASM for generating Java class files. To help you understand ASM API, you can install the ASM plugin.

  • Scala

  • Sbt

StaticJava Compiler, Examples, and Slides

The course example projects (e.g., StaticJava Compiler) are stored in a Git repository accessible at: https://github.com/ksu-cis-706/compiler

Slides can be accessed at: http://goo.gl/jODYcY

Note that the slides will be updated during the course so do not print them until we have discussed the topics.

K-State CS Laboratories

CS Windows Machines

In a CS Windows machine (including Windows RDP server remote.win.cs.ksu.edu), Sireum IVE can be launched by using the start menu item Sireum (or Sireum32 for the 32-bit version) or by issuing the command-line idea64 or idea. Sireum CLI can be launched by issuing the command-line sireum.

The absolute path to SIREUM_HOME is \\files.cs.ksu.edu\santos\sireum\win64\Sireum.

CS Linux Machines

In a CS Linux machine (including using ssh -X or using the faster remote desktop protocol X2Go to cslinux.cs.ksu.edu), Sireum IVE can be launched by issuing the command-line idea.

The absolute path to SIREUM_HOME is /research/santos/sireum/linux64/Sireum.

CS RDP macOS Server

In the CS RDP macOS server remote-mac.cs.ksu.edu, Sireum IVE can be launched by double-clicking the Sireum icon in /Applications or by issuing the command-line: open /Applications/Sireum.app. Sireum CLI can be launched by issuing the command-line sireum.

The absolute path to SIREUM_HOME is /Applications/Sireum.app/Contents/Resources/sireum-v3.

RDP Clients

If you plan to use RDP from your personal machine, you can download the appropriate free client for your machine OS:

X2Go Clients

X2Go clients for various OSes can be downloaded from: http://wiki.x2go.org/doku.php/download:start