Commit Graph

29 Commits

Author SHA1 Message Date
aarneranta
7e707508a7 showExpr and linearize now refresh the printed variables if needed 2024-03-01 09:17:08 +01:00
Prasanth Kolachina
6faad1b3cf add bracketLinearizeAll for variants 2018-05-24 09:47:27 +02:00
hallgren
5bfaf10de5 Comment out some dead code found with -fwarn-unused-binds
Also fixed some warnings and tightened some imports
2015-08-28 13:59:43 +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
584d589041 a partial support for def rules in the C runtime
The def rules are now compiled to byte code by the compiler and then to
native code by the JIT compiler in the runtime. Not all constructions
are implemented yet. The partial implementation is now in the repository
but it is not activated by default since this requires changes in the
PGF format. I will enable it only after it is complete.
2014-08-11 10:59:10 +00:00
kr.angelov
e6ab8c4aa4 fix in the bracketedLinearize in Haskell 2014-01-31 08:52:32 +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
a4194501fe linref is now used by the linearizer. The visible change is that the 'l' command in the shell now can linearize discontinuous phrases 2013-10-30 14:42:29 +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
kr.angelov
df26b134fc fix in the GF compiler and runtime which let us to define pre construct detecting whether this is the last token. 2013-09-03 07:51:25 +00:00
john.j.camilleri
458ffc42d1 Replace "CId" with "Language" in type signature for PGF.tabularLinearizes 2013-04-02 09:19:08 +00:00
kr.angelov
f8fe23fda7 A basic infrastructure for generating Teyjus bytecode from the GF abstract syntax 2012-08-29 11:43:02 +00:00
hallgren
07af8988d3 PGF run-time library: function names in BracketedString (experimental)
+ Make room for function names in the BracketedString data structure.
+ Fill in function names when linearizing an abstract syntax tree to a
  BracketedString.
+ Fill in wildCId when it is not obvious what the function is.
+ Function bracketedLinearize: for compatibility with the other linearization
  functions, return Leaf "" instead of error "cannot linearize".
+ Export flattenBracketedString from module PGF.
+ PGFServce: make function names available in the JSON representation of
  BracketedString.
2012-03-18 20:12:26 +00:00
kr.angelov
41a60772c7 bugfix: allow higher-order variables in the linearization 2011-08-30 09:22:44 +00:00
krasimir
cb8795c222 refactor the API for random generation again. Now PGF contains probabilities in the abstract syntax 2010-10-02 13:03:57 +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
4e35f7e5ec filter the duplications when doing 'l -table' 2010-06-09 10:21:13 +00:00
krasimir
cada06eab7 bugfix in the linearization algorithm 2010-05-25 10:27:48 +00:00
krasimir
e0dc9c80a6 now every BracketedString also has reference to the source expression(s) 2010-05-19 13:32:39 +00:00
krasimir
4e85f8ada3 refactor BracketedString 2010-05-01 21:02:32 +00:00
krasimir
c1406bdcdf bug fix for bracketedLinearize with HOAS and meta variables 2010-05-01 20:51:07 +00:00
krasimir
8460598801 first incarnation of the bracketed string API 2010-04-30 14:36:06 +00:00
aarne
93daaabf3d Action category, more doc in Phrasebook 2010-03-28 19:29:06 +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
3ed19a482e printnames are now kept as String instead of Term in PGF 2010-01-05 07:05:41 +00:00
aarne
34b839c0f9 morpho analysis with -missing flag, shows words outside lexicon; also invoked if parsing fails; also added pg -words to show the list of words 2009-12-31 11:02:26 +00:00
krasimir
f85232947e reorganize the directories under src, and rescue the JavaScript interpreter from deprecated 2009-12-13 18:50:29 +00:00