| Age | Commit message (Collapse) | Author |
|
|
|
|
|
better than using English for speaking Swedish
|
|
|
|
possible to use the templates with Finish
|
|
GF.Compile.Coding is not used any more.
|
|
Things got simpler!
|
|
Bulgarian and Swedish
|
|
need to be commented out to compile. Now a system for 7 languages can be built, but including Fre as well is too heavy on my laptop although it can be compiled separately.
|
|
|
|
|
|
|
|
|
|
function is linearizable in a given language. This is used in the Android UI for better vizualizations
|
|
|
|
|
|
This was a fairly simple change thanks to previous work on making the Ident
type abstract and the fact that PGF.CId already uses UTF-8-encoded
ByteStrings.
One potential pitfall is that Data.ByteString.UTF8 uses the same type for
ByteStrings as Data.ByteString. I renamed ident2bs to ident2utf8 and
bsCId to utf8CId, to make it clearer that they work with UTF-8-encoded
ByteStrings.
Since both the compiler input and identifiers are now UTF-8-encoded
ByteStrings, the lexer now creates identifiers without copying any characters.
**END OF DESCRIPTION***
Place the long patch description above the ***END OF DESCRIPTION*** marker.
The first line of this file will be the patch name.
This patch contains the following changes:
M ./src/compiler/GF/Compile/CheckGrammar.hs -3 +3
M ./src/compiler/GF/Compile/GrammarToPGF.hs -2 +2
M ./src/compiler/GF/Grammar/Binary.hs -5 +1
M ./src/compiler/GF/Grammar/Lexer.x -11 +13
M ./src/compiler/GF/Infra/Ident.hs -19 +36
M ./src/runtime/haskell/PGF.hs -1 +1
M ./src/runtime/haskell/PGF/CId.hs -2 +3
|
|
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>=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.
|
|
Makefile2 specificies the dependencies accurately enough that you can use
make's support for parallel compilation. Run
make -f Makefile2 -j
to utilize all the cores in your computer to significantly speed up the
creation of Phrasebook.pgf.
|
|
|
|
|
|
In Cabal-1.18, the build command takes some new arguments. The Setup.hs script
should not die if these are present.
|
|
|
|
Adding coding pragmas
--# -coding=latin1
so that grammars will continue to work when we change the default character
encoding to UTF-8.
|
|
Adding coding pragmas
--# -coding=latin1
so that grammars will continue to work when we change the default character
encoding to UTF-8.
|
|
|
|
|
|
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.
|
|
|
|
Move source transcoding function GF.Compile to GF.Compile.GetGrammar, in
preparation for doing transcoding before lexing.
|
|
|
|
|
|
created in a loop
|
|
The test suite tests the French Bescherelle paradigms.
|
|
|
|
|
|
|
|
+ Eliminated vairous ad-hoc coersion functions between specific monads
(IO, Err, IOE, Check) in favor of more general lifting functions
(liftIO, liftErr).
+ Generalized many basic monadic operations from specific monads to
arbitrary monads in the appropriate class (MonadIO and/or ErrorMonad),
thereby completely eliminating the need for lifting functions in lots
of places.
This can be considered a small step forward towards a cleaner
compiler API and more malleable compiler code in general.
|
|
1. No temporary files are created.
2. The output of a system command is read lazily, making it feasible to
process large or even infinite output, e.g. the following works as
expected:
? "yes" | ? "head -5" | ps -lextext
|
|
|
|
|
|
|
|
runtime from messing up the content.
|
|
|
|
by Normunds)
|
|
|
|
|
|
some sentences
|
|
target linearizations
|
|
|