Coder Social home page Coder Social logo

dennis-ug / gf-core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from grammaticalframework/gf-core

0.0 0.0 0.0 132.27 MB

Grammatical Framework core: compiler, shell & runtimes

Home Page: https://www.grammaticalframework.org

License: Other

Shell 0.34% JavaScript 10.16% C++ 0.18% Python 0.80% Perl 0.03% C 32.92% Emacs Lisp 0.01% Java 0.79% Haskell 45.89% C# 1.24% Prolog 0.01% CSS 0.65% Grammatical Framework 2.82% Makefile 0.19% HTML 3.27% CMake 0.05% Yacc 0.21% M4 0.47%

gf-core's Introduction

GF Logo

Grammatical Framework (GF)

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 from source is with the command:

cabal install

or:

stack install

Note that if you are unlucky to have Cabal 3.0 or later, then it uses the so-called Nix style commands. Using those for GF development is a pain. Every time when you change something in the source code, Cabal will generate a new folder for GF to look for the GF libraries and the GF cloud. Either reinstall everything with every change in the compiler, or be sane and stop using cabal-install. Instead you can do:

runghc Setup.hs configure
runghc Setup.hs build
sudo runghc Setup.hs install

The script will install the GF dependencies globally. The only solution to the Nix madness that I found is radical:

"No person, no problem" (Нет человека – нет проблемы).

For more information, including links to precompiled binaries, see the download page.

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.

gf-core's People

Contributors

krangelov avatar thomas-h avatar aarneranta avatar johnjcamilleri avatar bringert avatar inariksit avatar anka-213 avatar saludes avatar ramonique avatar odanoburu avatar heatherleaf avatar shafqatvirk avatar gdetrez avatar pkolachi avatar normundsg avatar ffrixslee avatar miracle2k avatar 2jacobtan avatar mkmks avatar kkofler avatar ayberkt avatar meowyam avatar mengwong avatar 1regina avatar prasanthk-ms09 avatar adamslaski avatar olgacaprotti avatar hleiss avatar tristankoh avatar mbrock avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.