epic-0.9: Compiler for a simple functional language

Portabilityportable
Stabilityexperimental
Maintainereb@dcs.st-and.ac.uk

Epic.Compiler

Description

Public interface for Epigram Supercombinator Compiler

Synopsis

Documentation

data CompileOptions Source

(Debugging) options to give to compiler

Constructors

KeepC

Keep intermediate C file

Trace

Generate trace at run-time (debug)

ShowBytecode

Show generated code

ShowParseTree

Show parse tree

MakeHeader FilePath

Output a .h file too

GCCOpt String

Extra GCC option

Debug

Generate debug info

Checking Int

Checking level (0 none)

ExternalMain

main is defined externally (in C)

MainInc FilePath

File to #include in main program

LinkObj FilePath

.o file to link with

Instances

compileSource

Arguments

:: FilePath

Input file name

-> FilePath

Output file name

-> Maybe FilePath

Interface (.ei) file name, if desired

-> IO () 

Compile a source file in supercombinator language to a .o

compileOptsSource

Arguments

:: FilePath

Input file name

-> FilePath

Output file name

-> Maybe FilePath

Interface (.ei) file name, if desired

-> [CompileOptions] 
-> IO () 

compileDeclsSource

Arguments

:: FilePath

Output file name

-> Maybe FilePath

Interface (.ei) file name, if desired

-> [Decl]

Declarations

-> [CompileOptions] 
-> IO () 

linkSource

Arguments

:: [FilePath]

Object files

-> FilePath

Executable filename

-> [CompileOptions] 
-> IO () 

Link a collection of .o files into an executable