7 Author: Dirk Kleeblatt <klee@cs.tu-berlin.de>
8 Martin Grabmueller <martin.grabmueller@eleven.de>
9 Maintainer: klee@cs.tu-berlin.de, martin.grabmueller@eleven.de
10 Homepage: http://uebb.cs.tu-berlin.de/harpy/
11 Category: Code Generation
12 Synopsis: Runtime code generation for x86 machine code
13 Description: The package contains the following components:
15 * An x86 assembler. We provide both low-level code generation in
16 module "Harpy.X86CodeGen" as well as a (slightly) higher-level
17 implementation in module "Harpy.X86Assembler", which figures out
18 addressing modes based on an instruction's operand types.
20 * An x86 disassembler which knows most of the opcodes available on
21 modern x86 processors and can display its output both in the style
22 used in Intel documents an in AT&T style, like the GNU tools. The
23 disassembler can be found in module "Harpy.X86Disassembler". The
24 disassembler is re-exported from the disassembler package for
25 compatibility with earlier Harpy releases.
27 * Some abstractions over the abovementioned code generation modules,
28 such as automatic label management and code generation
29 combinators (for if-then-else statements, while-loops, functions)
30 (module "Harpy.X86CGCombinators").
32 * All the above modules use the code generation monad defined in module
35 * The Darcs repo and two tutorials on using Harpy can be found at
36 Harpy's homepage: <http://uebb.cs.tu-berlin.de/harpy/>
37 Stability: Experimental
41 doc/Makefile doc/tutorial.lhs doc/larger-tutorial.lhs
42 examples/evaluator/ArithTypes.hs examples/evaluator/ArithParser.hs
43 examples/evaluator/Evaluator.hs
50 template-haskell >= 2 && < 3,
52 containers >= 0.3 && < 1,
54 disassembler ==0.1.0.99
61 Harpy.X86Disassembler,
62 Harpy.X86CGCombinators
64 ForeignFunctionInterface, MultiParamTypeClasses,
65 TemplateHaskell, CPP, FlexibleContexts, FlexibleInstances,