1
0
forked from GitHub/gf-core
Commit Graph

38 Commits

Author SHA1 Message Date
Peter Ljunglöf
4d34c7f66b Fix deprecations from containers >= 0.4.0.0
E.g. `foldWithKey` has been deprecated since 0.4.0.0 (November 2010)[1] and has been removed in 0.6.0.1 (2018)[2]

[1]: https://github.com/haskell/containers/blob/master/changelog.md#0400--nov-2010
[2]: https://github.com/haskell/containers/blob/master/changelog.md#death-of-deprecated-functions

(commit originally by @fredefox)
2018-11-30 11:52:56 +01:00
Krasimir Angelov
bbdbf2bc5d silence Tab warnings in the Haskell runtime 2017-09-01 14:31:08 +02:00
Krasimir Angelov
1f3c9d0b17 the parser is not forced to respect the linref while parsing discontious phrases 2017-08-18 21:23:58 +02:00
hallgren
1c86783e17 GF.Infra.SIO: The SIO monad now supports putStr in addition to putStrLn
Also included some unrelated minor changes.
2015-08-31 12:22:13 +00:00
krasimir
1e0d7be4f4 added all orthographic primitives 2015-05-11 13:01:39 +00:00
hallgren
54ae70a81e Changes for compatibility with ghc-7.10-rc2
2 modules: Name clashes caused by Applicative-Monad change in Prelude
2 modules: Ambiguities caused by Foldable/Traversable in Prelude
2 modules: Backwards incompatible changes in time-1.5 for defaultTimeLocale
9 modules: {-# LANGUAGE FlexibleContexts #-} (because GHC checks inferred types
           now, in addition to explicitly given type signatures)

Also silenced warnings about tab characters in source files.
2015-02-16 15:05:06 +00:00
kr.angelov
f8b73d593c Prelude.CAPIT is now a built-in primitive. It still generates &| in the Haskell runtime but will be intepreted in the C runtime 2014-10-09 19:34:12 +00:00
john.j.camilleri
37a35734a5 PGF Web Service: include entire completion in full mode
When using full=yes in the web service 'complete' command,
you now get an additional field 'seq' with the longest possible completion.
So, given:

  lin
    f1 = ss "the" ;
    f2 = ss ("the red house" | "the real deal") ;

and trying to complete on input "th", you get:

    [
        {
            "from": "TestCnc",
            "brackets": {
                "cat": "_",
                "fid": 0,
                "index": 0,
                "fun": "_",
                "children": []
            },
            "text": "th",
            "completions": [
                {
                    "token": "the",
                    "funs": [
                        {
                            "fun": "f1",
                            "hyps": [],
                            "cat": "C",
                            "seq": "the"
                        },
                        {
                            "fun": "f2",
                            "hyps": [],
                            "cat": "C",
                            "seq": "the red house"
                        },
                        {
                            "fun": "f2",
                            "hyps": [],
                            "cat": "C",
                            "seq": "the real deal"
                        }
                    ]
                }
            ]
        }
    ]
2014-07-15 09:33:22 +00:00
john
9b49608451 PGF web service: Return additional completion info with 'full' flag
BETA! The 'complete' command now has a new flag 'full' which when set
returns additional info about completions.

Without 'full' flag (default):

[
    {
        "from": "PhrasebookEng",
        "brackets": {
            "cat": "_",
            "fid": 0,
            "index": 0,
            "fun": "_",
            "children": [
                {
                    "token": "the"
                }
            ]
        },
        "text": "su",
        "completions": [
            "supermarket",
            "suspect"
        ]
    }
]

With full=true or full=yes:

