
Code map for GF source files. 

$Author: peb $
$Date: 2005/02/07 10:58:08 $

Directories:

[top level] GF main function and runtime-related modules
api         high-level access to GF functionalities
canonical   GFC (= GF Canonical) basic functionalities
cf          context-free skeleton used in parsing
cfgm        multilingual context-free skeleton exported to Java
compile     compilation phases from GF to GFC
conversions [OBSOLETE] formats used in parser generation
for-ghc     GHC-specific files (Glasgow Haskell Compiler)
for-hugs    Hugs-specific files (a Haskell interpreter)
for-windows Windows-specific files (an operating system from Microsoft)
grammar     basic functionalities of GF grammars used in compilation
infra       GF-independent infrastructure and auxiliaries
newparsing  parsing with GF grammars: current version (cf. parsing)
notrace     debugging utilities for parser development (cf. trace)
parsers     parsers of GF and GFC files
parsing     [OBSOLETE] parsing with GF grammars: old version (cf. newparsing)
shell       interaction shells
source      utilities for reading in GF source files
speech      generation of speech recognition grammars
trace       debugging utilities for parser development (cf. notrace)
useGrammar  grammar functionalities for applications
util        utilities for using GF


Individual files:

GF.hs                  the Main module
GFModes.hs
HelpFile.hs            [AUTO] help file generated by util/MkHelpFile
Today.hs               [AUTO] file generated by "make today"

api/API.hs             high-level access to GF functionalities
api/BatchTranslate.hs
api/GetMyTree.hs
api/GrammarToHaskell.hs
api/IOGrammar.hs
api/MyParser.hs        slot for defining your own parser

canonical/AbsGFC.hs    [AUTO] abstract syntax of GFC
canonical/CanonToGrammar.hs
canonical/CMacros.hs
canonical/ErrM.hs
canonical/GetGFC.hs
canonical/GFC.cf       [LBNF] source of GFC parser
canonical/GFC.hs
canonical/LexGFC.hs
canonical/Look.hs
canonical/MkGFC.hs
canonical/PrExp.hs
canonical/PrintGFC.hs  pretty-printer of GFC
canonical/Share.hs
canonical/SkelGFC.hs   [AUTO]
canonical/TestGFC.hs   [AUTO]
canonical/Unlex.hs

cf/CanonToCF.hs
cf/CF.hs               abstract syntax of context-free grammars
cf/CFIdent.hs
cf/CFtoGrammar.hs
cf/CFtoSRG.hs
cf/ChartParser.hs      the current default parsing method
cf/EBNF.hs
cf/PPrCF.hs
cf/PrLBNF.hs
cf/Profile.hs

cfgm/CFG.cf             [LBNF] source
cfgm/AbsCFG.hs          [AUTO]
cfgm/LexCFG.hs          [AUTO]
cfgm/ParCFG.hs          [AUTO]
cfgm/PrintCFG.hs        [AUTO]
cfgm/PrintCFGrammar.hs

compile/CheckGrammar.hs
compile/Compile.hs      the complete compiler pipeline
compile/Extend.hs
compile/GetGrammar.hs
compile/GrammarToCanon.hs
compile/MkResource.hs
compile/MkUnion.hs
compile/ModDeps.hs
compile/Optimize.hs
compile/PGrammar.hs
compile/PrOld.hs
compile/Rebuild.hs
compile/RemoveLiT.hs
compile/Rename.hs
compile/ShellState.hs   the run-time multilingual grammar datastructure
compile/Update.hs

for-ghc/ArchEdit.hs
for-ghc/Arch.hs

for-ghc-nofud/ArchEdit.hs@
for-ghc-nofud/Arch.hs@

for-hugs/ArchEdit.hs
for-hugs/Arch.hs
for-hugs/JGF.hs
for-hugs/MoreCustom.hs
for-hugs/Unicode.hs

for-hugs/Arch.hs
for-hugs/ArchEdit.hs
for-hugs/JGF.hs
for-hugs/LexCFG.hs         dummy CFG lexer
for-hugs/LexGF.hs          dummy GF lexer
for-hugs/LexGFC.hs         dummy GFC lexer
for-hugs/MoreCustom.hs
for-hugs/ParCFG.hs         dummy CFG parser 
for-hugs/ParGFC.hs         dummy GFC parser
for-hugs/ParGF.hs          dummy GF parser
for-hugs/Tracing.hs
for-hugs/Unicode.hs

for-windows/ArchEdit.hs
for-windows/Arch.hs

grammar/AbsCompute.hs
grammar/Abstract.hs        GF and GFC abstract syntax datatypes
grammar/AppPredefined.hs
grammar/Compute.hs
grammar/Grammar.hs         GF source grammar datatypes
grammar/LookAbs.hs
grammar/Lookup.hs          
grammar/Macros.hs          macros for creating GF terms and types
grammar/MMacros.hs         more macros, mainly for abstract syntax
grammar/PatternMatch.hs
grammar/PrGrammar.hs       the top-level grammar printer
grammar/Refresh.hs
grammar/ReservedWords.hs
grammar/TC.hs              Coquand's type checking engine
grammar/TypeCheck.hs
grammar/Unify.hs
grammar/Values.hs

