<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/compiler/GF/Grammar/Lexer.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>2013-11-25T21:12:11+00:00</updated>
<entry>
<title>Change how GF deals with character encodings in grammar files</title>
<updated>2013-11-25T21:12:11+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2013-11-25T21:12:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=9d7fdf7c9a525a3b5659a566f76d26d151dcd664'/>
<id>urn:sha1:9d7fdf7c9a525a3b5659a566f76d26d151dcd664</id>
<content type='text'>
1. The default encoding is changed from Latin-1 to UTF-8.

2. Alternate encodings should be specified as "--# -coding=enc", the old
   "flags coding=enc" declarations have no effect but are still checked for
   consistency.

3. A transitional warning is generated for files that contain non-ASCII
   characters without specifying a character encoding:

	"Warning: default encoding has changed from Latin-1 to UTF-8"

4. Conversion to Unicode is now done *before* lexing. This makes it possible
   to allow arbitrary Unicode characters in identifiers. But identifiers are
   still stored as ByteStrings, so they are limited to Latin-1 characters
   for now.

5. Lexer.hs is no longer part of the repository. We now generate the lexer
   from Lexer.x with alex&gt;=3. Some workarounds for bugs in alex-3.0 were
   needed. These bugs might already be fixed in newer versions of alex, but
   we should be compatible with what is shipped in the Haskell Platform.
</content>
</entry>
<entry>
<title>the GF syntax for identifiers is exteded with quoted forms, i.e. you could write for instance 'ab.c' and then everything between the quites is identifier. This includes Unicode characters and non-ASCII symbols. This is useful for automatically generated GF grammars.</title>
<updated>2013-11-22T13:30:18+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2013-11-22T13:30:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=8bcc70eac8af379ed3481039eb1bd5feea3cf195'/>
<id>urn:sha1:8bcc70eac8af379ed3481039eb1bd5feea3cf195</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Eliminate mutual dependencies between the GF compiler and the PGF library</title>
<updated>2013-11-05T13:11:10+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2013-11-05T13:11:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=3814841d7d3b77b3f033cb98c1c0a04ac39435d7'/>
<id>urn:sha1:3814841d7d3b77b3f033cb98c1c0a04ac39435d7</id>
<content type='text'>
+ References to modules under src/compiler have been eliminated from the PGF
  library (under src/runtime/haskell). Only two functions had to be moved (from
  GF.Data.Utilities to PGF.Utilities) to make this possible, other apparent
  dependencies turned out to be vacuous.

+ In gf.cabal, the GF executable no longer directly depends on the PGF library
  source directory, but only on the exposed library modules. This means that
  there is less duplication in gf.cabal and that the 30 modules in the
  PGF library will no longer be compiled twice while building GF.

  To make this possible, additional PGF library modules have been exposed, even
  though they should probably be considered for internal use only. They could
  be collected in a PGF.Internal module, or marked as "unstable", to make
  this explicit.

+ Also, by using the -fwarn-unused-imports flag, ~220 redundant imports were
  found and removed, reducing the total number of imports by ~15%.

</content>
</entry>
<entry>
<title>added the linref construction in GF. The PGF version number is now bumped</title>
<updated>2013-10-30T12:53:36+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2013-10-30T12:53:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=042243f08a321cd8ed5918ba94e83f22a8552adb'/>
<id>urn:sha1:042243f08a321cd8ed5918ba94e83f22a8552adb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Introduce type RawIdent; only 9 imports of Data.ByteString.Char8 remain</title>
<updated>2013-09-19T20:48:10+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2013-09-19T20:48:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=021b5f06d3900fe2b10d5d3ccf6ac286a779ef16'/>
<id>urn:sha1:021b5f06d3900fe2b10d5d3ccf6ac286a779ef16</id>
<content type='text'>
The fact that identifiers are represented as ByteStrings is now an internal
implentation detail in module GF.Infra.Ident. Conversion between ByteString
and identifiers is only needed in the lexer and the Binary instances.
</content>
</entry>
<entry>
<title>alex 3 incompatibility workaround</title>
<updated>2012-05-04T12:39:07+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2012-05-04T12:39:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=841e54e3dcf1373e9f462c55c0be93dda642321c'/>
<id>urn:sha1:841e54e3dcf1373e9f462c55c0be93dda642321c</id>
<content type='text'>
As a temporary workaround, alex is no longer invoked automatically when
building with cabal. Developers who want to modify the lexer need to run
alex on Lexer.x manually and record the modified Lexer.hs.

    src/compiler/GF/Grammar/lexer/Lexer.x    -- hidden from cabal
    src/compiler/GF/Grammar/Lexer.hs         -- update it manually

</content>
</entry>
<entry>
<title>reorganize the directories under src, and rescue the JavaScript interpreter from deprecated</title>
<updated>2009-12-13T18:50:29+00:00</updated>
<author>
<name>krasimir</name>
<email>krasimir@chalmers.se</email>
</author>
<published>2009-12-13T18:50:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=f85232947e74ee7ef8c7b0ad2338212e7e68f1be'/>
<id>urn:sha1:f85232947e74ee7ef8c7b0ad2338212e7e68f1be</id>
<content type='text'>
</content>
</entry>
</feed>