[
    {
        "from": "PhrasebookEng",
        "brackets": {
            "cat": "_",
            "fid": 0,
            "index": 0,
            "fun": "_",
            "children": [
                {
                    "token": "the"
                }
            ]
        },
        "text": "su",
        "completions": [
            {
                "token": "supermarket",
                "funs": [
                    {
                        "fid": 421,
                        "fun": "Supermarket",
                        "hyps": [],
                        "cat": "PlaceKind"
                    }
                ]
            },
            {
                "token": "suspect",
                "funs": [
                    {
                        "fid": 445,
                        "fun": "Suspect",
                        "hyps": [],
                        "cat": "Property"
                    }
                ]
            }
        ]
    }
]
2014-07-11 09:25:26 +00:00
kr.angelov
55ea6cbec5 fix in the Haskell runtime 2014-01-24 08:34:55 +00:00
kr.angelov
0095119ec0 added Predef.SOFT_BIND. This special token allows zero or more spaces between ordinary tokens. It is also used in the English RGL to attach the commas to the previous word. 2013-11-12 09:54:57 +00:00
hallgren
3814841d7d Eliminate mutual dependencies between the GF compiler and the PGF library
+ 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%.
2013-11-05 13:11:10 +00:00
kr.angelov
426bc49a52 a major refactoring in the C and the Haskell runtimes. Note incompatible change in the PGF format!!!
The following are the outcomes:

   - Predef.nonExist is fully supported by both the Haskell and the C runtimes

   - Predef.BIND is now an internal compiler defined token. For now
     it behaves just as usual for the Haskell runtime, i.e. it generates &+.
     However, the special treatment will let us to handle it properly in 
     the C runtime.

   - This required a major change in the PGF format since both 
     nonExist and BIND may appear inside 'pre' and this was not supported
     before.
2013-09-27 15:09:48 +00:00
krasimir
c571e6ef33 now every parse state keeps reference only to the concrete and the abstract syntaxes but not to the whole PGF 2010-12-14 17:20:53 +00:00
krasimir
7d58efb660 optimization in the parser for large lexicons. Now, the parser is slightly slower for grammars with a small lexicon but 3-4 times faster for the English Resource Grammar used in combination with Oxford Advanced Learners Dictionary 2010-12-14 08:46:22 +00:00
krasimir
0f4927dd40 fixed typos in the documentation for PGF.Parse 2010-12-08 10:32:18 +00:00
krasimir
775e59dabe added explicit depth parameter to the parsing API and the corresponding command in the shell 2010-10-18 16:51:25 +00:00
krasimir
b0e110cf4f native representation for HOAS in PMCFG and incremental type checking of the parse forest 2010-08-09 10:10:08 +00:00
krasimir
712b113c9a fix the algorithm for items cutting in the partial parser 2010-07-15 14:01:51 +00:00
krasimir
95f1d40c56 report type errors in the shell from command "p" 2010-07-07 12:23:21 +00:00
krasimir
5ae7be358d redesign the open-literals API 2010-07-01 08:51:59 +00:00
krasimir
eb0bd54e68 rename isLiteralFCat -> isPredefFId, fcat(String|Int|Float) -> fid(String|Int|Float) 2010-06-30 07:40:22 +00:00
krasimir
272dcf6917 introduce the type synonym Token=String in the PGF API 2010-06-29 09:00:41 +00:00
krasimir
88d7631b62 preliminary version of API for Open Literals 2010-06-22 12:31:04 +00:00
jordi.saludes
4061674fae Changing rec to rec_ in PGF
To make glasgow extensions happy we had to rename 'rec' to 'rec_' in sources
from PGF folder.
2010-06-05 11:02:51 +00:00
krasimir
e0dc9c80a6 now every BracketedString also has reference to the source expression(s) 2010-05-19 13:32:39 +00:00
krasimir
31856ebb4c now the parser could return partial parse results 2010-05-19 12:31:36 +00:00
krasimir
77fb23fdbc simple refactoring: use ActiveKey in PGF.Parse.getParseResult instead of plain pair of FId and LIndex 2010-05-17 06:12:45 +00:00
krasimir
1c590e41f4 optimize/simplify the error reporting in the new API 2010-04-30 20:16:16 +00:00
krasimir
8460598801 first incarnation of the bracketed string API 2010-04-30 14:36:06 +00:00
krasimir
9253ee6010 fix parsing of literals 2010-04-23 20:46:14 +00:00
aarne
7a14507189 in the shell, permit 3-letter lang codes as concrete syntax names 2010-04-04 20:46:36 +00:00
krasimir
890d455793 cleanup the code of the PGF interpreter and polish the binary serialization to match the preliminary specification 2010-01-27 09:39:14 +00:00
krasimir
9b362ff231 PGF is now real synchronous PMCFG 2010-01-17 21:35:36 +00:00
krasimir
af13bae2df now the linearization is completely based on PMCFG 2010-01-17 17:05:21 +00:00
krasimir
cf22bd094f move the definitions of _B and _V to PGF.Macros 2010-01-12 14:36:41 +00:00
krasimir
ee3ce9694c store the label names in PMCFG 2010-01-05 08:35:33 +00:00
krasimir
c036459214 remove the old parsing code and the -erasing=on flag 2009-12-14 10:54:22 +00:00