infra/Arabic.hs             ASCII coding of Arabic Unicode
infra/Assoc.hs              finite maps/association lists as binary search trees
infra/CheckM.hs
infra/Comments.hs
infra/Devanagari.hs         ASCII coding of Devanagari Unicode
infra/ErrM.hs
infra/Ethiopic.hs
infra/EventF.hs
infra/ExtendedArabic.hs
infra/ExtraDiacritics.hs
infra/FudgetOps.hs
infra/Glue.hs
infra/Greek.hs
infra/Hebrew.hs
infra/Hiragana.hs
infra/Ident.hs
infra/LatinASupplement.hs
infra/Map.hs                finite maps as red black trees
infra/Modules.hs
infra/OCSCyrillic.hs
infra/Operations.hs         library of strings, search trees, error monads
infra/Option.hs
infra/OrdMap2.hs            abstract class of finite maps + implementation as association lists
infra/OrdSet.hs             abstract class of sets + implementation as sorted lists
infra/Parsers.hs
infra/ReadFiles.hs
infra/RedBlack.hs           red black trees
infra/RedBlackSet.hs        sets and maps as red black trees
infra/Russian.hs
infra/SortedList.hs         sets as sorted lists
infra/Str.hs
infra/Tamil.hs
infra/Text.hs
infra/Trie2.hs
infra/Trie.hs
infra/UnicodeF.hs
infra/Unicode.hs
infra/UseIO.hs
infra/UTF8.hs               UTF3 en/decoding
infra/Zipper.hs

newparsing/CFGrammar.hs                type definitions for context-free grammars
newparsing/CFParserGeneral.hs          several variants of general CFG chart parsing
newparsing/CFParserIncremental.hs      several variants of incremental (Earley-style) CFG chart parsing
newparsing/ConvertGFCtoMCFG.hs         converting GFC to MCFG
newparsing/ConvertGrammar.hs           conversions between different grammar formats
newparsing/ConvertMCFGtoCFG.hs         converting MCFG to CFG
newparsing/GeneralChart.hs             Haskell framework for "parsing as deduction"
newparsing/GrammarTypes.hs             instantiations of grammar types
newparsing/IncrementalChart.hs         Haskell framework for incremental chart parsing
newparsing/MCFGrammar.hs               type definitions for multiple CFG
newparsing/MCFParserBasic.hs           MCFG chart parser
newparsing/MCFRange.hs                 ranges for MCFG parsing
newparsing/ParseCFG.hs                 parsing of CFG
newparsing/ParseCF.hs                  parsing of the CF format
newparsing/ParseGFC.hs                 parsing of GFC
newparsing/ParseMCFG.hs                parsing of MCFG
newparsing/Parser.hs                   general definitions for parsers
newparsing/PrintParser.hs              pretty-printing class for parsers
newparsing/PrintSimplifiedTerm.hs      simplified pretty-printing for GFC terms

notrace/Tracing.hs          tracing predicates when we DON'T want tracing capabilities (normal case)

parsers/ParGFC.hs           [AUTO]
parsers/ParGF.hs            [AUTO]

shell/CommandF.hs
shell/CommandL.hs           line-based syntax of editor commands
shell/Commands.hs           commands of GF editor shell
shell/IDE.hs
shell/JGF.hs
shell/PShell.hs
shell/ShellCommands.hs      commands of GF main shell
shell/Shell.hs
shell/SubShell.hs
shell/TeachYourself.hs

source/AbsGF.hs             [AUTO]
source/ErrM.hs
source/GF.cf                [LBNF] source of GF parser
source/GrammarToSource.hs
source/LexGF.hs             [AUTO]
source/PrintGF.hs           [AUTO]
source/SourceToGrammar.hs

speech/PrGSL.hs
speech/PrJSGF.hs
speech/SRG.hs
speech/TransformCFG.hs

trace/Tracing.hs            tracing predicates when we want tracing capabilities

translate/GFT.hs            Main module of html-producing batch translator

useGrammar/Custom.hs        database for customizable commands
useGrammar/Editing.hs
useGrammar/Generate.hs
useGrammar/GetTree.hs
useGrammar/Information.hs
useGrammar/Linear.hs        the linearization algorithm
useGrammar/MoreCustom.hs
useGrammar/Morphology.hs
useGrammar/Paraphrases.hs
useGrammar/Parsing.hs       the top-level parsing algorithm
useGrammar/Randomized.hs
useGrammar/RealMoreCustom.hs
useGrammar/Session.hs
useGrammar/TeachYourself.hs
useGrammar/Tokenize.hs      lexer definitions (listed in Custom)
useGrammar/Transfer.hs

util/GFDoc.hs              utility for producing LaTeX and HTML from GF
util/HelpFile              source of ../HelpFile.hs
util/Htmls.hs              utility for chopping a HTML document to slides
util/MkHelpFile.hs
util/WriteF.hs
