GF

Command line interface

main

getOptions

mainOpts

mainGFI

mainRunGFI

mainServerGFI

mainGFC

linkGrammars

writePGF

writeOutputs

Compiling GF grammars

compileToPGF

link

batchCompile

srcAbsName

parallelBatchCompile

exportPGF

Compiling a single module

type OneOutput

type CompiledModule

compileOne

reuseGFO

useTheSource

Abstract syntax, parsing, pretty printing and serialisation

getSourceModule

getBNFCRules

getEBNFRules

Grammar modules

data Grammar

data ModuleName

type Module

data ModuleInfo

type SourceGrammar

type SourceModInfo

type SourceModule

data ModuleType

emptyGrammar

mGrammar

modules

prependModule

moduleMap

data MInclude

data OpenSpec

extends

isInherited

inheritAll

openedModule

allDepsModule

partOfGrammar

depPathModule

allExtends

allExtendsPlus

lookupModule

isModAbs

isModRes

isModCnc

sameMType

isCompilableModule

isCompleteModule

allAbstracts

greatestAbstract

allResources

greatestResource

allConcretes

allConcreteModules

abstractOfConcrete

data ModuleStatus

Judgements

data Info

Terms

data Term

type Type

type Cat

type Fun

type QIdent

data BindType

data Patt

data TInfo

data Label

type MetaId

type Hypo

type Context

type Equation

type Labelling

type Assign

type Case

type LocalDef

type Param

type Altern

type Substitution

varLabel

tupleLabel

linLabel

theLinLabel

ident2label

label2ident

Source locations

data Location

data L a

unLoc

noLoc

ppLocation

ppL

PMCFG

data PMCFG

data Production

type FId

type FunId

type SeqId

type LIndex

type Sequence

Functions for constructing and analysing source code terms.

typeForm

typeFormCnc

valCat

valType

valTypeCnc

typeSkeleton

catSkeleton

funsToAndFrom

isRecursiveType

isHigherOrderType

contextOfType

termForm

termFormCnc

appForm

mkProdSimple

mkProd

mkTerm

mkApp

mkAbs

appCons

mkLet

mkLetUntyped

isVariable

uType

Assignment

assign

assignT

unzipR

mkAssign

projectRec

zipAssign

mapAssignM

Records

mkRecordN

mkRecord

mkRecTypeN

mkRecType

record2subst

Types

typeType

typePType

typeStr

typeTok

typeStrs

typeString

typeFloat

typeInt

typeInts

typePBool

typeError

isTypeInts

Terms

isPredefConstant

checkPredefError

cnPredef

mkSelects

mkTable

mkCTable

mkHypo

eqStrIdent

tuple2record

tuple2recordType

tuple2recordPatt

mkCases

mkWildCases

mkFunType

plusRecType

plusRecord

defLinType

mkFreshVar

mkFreshVarX

maxVarIndex

mkFreshVars

freshAsTerm

string2term

int2term

float2term

ident2terminal

symbolOfIdent

symid

justIdentOf

linTypeStr

linAsStr

Term and pattern conversion

term2patt

patt2term

Almost compositional

composSafeOp

composOp

composSafePattOp

composPattOp

collectOp

mconcatMap

collectPattOp

Misc

redirectTerm

allCaseValues

strsFromTerm

stringFromTerm

getTableType

changeTableType

wordsInTerm

noExist

defaultLinType

sortRec

Dependencies

allDependencies

topoSortJments

topoSortJments2

Pretty printing

data TermPrintQual

ppModule

ppJudgement

ppParams

ppTerm

ppPatt

ppValue

ppConstrs

ppQIdent

ppMeta

getAbs

Identifiers

data ModuleName

moduleNameS

data Ident

ident2utf8

showIdent

prefixIdent

Normal identifiers (returned by the parser)

identS

identC

identW

Special identifiers for internal use

identV

identA

identAV

argIdent

isArgIdent

getArgIndex

varStr

varX

isWildIdent

varIndex

Raw identifiers

data RawIdent

rawIdentS

rawIdentC

ident2raw

prefixRawIdent

isPrefixOf

showRawIdent

Binary serialisation

data VersionTagged a

decodeModuleHeader

decodeModule

encodeModule