1
0
forked from GitHub/gf-core
Thomas Hallgren bea6aa1d2d GF.Compile.CheckGrammar: discard bad 'lincat C = …' with a warning
e.g. if C is a fun and not a cat in the abstract syntax.
Discarding bad lincats prevents GF from generating malformed PGFs that
are rejected by the C run-time system.
I also added code to reject bad lincats with an error, but I left it
commented out since it seems a bit pedantic compared to GF's otherwise
rather sloppy grammar checking.
2019-04-25 17:02:42 +02:00
2019-03-05 20:18:30 +01:00
2018-08-11 22:16:28 -03:00
2018-11-29 10:46:33 +01:00
2018-11-28 14:40:36 +01:00
2018-12-04 10:31:53 +01:00

GF Logo

Grammatical Framework (GF)

Build Status

The Grammatical Framework is a grammar formalism based on type theory. It consists of:

  • a special-purpose programming language
  • a compiler of the language
  • a generic grammar processor

The compiler reads GF grammars from user-provided files, and the generic grammar processor performs various tasks with the grammars:

  • generation
  • parsing
  • translation
  • type checking
  • computation
  • paraphrasing
  • random generation
  • syntax editing

GF particularly addresses four aspects of grammars:

  • multilinguality (parallel grammars for different languages)
  • semantics (semantic conditions of well-formedness, semantic properties of expressions)
  • grammar engineering (modularity, abstractions, libraries)
  • embeddability in programs written in other languages (C, C++, Haskell, Java, JavaScript)

Compilation and installation

The simplest way of installing GF is with the command:

cabal install

For more details, see the download page and developers manual.

About this repository

On 2018-07-25, the monolithic GF repository was split in two:

  1. gf-core — the GF compiler, shell and runtimes
  2. gf-rgl — the resource grammar library

The former repository is now archived and no longer updated. The split was performed using this script and the output of that script is here.

Description
No description provided
Readme Multiple Licenses 138 MiB
Languages
Haskell 45%
C 32.9%
JavaScript 10.1%
HTML 3.3%
Grammatical Framework 2.8%
Other 5.8%