name: risc386 version: 0.0.20130719 build-type: Simple cabal-version: >= 1.8 license: BSD3 license-file: LICENSE author: Andreas Abel with contributions by Robert Grabowski and Ulrich Schoepp maintainer: Andreas Abel category: Compilers/Interpreters, Education homepage: http://www2.tcs.ifi.lmu.de/~abel/ synopsis: Reduced instruction set i386 simulator description: risc386 is a symbolic Intel(R) 386 assembler interpreter which allows infinitely many registers (temporaries). Its purpose is to debug the output of a MiniJava compiler (from Andrew Appel's book, Modern Compiler Implementation in JAVA) before register allocation has been performed. . risc386 supports only a small fragment of i386 instructions. It expects its input to be a list of procedures in .intel_syntax each of which is started by a label and terminated by a return statement. . Control flow is restricted, so, only jumps to procedure-local labels are allowed. Reading from an uninitialized memory location will lead to an exception. tested-with: GHC == 7.4.1, GHC == 7.6.3 extra-source-files: README.txt Makefile test/succeed/Makefile test/succeed/*.s test/succeed/*.raw.s test/fail/Makefile test/fail/*.s test/fail/*.err test/fail/*.raw.s test/fail/*.raw.err executable risc386 hs-source-dirs: . build-depends: array >= 0.3 && < 0.5, base >= 4.2 && < 4.7, containers >= 0.3 && < 0.6, -- mtl-2.1 contains a severe bug mtl >= 2.0 && < 2.1 || >= 2.1.1 && < 2.2, pretty >= 1.0 && < 1.2 build-tools: happy >= 1.15 && < 2, alex >= 2.0 && < 4 extensions: MultiParamTypeClasses TypeSynonymInstances FlexibleInstances FlexibleContexts GeneralizedNewtypeDeriving PatternGuards TupleSections main-is: MainIntel.hs other-modules: Frame FrameIntel GenSym Intel LexIntel ParseIntel StateIntel TokenIntel Util Wellformed