<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/compiler/GF/Compile/Export.hs, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.adelon.net/gf-core.git/atom?h=master</id>
<link rel='self' href='https://git.adelon.net/gf-core.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/'/>
<updated>2019-07-03T13:07:31+00:00</updated>
<entry>
<title>Start work on PGFtoJSON module. Add compiler flag `-f json`.</title>
<updated>2019-07-03T13:07:31+00:00</updated>
<author>
<name>John J. Camilleri</name>
<email>john@digitalgrammars.com</email>
</author>
<published>2019-07-03T13:07:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=c5a75c482ccaf1ce955694fb63dd4e05e9d34a02'/>
<id>urn:sha1:c5a75c482ccaf1ce955694fb63dd4e05e9d34a02</id>
<content type='text'>
</content>
</entry>
<entry>
<title>replace aeson with json</title>
<updated>2019-02-26T18:27:36+00:00</updated>
<author>
<name>krangelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2019-02-26T18:27:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=25dc9348713ce1142c7ea2c8f0b5a9cfdac4c5ec'/>
<id>urn:sha1:25dc9348713ce1142c7ea2c8f0b5a9cfdac4c5ec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>enable export of canonical grammars to JSON and YAML</title>
<updated>2019-02-08T08:10:48+00:00</updated>
<author>
<name>Peter Ljunglöf</name>
<email>peter.ljunglof@heatherleaf.se</email>
</author>
<published>2019-02-08T08:10:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=47ac01e4b9502ed573e4847ff563ada2670bd4ba'/>
<id>urn:sha1:47ac01e4b9502ed573e4847ff563ada2670bd4ba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More work on the canonica_gf export</title>
<updated>2019-01-22T16:16:32+00:00</updated>
<author>
<name>Thomas Hallgren</name>
<email>th-github@altocumulus.org</email>
</author>
<published>2019-01-22T16:16:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=e4abff772556ebee68a7e3b2cbe4fd413a5e845e'/>
<id>urn:sha1:e4abff772556ebee68a7e3b2cbe4fd413a5e845e</id>
<content type='text'>
+ Abstract syntax now is converted directly from the Grammar and not via PGF,
  so you can use `gf -batch -no-pmcfg -f canonical_gf ...`, to export to
  canonical_gf while skipping PMCFG and PGF file generation completely.
+ Flags that are normally copied to PGF files are now included in the
  caninical_gf output as well (in particular the startcat flag).
</content>
</entry>
<entry>
<title>Adding -output-format canonical_gf</title>
<updated>2019-01-17T20:04:08+00:00</updated>
<author>
<name>Thomas Hallgren</name>
<email>th-github@altocumulus.org</email>
</author>
<published>2019-01-17T20:04:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=fc1b51aa95ec9e1a628b1255722202472484ee37'/>
<id>urn:sha1:fc1b51aa95ec9e1a628b1255722202472484ee37</id>
<content type='text'>
This output format converts a GF grammar to a "canonical" GF grammar. A
canonical GF grammar consists of

 - one self-contained module for the abstract syntax
 - one self-contained module per concrete syntax

The concrete syntax modules contain param, lincat and lin definitions,
everything else has been eliminated by the partial evaluator, including
references to resource library modules and functors. Record types
and tables are retained.

The -output-format canonical_gf option writes canonical GF grammars to a
subdirectory "canonical/". The canonical GF grammars are written as
normal GF ".gf" source files, which can be compiled with GF in the normal way.

The translation to canonical form goes via an AST for canonical GF grammars,
defined in GF.Grammar.Canonical. This is a simple, self-contained format that
doesn't cover everyting in GF (e.g. omitting dependent types and HOAS), but it
is complete enough to translate the Foods and Phrasebook grammars found in
gf-contrib. The AST is based on the GF grammar "GFCanonical" presented here:

  https://github.com/GrammaticalFramework/gf-core/issues/30#issuecomment-453556553

The translation of concrete syntax to canonical form is based on the
previously existing translation of concrete syntax to Haskell, implemented
in module GF.Compile.ConcreteToHaskell. This module could now be reimplemented
and simplified significantly by going via the canonical format. Perhaps exports
to other output formats could benefit by going via the canonical format too.

There is also the possibility of completing the GFCanonical grammar
mentioned above and using GF itself to convert canonical GF grammars to
other formats...
</content>
</entry>
<entry>
<title>the experimental export to Lambda Prolog is now obsolete and is removed</title>
<updated>2017-09-07T12:01:46+00:00</updated>
<author>
<name>Krasimir Angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2017-09-07T12:01:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=60bd12a952dae70e23f8f79077ce41dd86043d34'/>
<id>urn:sha1:60bd12a952dae70e23f8f79077ce41dd86043d34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>added option -output-format=java for producing code for embedded grammars in Java</title>
<updated>2017-08-29T18:53:47+00:00</updated>
<author>
<name>Krasimir Angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2017-08-29T18:53:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=1e4ab95e418fd704d414b85524d94ae64175b179'/>
<id>urn:sha1:1e4ab95e418fd704d414b85524d94ae64175b179</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Haddock documentation: expose exportPGF, some other small improvements</title>
<updated>2014-12-08T14:48:14+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-12-08T14:48:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=676b0d6e8192c3cab92ca4cb8247cba00533402d'/>
<id>urn:sha1:676b0d6e8192c3cab92ca4cb8247cba00533402d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Convert from Text.PrettyPrint to GF.Text.Pretty</title>
<updated>2014-07-28T11:58:00+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-07-28T11:58:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=7a91afc02a0a245bf9fea248e61421a75c22137d'/>
<id>urn:sha1:7a91afc02a0a245bf9fea248e61421a75c22137d</id>
<content type='text'>
All compiler modules now use GF.Text.Pretty instead of Text.PrettyPrint
</content>
</entry>
<entry>
<title>PGF library: expose only PGF and PGF.Internal instead of all modules</title>
<updated>2014-06-12T14:43:18+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-06-12T14:43:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=d6252d1c16d59ad26db0d08a531cddf39864d9db'/>
<id>urn:sha1:d6252d1c16d59ad26db0d08a531cddf39864d9db</id>
<content type='text'>
PGF exports the public, stable API.
PGF.Internal exports additional things needed in the GF compiler &amp; shell,
including the nonstardard version of Data.Binary.
</content>
</entry>
</feed>
