harpy-0.4: harpy.cabal
Cabal-version: >=1.2
Name: harpy
Version: 0.4
License: GPL
License-file: COPYING
Author: Dirk Kleeblatt <klee@cs.tu-berlin.de>
Martin Grabmueller <magr@cs.tu-berlin.de>
Maintainer: klee@cs.tu-berlin.de, magr@cs.tu-berlin.de
Homepage: http://uebb.cs.tu-berlin.de/harpy/
Category: Code Generation
Synopsis: Runtime code generation for x86 machine code
Description: The package contains the following components:
.
* An x86 assembler. We provide both low-level code generation in
module "Harpy.X86CodeGen" as well as a (slightly) higher-level
implementation in module "Harpy.X86Assembler", which figures out
addressing modes based on an instruction's operand types.
.
* An x86 disassembler which knows most of the opcodes available on
modern x86 processors and can display its output both in the style
used in Intel documents an in AT&T style, like the GNU tools. The
disassmbler can be found in module "Harpy.X86Disassembler".
.
* Some abstractions over the abovementioned code generation modules,
such as automatic label management and code generation
combinators (for if-then-else statements, while-loops, functions)
(module "Harpy.X86CGCombinators").
.
* All the above modules use the code generation monad defined in module
"Harpy.CodeGenMonad".
.
* The Darcs repo and two tutorials on using Harpy can be found at
Harpy's homepage: <http://uebb.cs.tu-berlin.de/harpy/>
Stability: Experimental
Extra-source-files:
NEWS README Makefile
doc/Makefile doc/tutorial.lhs doc/larger-tutorial.lhs
examples/evaluator/ArithTypes.hs examples/evaluator/ArithParser.hs
examples/evaluator/Evaluator.hs
Flag small_base
Description: Choose the new smaller, split-up base package.
Library
if flag(small_base)
Build-depends: base >= 3,parsec,mtl,template-haskell,pretty,containers,array
else
Build-Depends: base < 3,parsec,mtl,template-haskell
Exposed-Modules:
Harpy,
Harpy.X86CodeGen,
Harpy.X86Assembler,
Harpy.CodeGenMonad,
Harpy.Call,
Harpy.X86Disassembler,
Harpy.X86CGCombinators
Extensions:
ForeignFunctionInterface, MultiParamTypeClasses,
TemplateHaskell, CPP, FlexibleContexts, FlexibleInstances,
RankNTypes
Ghc-options: -O2