| Age | Commit message (Collapse) | Author |
|
tokens
Common code has been lifted out from the generated Haskell modules to
an auxiliary module PGF.Haskell, which is currently included in the
regular PGF library, although it is independent of it and probably belongs
in a separate library.
The type Str used by linearization functions is now based on a token
type Tok, which is defined in PGF.Haskell.
PGF.Haskell.Tok is similar to the type GF.Data.Str.Tok, but it has
constructors for the special tokens BIND, SOFT_BIND and CAPIT, and there is
a function
fromStr :: Str -> String
that computes the effects of these special tokens.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The API in the C runtime as well as in the Haskell, Python and Java binding
is changed. Now instead of adding the literal callbacks to the concrete syntax
you need to supply them every time when you need to parse. The main reason is:
- referentially transparent API for Haskell
- when we start using memory mapped files we will not be allowed to change
anything in the grammar data structures. At that point the old API would
be impossible to use.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
point operations.
|
|
|
|
|
|
|
|
BIND token which means that the App grammar was running about 2-3 times slower.
|
|
|
|
|
|
sums
|
|
|
|
|
|
explicit assertions
|
|
|
|
|
|
|
|
everything works even when the compiler's optimizations are off
|
|
|
|
|
|
the parser's speed
|
|
|
|
|
|
|
|
|
|
in Haskell.
|
|
|
|
|
|
|
|
|
|
|
|
variables. The type checker generates fresh indices
|
|
|
|
|
|
|