1
0
forked from GitHub/gf-core

Compare commits

..

7831 Commits

Author SHA1 Message Date
Arianna Masciolini 17ebcac84f Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2025-08-08 20:15:46 +02:00
Arianna Masciolini 7d018dde62 do not upload release assets 2025-08-08 20:15:37 +02:00
Andreas Källberg 4dba12c0ce Add a nix flake for building with nix (#185)
Also based on #165

---------

Co-authored-by: o1lo01ol1o <tim.pierson@gmail.com>
Co-authored-by: Tim Pierson <o1lo01ol1o@users.noreply.github.com>
2025-08-08 20:02:17 +02:00
Arianna Masciolini 5ca230dd2a remove info about specific versions of macOS for which binaries work 2025-08-08 19:55:33 +02:00
Arianna Masciolini 242cdcfa22 Update installation instructions (#195)
* update install instructions some dates

* change when to install c runtime manually
2025-08-08 19:44:48 +02:00
Arianna Masciolini 052916b454 try server mode on windows (#194) 2025-08-08 19:33:02 +02:00
Inari Listenmaa d07646e753 Merge pull request #192 from GrammaticalFramework/build-timestamp
Add build timestamps to GF prompt
2025-08-08 19:32:52 +02:00
Inari Listenmaa 3b69a28dbd Delete src/runtime/python/pgf.egg-info directory
remove files that were committed by accident
2025-08-08 19:29:44 +02:00
Inari Listenmaa aa004246d2 Merge pull request #190 from GrammaticalFramework/pgf-1.1
Publish PGF 1.1
2025-08-08 19:14:01 +02:00
Inari Listenmaa 7c6f53d003 add macos-13 to build for intel mac 2025-08-08 19:04:18 +02:00
Arianna Masciolini a6d5d9a50c Merge pull request #193 from GrammaticalFramework/release3.12
Update version numbers, changelog etc. for 3.12 release
2025-08-08 18:34:26 +02:00
Arianna Masciolini 7792c3cc90 update debian changelog 2025-08-08 18:31:45 +02:00
Arianna Masciolini a7d73a6861 link to changelog from CHANGELOG.md 2025-08-08 18:31:33 +02:00
Arianna Masciolini 646cfbea0c update cabal version number for 3.12 release 2025-08-08 18:31:17 +02:00
Arianna Masciolini 7ddb61eb48 update 3.12 release date in web news 2025-08-08 18:30:57 +02:00
Arianna Masciolini dcae5f929e fix typo 2025-08-08 18:20:47 +02:00
Arianna Masciolini 638ed39fa4 readd changelog item on Java 2025-08-08 18:20:10 +02:00
Arianna Masciolini 726fb3467c Merge pull request #191 from GrammaticalFramework/minor-updates-binary-packages
Update release scripts for 3.12
2025-08-08 18:17:45 +02:00
Andreas Källberg b02bb08532 Fix warnings for ghc-9.6 about multiplicity syntax 2025-08-08 18:12:39 +02:00
Inari Listenmaa c7e26d7cd2 also add the 9.6 compatibility fixes to PGF2 2025-08-08 18:12:26 +02:00
Inari Listenmaa 4fea7cf37f Update release scripts for 3.12 2025-08-08 18:11:52 +02:00
Herbert Lange 9e5701b13c hide ambiguous function 2025-08-08 18:06:03 +02:00
Herbert Lange 78beac7598 change date/time formating 2025-08-08 18:02:59 +02:00
Herbert Lange f96830f7de change template haskell required version 2025-08-08 17:50:33 +02:00
Herbert Lange 1c4cde7c66 updating formating for git info 2025-08-08 17:43:56 +02:00
Herbert Lange e0ad7594dd add build time and git info to BuildInfo 2025-08-08 17:36:03 +02:00
Inari Listenmaa a218903a2d use setuptools (so it works for 3.12+) + bump version to 1.1 2025-08-03 17:26:26 +02:00
Inari Listenmaa f1c1d157b6 minor fixes in uploading to PyPI 2025-08-03 17:25:52 +02:00
Arianna Masciolini e7c0b6dada add to what's new 2025-08-02 23:04:49 +02:00
Arianna Masciolini 8f4e8c73d2 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core into release-3.12 2025-08-02 23:01:53 +02:00
Arianna Masciolini d983255326 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2025-08-02 23:01:29 +02:00
Arianna Masciolini 288984d243 fix compatibility with newer gcc versions 2025-08-02 23:01:20 +02:00
Inari Listenmaa c23a03a2d1 Merge pull request #184 from inariksit/update-depth-documentation
Update default depth to 5 + less hardcoding in documentation
2025-08-02 22:05:29 +02:00
Inari Listenmaa 183e421a0f update default depth in tutorial and help text 2025-08-02 22:04:32 +02:00
Inari Listenmaa 3e0c0fa463 define default depths for shell and server only once 2025-08-02 21:46:13 +02:00
Arianna Masciolini c2431e06b2 slightly less optimistic release date 2025-08-02 21:32:51 +02:00
Arianna Masciolini eeab15bee1 redirect to 3.12 download page 2025-08-02 21:26:19 +02:00
Arianna Masciolini b36b95c4d6 add news item about 3.12 release 2025-08-02 21:25:15 +02:00
Arianna Masciolini 2627e73b63 draft changelog for 3.12 2025-08-02 21:23:42 +02:00
Arianna Masciolini e2ff43da0b init download page for 3.12 with 3.11 instructions with minor changes 2025-08-02 21:23:26 +02:00
Inari Listenmaa af09351b66 Merge pull request #183 from inariksit/ghc-9.6.7
replace 9.6.6 with 9.6.7
2025-08-02 20:43:59 +02:00
Inari Listenmaa 8c89ba4e76 convert editor-modes into markdown 2025-08-02 20:36:03 +02:00
Inari Listenmaa 218c61b004 make 9.6.7 into default stack.yaml 2025-08-02 20:35:39 +02:00
Inari Listenmaa 52df0ed4fe replace 9.6.6 with 9.6.7 2025-08-02 20:35:22 +02:00
Arianna Masciolini 2324fe795c Merge pull request #181 from GrammaticalFramework/pr-174bis (also close #174)
PR #174bis
2025-08-02 20:26:36 +02:00
Arianna Masciolini 703b1e5d92 add eval.gfs to expected failures 2025-08-02 20:18:28 +02:00
Inari Listenmaa f1a72a066f Merge pull request #182 from inariksit/fix-encoding
use UTF8 for several GF files
2025-08-02 19:26:06 +02:00
Inari Listenmaa 6f9f9642d7 use UTF8 for several GF files 2025-08-02 19:14:15 +02:00
Arianna Masciolini f5752b345a fail slow 2025-08-02 19:14:09 +02:00
Arianna Masciolini 5170668ff2 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core into hleiss/master 2025-08-02 19:02:30 +02:00
Inari Listenmaa 65e85c5a3c Merge pull request #175 from inariksit/new-ghc
Changes to make it work with newer stack/GHC:

- unix library changed API in 2.8
- Monad of no return & Semigroup as a superclass of Monoid
- import Control.Monad (join, when, (<=<))
- fixed CI issues
2025-08-02 18:59:07 +02:00
Inari Listenmaa 01c4f82e07 misc small fixes:
- update actions/cache to v4

- update haskell/actions/setup to haskell-actions/setup

- stack doesn't support ghc < 8.4, remove from CI

- don't fail immediately

- add -fpermissive flag to gcc

- only build 9.6.6 with macos and windows latest

- bump base upper bound
2025-08-02 18:46:00 +02:00
Inari Listenmaa e81d668605 higher upper bound for base,mtl,ghc-prim,json,time 2025-08-02 16:39:31 +02:00
Inari Listenmaa 155b9da861 choose openFd based on version of unix 2025-08-02 16:39:31 +02:00
Inari Listenmaa ab0f09e9f7 build-depends for unix depending on ghc version 2025-08-02 16:39:31 +02:00
Inari Listenmaa 9fa8ac934a add stack file for GHC 9.6.6 2025-08-02 16:39:31 +02:00
Inari Listenmaa e84826ed2a explicitly import join, when, (<=<) from Control.Monad 2025-08-02 16:39:31 +02:00
Inari Listenmaa bbf12458c7 use openFd from unix >= 2.8 2025-08-02 16:39:31 +02:00
Inari Listenmaa b914a25de3 define return in terms of pure, >> as *>, mappend as <>
In preparation for deprecation, see https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/semigroup-monoid and https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/monad-of-no-return
2025-08-02 16:39:31 +02:00
Inari Listenmaa 1037b209ae add whitespace on list comprehensions, applications etc.
text editor interprets these things as errors (e.g. unterminated qq for list comprehension) and underlines red, even though there is no real error.
2025-08-02 16:39:31 +02:00
Inari Listenmaa 981d6b9bdd Specify that extending a grammar doesn't inherit the startcat 2025-02-20 20:52:21 +01:00
Hans Leiss 5776b567a2 Reactivate the gf-shell command 'pt -transfer' 2025-02-19 12:59:43 +01:00
Hans Leiss 643617ccc4 Bug fix for gf-shell command 'pt -compute' in Expr.hs by
tryMatch p (VConst _ _) env = match sig f eqs as0
2025-02-18 12:41:14 +01:00
Inari Listenmaa 41f45e572b Instruction to downgrade LLVM for macOS Sequoia 2025-01-18 07:27:46 +01:00
Inari Listenmaa c7226cc11c add GFSS2025 + remove IRC channel 2025-01-18 07:13:24 +01:00
aarneranta bc56b54dd1 random generation of literals now has ten different values for each built in type; maybe a better solution for most cases than just one value 2025-01-07 11:20:23 +01:00
Krasimir Angelov aa061aff0c Update robots.txt 2024-11-26 12:15:41 +01:00
Inari Listenmaa 934afc9655 Merge pull request #169 from GrammaticalFramework/dependabot/github_actions/dot-github/workflows/actions/download-artifact-4.1.7
Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows
2024-11-01 10:29:45 +01:00
Andreas Källberg 33b0bab610 Use different artifact names as is required by upload-artifact@v4 2024-10-23 16:22:59 +02:00
Andreas Källberg 9492967fc6 add sudo to make install to fix CI failure 2024-10-23 16:08:09 +02:00
Andreas Källberg 5eab0a626d add glibtoolize dependency for mac CI 2024-10-23 15:47:14 +02:00
Andreas Källberg fc614cd48e Bump more action versions 2024-10-23 15:40:29 +02:00
Andreas Källberg eaec428a89 fix typo 2024-10-23 15:35:39 +02:00
Andreas Källberg ed0a8ca0df Update setup-python github action
Let's see if this fixes CI
2024-10-23 15:34:01 +02:00
dependabot[bot] c65dc70aaf Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 4.1.7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-03 21:17:51 +00:00
Inari Listenmaa 2a654c085f be consistent in the use of quotes 2024-04-29 20:44:53 +08:00
Inari Listenmaa b855a094f8 Clarify description for vt 2024-04-29 20:42:51 +08:00
Inari Listenmaa 2f31bbab23 Apply gt to all arguments when piped 2024-03-15 12:43:17 +01:00
aarneranta 7e707508a7 showExpr and linearize now refresh the printed variables if needed 2024-03-01 09:17:08 +01:00
Aarne Ranta c2182274df visualize_dependencies (vd) now creates latex in landscape mode to show long trees better 2023-12-14 11:56:11 +01:00
Inari Listenmaa e11017abc0 Merge pull request #166 from GrammaticalFramework/fix-python-ci
Fix CI for "Build & Publish Python Package": use python 3.10 instead of latest
2023-11-17 14:36:06 +01:00
Inari Listenmaa b59fe24c11 use older python version to keep distutils 2023-11-17 14:11:59 +01:00
Inari Listenmaa 9204884463 Merge pull request #164 from BeFunctional/tp_pgf_support_ghc_94
Support GHC 9.4 for the PGF library
2023-11-17 14:02:06 +01:00
o1lo01ol1o 2c98075a0b support ghc9.4 2023-11-15 12:04:41 -06:00
Inari Listenmaa 7d9015e2e1 Merge pull request #161 from anka-213/indent-errors
Indent each line of error messages
2023-09-25 17:29:50 +02:00
Andreas Källberg cf1ef40789 gh-actions: Bump the python version
cibuildwheel requires python >= 3.8
2023-09-25 12:55:15 +02:00
Andreas Källberg 37f06a4ae8 gh-actions: Don't use ubuntu-18 and macos-10.15
There are no longer any gihub actions runners available for these

Note that this means we can't build for ubuntu-18 anymore, but that
should hopefully no longer be relevant, since it's over 5 years old now.
2023-09-25 12:48:56 +02:00
Andreas Källberg 30c1376232 Don't build twice for tests in CI 2023-09-25 12:43:19 +02:00
Andreas Källberg ea3cef46b0 Update test to match new error 2023-09-25 12:01:56 +02:00
Andreas Källberg 268a25f59c Indent each line of an error message
By indenting each line instead of just the first, we simplify
the work of the gf-lsp parser, so we can see which errors are the same
2023-09-25 09:55:02 +02:00
Inari Listenmaa 318b710a14 Merge pull request #160 from anka-213/prettier-syntax-errors
Improve syntax error messages
2023-09-13 08:24:07 +02:00
Andreas Källberg b90666455e Fix typo 2023-09-11 13:17:19 +02:00
Andreas Källberg 88db715c3d Fix ghc-7.10.3 build in gh-actions
ghc-7.10.3 is not supported in the latest builder, so we
need an older version of ubuntu for it to work
2023-09-11 13:03:05 +02:00
Andreas Källberg 003ab57576 Bump version of haskell github action
The old one was failing
2023-09-11 18:43:14 +08:00
Andreas Källberg ffd7b27abd Improve syntax error messages
Now you will get error messages like these:
example.gf:1:21:
   Syntax error:
     Unexpected token '}'.
     Expected one of:
     - '{'
     - 'open'
     - an identifier
2023-09-11 12:30:28 +02:00
Krasimir Angelov 096b36c21d Update jit.c 2023-09-07 17:37:25 +02:00
Krasimir Angelov 86af7b12b3 the jitter should still read the absfuns even for EMSCRIPTEN and aarch64 2023-08-11 10:47:29 +02:00
Krasimir Angelov e2c2763d59 One more place with __aarch64__ 2023-08-09 10:59:53 +02:00
Krasimir Angelov fae2fc4c6c Try with __aarch64__ 2023-08-09 10:58:50 +02:00
Krasimir Angelov 5131fadd1f lightning.h not included on aarch64 2023-08-08 16:18:49 +02:00
Krasimir Angelov 0e1cbfaa7e Disable the jit on aarch64 2023-08-04 15:01:31 +02:00
Krasimir Angelov 95e5976b03 Create funcs.h 2023-08-04 14:49:55 +02:00
Krasimir Angelov 9dee033e2c Create Create aarch64/fp.h 2023-08-04 14:49:22 +02:00
Krasimir Angelov 83a4a0525e Create aarch64/core.h 2023-08-04 14:48:58 +02:00
Krasimir Angelov f58697f31f Create aarch64/asm.h 2023-08-04 14:48:01 +02:00
Krasimir Angelov 8f6dc916b6 added aarch64 configure.ac 2023-08-04 14:46:27 +02:00
Inari Listenmaa 6a36b486fa Update instructions for Geany 2023-03-03 01:17:28 +01:00
Krasimir Angelov 8190d9fe49 export BindType(..) 2023-03-01 09:57:48 +01:00
Inari Listenmaa 527a4451d3 update to System.Environment (getArgs) 2023-02-10 10:46:10 +08:00
Krasimir Angelov 2c13f529f9 Update INSTALL 2023-02-05 09:40:14 +01:00
Inari Listenmaa 8b82f1ab33 remove 2020-specific link 2023-01-24 16:33:28 +08:00
Inari Listenmaa 7bcc70e79d Summer school 2023 2023-01-24 16:19:22 +08:00
Inari Listenmaa 85038d0175 Merge pull request #149 from anka-213/ghc-9.2
Add support for ghc-9.2.4
2022-10-10 12:00:40 +02:00
Inari Listenmaa 6edd449d68 Merge pull request #147 from anka-213/extend-performance-issue
Improve performance with long extend-lists
2022-10-10 12:00:23 +02:00
Andreas Källberg a58c6d49d4 Extract the previous optimization to its own function 2022-10-04 17:01:47 +02:00
Andreas Källberg fef7b80d8e Use a Set in isInherited to speed up long extend lists
Now the time is O(log(n)*m) instead of O(n*m) where n is the number of
items in the extend list

e.g.
abstract FromWordNet = WordNet [
a_couple_Card,
a_la_carte_Adv,
a_la_mode_Adv,
a_little_Card,
...
];
2022-10-04 17:01:47 +02:00
Andreas Källberg 03df25bb7a Add support for ghc-9.2.4 2022-10-04 17:01:23 +02:00
Inari Listenmaa 3122590e35 Merge pull request #148 from anka-213/fix-ghc-7.10-build
Fix ghc-7.10 build
2022-10-04 16:59:53 +02:00
Andreas Källberg 0a16b76875 Only include transformers-compat for ghc < 8
Since that's the only place where it's needed
and we don't have to fight with versions elsewhere
2022-10-04 13:28:23 +02:00
Andreas Källberg 51b7117a3d Restore build with ghc-7.10.3 2022-10-04 13:07:07 +02:00
Andreas Källberg fef03e755b Update some old unused code to support newer ghc 2022-10-04 13:07:07 +02:00
Aarne Ranta 223f92d4f6 using an unparsable variable name in the internal desugaring of table extension to avoid captures; captures with iterated table extensions might still be possible, which needs further analysis 2022-10-04 11:06:56 +02:00
aarneranta 83483b93ba New construct: table update. Syntax t ** { cases }. Syntactic sugar for table {cases ; vvv => t \! vvv}.t 2022-10-03 17:04:29 +02:00
Krasimir Angelov dc8dce90a0 added a Setup script to compile without cabal-install 2022-08-24 14:00:22 +02:00
Krasimir Angelov e9bbd38f68 gf --version now prints the shared folder to be used by the RGL 2022-08-24 12:02:10 +02:00
Krasimir Angelov 3fac8415ca forgot to mention sudo 2022-08-24 12:00:43 +02:00
Krasimir Angelov 1294269cd6 workaround for the Nix madness 2022-08-24 11:57:47 +02:00
krangelov 3acb7d2da4 silence harmless warnings 2022-08-12 10:54:43 +02:00
krangelov 08fb29e6b8 fix the reference counting for pgf.BIND 2022-08-12 10:51:56 +02:00
Inari Listenmaa f69babef6d add link to Inari's blog 2022-07-27 14:53:58 +02:00
Krasimir Angelov a42cec2107 support for BIND tokens in the Python bindings 2022-07-16 20:29:36 +02:00
Krasimir Angelov 4d446fcd3f Merge branch 'master' of github.com:GrammaticalFramework/gf-core 2022-07-04 10:42:59 +02:00
Krasimir Angelov ae460e76b6 allow compilation with emscripten 2022-07-04 10:42:34 +02:00
John J. Camilleri 65308861bc Merge branch 'master' of github.com:GrammaticalFramework/gf-core 2022-06-18 21:09:23 +02:00
Krasimir Angelov b7672b67a3 adjust the -view command depending on the OS 2022-05-31 10:15:50 +02:00
Krasimir Angelov e33de168fd use a relative link to WordNet 2022-05-31 07:44:25 +02:00
Inari Listenmaa fc5b3e9037 Merge pull request #141 from anka-213/hardcode-utf8
Always use UTF8 encoding in the gf executable
2022-05-18 09:46:03 +02:00
Andreas Källberg 9b9905c0b2 Always use UTF8 encoding in the gf executable
This fixes many of the "Invalid character" messages
you can get on different platforms.

This has helped both with a nix-installation that didn't have global
locale set and with a windows installation.
2022-05-18 14:42:01 +08:00
Inari Listenmaa ec70e4a83e Merge pull request #136 from mengwong/ghc9
compiles with GHC 9.0.2
2022-05-06 03:26:00 +02:00
Inari Listenmaa e6ade90679 update nightly to latest lts 2022-05-06 08:45:12 +08:00
Inari Listenmaa 6414bc8923 Merge pull request #140 from anka-213/no-profile-bind
Don't add automatic cost centres to Data.Binary.Get
2022-05-04 10:46:37 +02:00
Andreas Källberg b0b2a06f3b Improve comment 2022-05-03 13:10:29 +08:00
Andreas Källberg 221597bd79 When profiling, don't add cost centres in Data.Binary.Get
This change speeds up profiling by an order of magnitude.
Without it, the >>= function for Get dominates runtime completely during profiling.
2022-05-03 13:08:35 +08:00
Inari Listenmaa 862aeb5d9b Update base <4.15 to <4.16 for tests + pgf*.cabal 2022-03-05 13:42:11 +08:00
Inari Listenmaa 25dd1354c7 Merge pull request #135 from mengwong/base-4-15
prepare for GHC 9, base 4.15, by using Buffer constructor interface
2022-03-05 06:28:17 +01:00
Inari Listenmaa b762e24a82 Add ghc-9.0.2 to CI 2022-03-05 13:25:26 +08:00
Meng Weng Wong 20453193fe add compilation support for ghc 9.0.2 2022-03-05 13:15:40 +08:00
Meng Weng Wong b53a102c98 if this PR is accepted we don't need these instructions 2022-03-05 12:59:25 +08:00
Meng Weng Wong bc14a56f83 "now try this" instructions for people flailing with Apple Silicon M1 2022-03-05 12:59:25 +08:00
Meng Weng Wong 3a1213ab37 prepare for GHC 9, base 4.15, by using Buffer constructor interface 2022-03-05 12:59:25 +08:00
Inari Listenmaa 1b41e94f83 Merge pull request #138 from anka-213/patch-1
Fix stack ci
2022-03-05 05:49:43 +01:00
Andreas Källberg 308f4773dc Upgrade to ghc-8.10.7
This version has better support for m1 macbooks
2022-03-05 12:25:46 +08:00
Andreas Källberg 05fc093b5e Add restore key to cache 2022-03-05 12:25:46 +08:00
Andreas Källberg 4caf6d684e Another attempt at fixing linker errors 2022-03-05 12:25:46 +08:00
Andreas Källberg bfd8f9c16d Upgrade haskell setup action 2022-03-05 12:24:38 +08:00
Andreas Källberg aefac84670 Clear stack cache and make cache-key more fine-grained
Attempt at fixing #137
2022-03-05 12:24:10 +08:00
John J. Camilleri 9f2a3de7a3 Add simpler VSCode extension to editor modes page 2021-11-08 12:30:21 +01:00
krangelov e4b2f281d9 Merge branch 'master' of github.com:GrammaticalFramework/gf-core 2021-09-22 14:11:27 +02:00
krangelov 063c517f3c more tests for variants 2021-09-22 14:11:11 +02:00
John J. Camilleri bedb46527d Move Thomas from current to previous on maintainers page 2021-08-17 10:18:34 +02:00
John J. Camilleri 0258a87257 Add IRC, Discord, SO links to "contribute" section at top of homepage 2021-08-17 09:57:50 +02:00
John J. Camilleri ef0e831c9e Update installation instructions from Hackage, source code 2021-08-17 09:38:20 +02:00
Inari Listenmaa 8ec13b1030 Uncomment installation instructions from Hackage 2021-08-16 09:07:59 +08:00
John J. Camilleri 058526ec5d Remove Travis CI workflow, we use GitHub actions now
Closes #123
2021-08-12 15:27:10 +02:00
John J. Camilleri 974e8b0835 Typos in homepage 2021-08-12 15:20:29 +02:00
John J. Camilleri bbe4682c3d Update homepage
- Add Discord link
- Point to GitHub issues, Stack Overflow in "Getting help"
- Remove old news
2021-08-12 15:19:17 +02:00
John J. Camilleri e477ce4b1f HTML fix on homepage 2021-08-12 10:05:45 +02:00
John J. Camilleri 7a63ba34b4 Add changelog
This will hopefully help us keep track of changes for the next release
2021-08-12 09:56:34 +02:00
John J. Camilleri 723bec1ba0 Changes made in order to get Hackage upload working 2021-08-09 13:41:25 +02:00
krangelov 265f08d6ee added link to vis-network.min.js 2021-07-26 16:57:05 +02:00
krangelov e47042424e Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2021-07-26 16:52:11 +02:00
krangelov ecf309a28e fix links to WordNet 2021-07-26 16:51:58 +02:00
Inari Listenmaa d0a881f903 add VS code on the list of editor modes 2021-07-26 14:11:48 +08:00
Inari Listenmaa 810640822d Update documentation for release 3.11 2021-07-25 15:37:12 +08:00
Inari Listenmaa ed79955931 Merge pull request #129 from anka-213/automate-release
Automatically upload release assets after building for release
2021-07-25 08:20:41 +02:00
Andreas Källberg 1867bfc8a1 Rename packages based on git tag 2021-07-25 11:08:21 +08:00
Andreas Källberg 6ef4f27d32 Upload release assets automatically as well 2021-07-25 10:43:36 +08:00
Inari Listenmaa 3ab07ec58f Update debian changelog for GF 3.11 2021-07-25 10:30:49 +08:00
Inari Listenmaa b8324fe3e6 Merge pull request #116 from anka-213/fix-binary-package-build
Update scripts to use `cabal v1-...` so they work on newer cabal
2021-07-25 04:15:07 +02:00
Andreas Källberg 8814fde817 Only run the script once per release 2021-07-25 09:30:36 +08:00
Andreas Källberg 375b3cf285 Update release script to build for two ubuntu versions 2021-07-25 08:23:25 +08:00
Andreas Källberg 3c4f42db15 Build ubuntu packages on ubuntu-latest
Fixes #74
2021-07-25 08:23:25 +08:00
John J. Camilleri 0474a37af6 Make Makefile compatible with stack and old/new cabal (with v1- prefix when necessary) 2021-07-25 08:23:25 +08:00
Andreas Källberg e3498d5ead Update to newest haskell github action
Also fix so the stack builds use the correct ghc versions
2021-07-25 08:23:25 +08:00
Andreas Källberg 4c5927c98c Update scripts to use cabal v1-... so they work on newer cabal
Fixes build failures like https://github.com/GrammaticalFramework/gf-core/runs/2949099280?check_suite_focus=true
2021-07-25 08:23:25 +08:00
John J. Camilleri bb51224e8e IRC link pre-fills channel. Link to logs gives newest first. 2021-07-23 16:07:34 +02:00
John J. Camilleri 9533edc3ca Merge pull request #128 from GrammaticalFramework/windows-binary
Fixes to building Windows binary
2021-07-23 15:55:37 +02:00
John J. Camilleri 4df8999ed5 Change Python 3.8 to 3.9 2021-07-23 08:05:35 +02:00
John J. Camilleri 7fdbf3f400 Update path in main workflow for binaries 2021-07-22 23:11:01 +02:00
John J. Camilleri 0d6c67f6b1 Try without rewriting envvar 2021-07-22 23:02:22 +02:00
John J. Camilleri 2610219f6a Update path 2021-07-22 22:56:39 +02:00
John J. Camilleri 7674f078d6 Try another path 2021-07-22 22:49:44 +02:00
John J. Camilleri c67fe05c08 Narrow search, print env var 2021-07-22 22:44:53 +02:00
John J. Camilleri 7b9bb780a2 Find Java stuff 2021-07-22 22:34:26 +02:00
John J. Camilleri 4f256447e2 Add separate Windows binary CI action for easier testing 2021-07-22 22:27:15 +02:00
Inari Listenmaa dfa5b9276d #gf IRC channel has moved to Libera 2021-07-22 01:08:00 +02:00
Inari Listenmaa 667bfd30bd Merge pull request #87 from anka-213/make-it-fast
Remove the `Either Int` from value2term
2021-07-20 04:35:37 +02:00
Inari Listenmaa 66ae31e99e Merge pull request #126 from inariksit/developers-documentation
Update developers' documentation
2021-07-15 05:16:55 +02:00
Inari Listenmaa a677f0373c General restructuring, various minor changes 2021-07-15 10:40:26 +08:00
Inari Listenmaa 13f845d127 Update C runtime instructions 2021-07-15 10:39:54 +08:00
Inari Listenmaa aa530233fb Remove instructions to create binaries
Those are in github actions
2021-07-15 10:27:57 +08:00
Inari Listenmaa 45bc5595c0 Update C runtime install instructions 2021-07-15 09:54:15 +08:00
Inari Listenmaa 6d12754e4f Split the Cabal instructions to another page
and link from main instructions
2021-07-15 08:21:29 +08:00
1Regina a09d9bd006 install and upgrade stack 2021-07-14 17:20:20 +08:00
Meowyam fffe3161d4 updated docs to reflect binaries generated via github actions
fix merge conflicts

resolve merge conflict
2021-07-14 17:20:20 +08:00
Meowyam 743f5e55d4 add missing install.sh file for c runtime 2021-07-14 17:20:20 +08:00
Inari Listenmaa 9e209bbaba Changes in Git instructions 2021-07-14 17:20:07 +08:00
Inari Listenmaa a1594e6a69 updated doc with instructions for C runtime for ubuntu and fedora 2021-07-14 16:44:44 +08:00
Inari Listenmaa 06e0a986d1 Changes in Git instructions 2021-07-14 16:12:11 +08:00
Meowyam 6f2a4bcd2c update doc for linux installation 2021-07-14 15:32:02 +08:00
Inari Listenmaa f345f615f4 Update information about test suite
Co-Authored-By: 1Regina <46968488+1Regina@users.noreply.github.com>
2021-07-14 15:16:23 +08:00
Inari Listenmaa 80d16fcf94 Update instructions about C runtime 2021-07-14 15:03:59 +08:00
Andreas Källberg 7faf8c9dad Clean up redundant case expressions 2021-07-12 16:38:29 +08:00
Andreas Källberg c2ffa6763b Github actions: Fix build for stack 2021-07-12 15:53:49 +08:00
Andreas Källberg b3881570c7 Remove last traces of the Either in value2term 2021-07-12 15:53:49 +08:00
Andreas Källberg bd270b05ff Remove the Either Int from value2term
This prevents HUGE space leak and makes compiling a PGF a LOT faster

For example, an application grammar moved from taking over 50GB
of ram and taking 5 minutes (most of which is spent on garbage colelction)
to taking 1.2 seconds and using 42mb of memory

The price we pay is that the "variable #n is out of scope" error is now
lazy and will happen when we try to evaluate the term instead of
happening when the function returns and allowing the caller to chose how
to handle the error.
I don't think this should matter in practice, since it's very rare;
at least Inari has never encountered it.
2021-07-12 15:50:43 +08:00
John J. Camilleri a1fd3ea142 Fix bug introduced in cdbe73eb47
Apparently I don't understand how pattern-matching works in Haskell
2021-07-08 13:56:58 +02:00
John J. Camilleri cdbe73eb47 Remove two missing-methods warnings 2021-07-08 12:10:41 +02:00
John J. Camilleri 6077d5dd5b Merge pull request #124 from GrammaticalFramework/cabal-cleanup
More cabal file cleanup
2021-07-08 08:56:31 +02:00
John J. Camilleri 0954b4cbab More cabal file cleanup. Remove some more tabs from Haskell source. 2021-07-07 13:04:09 +02:00
John J. Camilleri f2e52d6f2c Replace tabs for whitespace in source code 2021-07-07 09:40:41 +02:00
John J. Camilleri a2b23d5897 Make whitespace uniform in Cabal files, add a few more dependency bounds 2021-07-07 09:11:46 +02:00
John J. Camilleri 0886eb520d Update 3.11 release notes 2021-07-06 15:45:21 +02:00
John J. Camilleri ef42216415 Add import from command line invocation to command history
Closes #64
2021-07-06 15:35:03 +02:00
John J. Camilleri 0c3ca3d79a Add note in PGF2 documentation about risk for integer overflow.
Closes #109
2021-07-06 14:43:21 +02:00
John J. Camilleri e2e5033075 Merge pull request #122 from 2jacobtan/master
specify version bounds in *.cabal files
2021-07-06 14:31:29 +02:00
John J. Camilleri 84b4b6fab9 Some more cabal file cleanup. Add stack files for pgf, pgf2. 2021-07-06 14:11:30 +02:00
Inari Listenmaa 5e052ff499 Merge pull request #119 from GrammaticalFramework/concrete-new
Clean up Compute.ConcreteNew and TypeCheck.RConcrete
2021-07-06 14:05:00 +02:00
Inari Listenmaa d2fb755fab Merge branch 'master' into concrete-new 2021-07-06 09:37:22 +02:00
Inari Listenmaa 1b66bf2773 Merge pull request #121 from Meowyam/issue97
resolves GrammaticalFramework/gf-core/#97
2021-07-06 09:22:48 +02:00
Meowyam 1e3de38ac4 remove redundant options 2021-07-06 15:22:59 +08:00
Inari Listenmaa 4e8859aa75 Merge pull request #118 from GrammaticalFramework/canonical
Fixes to canonical compilation
2021-07-06 09:16:52 +02:00
Meowyam dff215504a resolves GrammaticalFramework/gf-core/#97, without l 2021-07-06 15:00:17 +08:00
Inari Listenmaa 173ab96839 Hotfix for https://github.com/GrammaticalFramework/gf-core/issues/56 2021-07-06 14:59:53 +08:00
John J. Camilleri dff1193f7b Add --haskell=pgf2 flag 2021-07-06 14:59:53 +08:00
2jacobtan e1a40640cd specify version bounds in pgf.cabal and pgf2.cabal 2021-07-06 05:42:34 +08:00
2jacobtan be231584f6 set stack.yaml to lts-18.0 2021-07-06 05:20:09 +08:00
2jacobtan 12c564f97c specify version bounds in gf.cabal 2021-07-06 05:08:00 +08:00
Inari Listenmaa 09d772046e Merge pull request #57 from inariksit/cc-bugfix-rgl-only
Hotfix for #56 (cc doesn't work for many RGL languages)
2021-07-02 10:11:35 +02:00
Meowyam d53e1713c7 resolves GrammaticalFramework/gf-core/#97 2021-07-02 16:08:34 +08:00
John J. Camilleri 3df04295d9 Merge pull request #120 from GrammaticalFramework/haskell-export
Add --haskell=pgf2 flag
2021-07-02 09:00:45 +02:00
John J. Camilleri b090e9b0ff Add --haskell=pgf2 flag 2021-07-01 15:31:00 +02:00
John J. Camilleri 5d7c687cb7 Make imports in CheckGrammar a little more explicit 2021-07-01 14:32:39 +02:00
John J. Camilleri 376b1234a2 Rename GF.Compile.TypeCheck.RConcrete to GF.Compile.TypeCheck.Concrete 2021-07-01 14:27:11 +02:00
John J. Camilleri 71d99b9ecb Rename GF.Compile.Compute.ConcreteNew to GF.Compile.Compute.Concrete 2021-07-01 14:21:29 +02:00
John J. Camilleri a27b07542d Add run-on-grammar canonical test script 2021-07-01 14:05:30 +02:00
John J. Camilleri 78b73fba20 Make cleanupRecordFields also recurse into variants
It's possible that more constructors need to be handled
2021-07-01 13:53:33 +02:00
John J. Camilleri e5a2aed5b6 Remove record fields not in lincat
Fixes #100, #101
2021-07-01 11:47:14 +02:00
John J. Camilleri 13575b093f Add top-level signatures and general code cleanup 2021-07-01 10:13:42 +02:00
John J. Camilleri 32be75ca7d Reduce Phrasebook grammars in testsuite/canonical to bare minimum 2021-07-01 09:22:57 +02:00
John J. Camilleri 587004f985 Sort record fields in lin definitions
Fixes #102
2021-06-30 14:14:54 +02:00
John J. Camilleri 4436cb101e Move testsuite/compiler/canonical on level up, update test script 2021-06-30 13:47:15 +02:00
John J. Camilleri 0f5be0bbaa Add shell script in testsuite/compiler/canonical for replicating known issues
Ideally this is integrated into proper test suite, but that's too much overhead for now
2021-06-30 12:41:56 +02:00
John J. Camilleri d5c6aec3ec Superficial refactoring to testsuite module 2021-06-30 12:12:26 +02:00
John J. Camilleri 0a70eca6e2 Make GF.Grammar.Canonical.Id a type synonym for GF.Infra.Ident.RawIdent
This avoids a lot of conversion back and forth between Strings and ByteStrings

This commit was cherry-picked from d0c27cdaae (lpgf branch)
2021-06-30 10:58:23 +02:00
Inari Listenmaa 6efbd23c5c Merge pull request #84 from ffrixslee/issue-46
Issue 46 (various deprecations during compilation of GF)
2021-06-29 23:48:00 +02:00
John J. Camilleri 3a27fa0d39 Add another = 2021-06-24 09:34:27 +02:00
John J. Camilleri 1ba5449d21 Update pgf.cabal, and minors to other cabal files 2021-06-24 09:31:37 +02:00
John J. Camilleri cf9afa8f74 Update README.md
Add `stack install` as alternative to `cabal install`
2021-06-23 09:20:44 +02:00
John J. Camilleri 91d2ecf23c Update RELEASE.md
Add link to gf maintainers on Hackage.
2021-06-23 09:16:03 +02:00
John J. Camilleri 8206143328 Merge pull request #106 from GrammaticalFramework/stack-yaml-symlink
In the end, just some minor additions to Stack files. See discussion for more.
2021-06-22 13:37:13 +02:00
John J. Camilleri 5564a2f244 Make stack.yaml a regular file again 2021-06-22 13:35:46 +02:00
John J. Camilleri cf2eff3801 Merge branch 'master' into stack-yaml-symlink 2021-06-22 13:32:17 +02:00
Inari Listenmaa 5a53a38247 Merge pull request #114 from 1Regina/fix-tests
Fix tests
2021-06-18 05:27:38 +02:00
Andreas Källberg 02671cafd0 Disable cabal tests
The test suite isn't currently able to find the gf executable on cabal
2021-06-17 20:20:18 +08:00
Andreas Källberg 0a18688788 Remove gf-lib-path from testsuite
Since it no longer depends on RGL and it caused issues in the testsuite
2021-06-17 19:24:14 +08:00
Andreas Källberg 889be1ab8e Enable tests in github actions 2021-06-17 16:42:04 +08:00
Andreas Källberg 65522a63c3 Testsuite: Add support for expected failures
And mark the currently failing tests as expected failures
2021-06-17 16:38:33 +08:00
Andreas Källberg 7065125e19 Fix "canonicalizePath: does not exist" issue on ghc-7.10
This caused failures in the test suite
Only fixes it for stack builds.
We should probably add constraints to the cabal file as well
2021-06-16 15:30:24 +08:00
Andreas Källberg 2c37e7dfad Fix build for ghc-7.10.3 2021-06-16 14:54:36 +08:00
Andreas Källberg f505d88a8e Fix build of test suite on ghc-8.2.2 2021-06-16 14:27:19 +08:00
Andreas Källberg b1ed63b089 Don't print stack traces in Command.hs
They don't provide useful info anyways and they are needlessly verbose.
2021-06-16 14:26:22 +08:00
Inari Listenmaa f23031ea1d Add command ai f to trigger error msg 2021-06-16 12:23:07 +08:00
Inari Listenmaa c3153134b7 Remove CStr [] which causes error, update gold 2021-06-16 12:19:35 +08:00
Inari Listenmaa fd4fb62b9e Add output files for test suite in gitignore 2021-06-11 13:55:20 +08:00
Inari Listenmaa 53c3afbd6f Remove CallStack outputs from gold files
Rather, we should not output these, or output them in a nicer way.
2021-06-11 13:55:04 +08:00
Tristan Koh 544b39a8a5 changed build wheels repo link from master to main 2021-06-11 13:23:18 +08:00
Jacob Tan En 6179d79e72 Update gf.cabal
`cabal install` needs this
2021-06-11 13:23:18 +08:00
Jacob Tan En ecb19013c0 Update index-3.11.md
`Cabal install` is fragile and can fail if the GHC on path is of an incompatible version.

Use ghcup to use a GHC version that is known to work.
2021-06-11 13:23:18 +08:00
1Regina c416571406 Rectified gold files 2021-06-11 12:14:49 +08:00
1Regina a1372040b4 Add RGL dependencies - Prelude and Predef 2021-06-11 11:47:03 +08:00
1Regina 67fcf21577 remove testsuite/libraries 2021-06-11 11:43:41 +08:00
Inari Listenmaa a7ab610f95 Merge pull request #113 from TristanKoh/master
Changed build wheels repo link from master to main
2021-06-10 07:02:55 +02:00
Tristan Koh e5b8fa095b changed build wheels repo link from master to main 2021-06-10 12:00:57 +08:00
Inari Listenmaa 6beebbac2b Merge pull request #111 from 2jacobtan/patch-2
Update gf.cabal
2021-06-10 05:46:45 +02:00
Inari Listenmaa 95917a7715 Merge pull request #110 from 2jacobtan/patch-1
Update index-3.11.md
2021-06-10 01:17:27 +02:00
Jacob Tan En de8b23c014 Update gf.cabal
`cabal install` needs this
2021-06-09 19:56:08 +08:00
Jacob Tan En 098541dda2 Update index-3.11.md
`Cabal install` is fragile and can fail if the GHC on path is of an incompatible version.

Use ghcup to use a GHC version that is known to work.
2021-06-09 18:31:16 +08:00
1Regina af87664d27 Merge branch 'enable-tests' of https://github.com/kharus/gf-core into fix-tests
to continue working from ruslan tests
2021-06-09 10:39:49 +08:00
krangelov af1360d37e allow parameter cat in the Web API for parsing 2021-05-27 11:45:31 +02:00
krangelov eeda03e9b0 added news 2021-05-05 15:04:15 +02:00
John J. Camilleri 7042768054 Merge pull request #107 from GrammaticalFramework/pgf2-complete
Add complete function to PGF2
2021-05-03 22:49:31 +02:00
John J. Camilleri 84fd431afd Manage to get completion working in PGF2 2021-05-03 22:28:48 +02:00
John J. Camilleri 588cd6ddb1 Improvement to test script, distinguishes when input ends with whitespace 2021-05-03 20:51:24 +02:00
John J. Camilleri 437bd8e7f9 Add proper error handling in complete 2021-05-03 20:36:31 +02:00
John J. Camilleri e56d1b2959 Second attempt. Reading enum is closer to working but all strings are empty. 2021-05-03 14:25:35 +02:00
John J. Camilleri 450368f9bb First attempt at adding support for complete in PGF2 (gives segmentation faults) 2021-05-03 13:19:08 +02:00
John J. Camilleri 07fd41294a Comment out c-runtime flag by default 2021-05-03 10:33:36 +02:00
John J. Camilleri 4729d22c36 Make stack.yaml an actual symlink to stack-ghc8.6.5.yaml. Add some commented flags in stack files. 2021-05-03 10:24:26 +02:00
John J. Camilleri 60bc752a6f Add note about type-checking dynamic expressions in PGF2 Haddock
Closes #72
2021-04-30 14:59:20 +02:00
John J. Camilleri 91278e2b4b Remove notice about example grammars not being included anymore from build scripts 2021-04-30 13:39:15 +02:00
John J. Camilleri 9b4f2dd18b Remove notice about RGL not being included anymore from build scripts 2021-03-08 13:48:30 +01:00
Inari Listenmaa 9dda5dfa8a (Homepage) Link to summer school 2021 2021-03-01 04:23:39 +01:00
Inari Listenmaa 2fd94f5f57 Merge pull request #99 from inariksit/refman-updates
(refman) Add section about lists + links to my blog
2021-03-01 04:16:47 +01:00
krangelov ba3e09cc38 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2021-02-26 14:59:18 +01:00
krangelov 8fbfc0b4a9 bracketedLinearize now reports the binding spots just like the Haskell binding 2021-02-26 14:58:31 +01:00
Inari Listenmaa f9b8653ab2 (refman) Add section about lists + links to my blog 2021-02-22 23:18:42 +08:00
Inari Listenmaa 173fca7f12 Merge pull request #93 from inariksit/notYet-errormsg
Fix #92 (inappropriate error message)
2021-02-06 14:04:45 +01:00
Inari Listenmaa c6ff3e0c5e Update also the stack setup 2021-01-25 18:48:46 +08:00
Inari Listenmaa 8a85dbc66f Update Github actions to latest haskell-setup 2021-01-25 18:43:25 +08:00
krangelov 655173932e fix type signature 2021-01-20 20:38:19 +01:00
krangelov 04f6f113f0 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2021-01-20 20:16:26 +01:00
krangelov bac619f025 fix gu_map_next 2021-01-20 20:15:40 +01:00
Inari Listenmaa 1a466c14c8 Don't print out the error msg for pattern matching unnecessarily 2021-01-20 01:15:28 +08:00
Inari Listenmaa d77921005a Specify that the Windows guide is for Windows 10 2020-12-16 17:38:13 +01:00
John J. Camilleri 2b6b315bd7 Add note to changelog that #87 is still pending 2020-12-07 10:35:11 +01:00
John J. Camilleri 7f6bfa730b Update changelog for 3.11 by going through all commit messages since GF-3.10 2020-12-07 10:31:19 +01:00
John J. Camilleri d6be4ec3b0 Add note about why we're not using Setup Haskell action for Ubuntu build. 2020-11-30 23:05:43 +01:00
John J. Camilleri 68ec61f44d Remove build status badge from README
The GitHub interface now provides much richer information about build status.
2020-11-30 22:03:23 +01:00
John J. Camilleri 491084e38e Merge pull request #88 from GrammaticalFramework/build-binary-packages
Build binary packages
2020-11-30 22:00:00 +01:00
John J. Camilleri a7a6eb5581 Update release instructions 2020-11-30 21:34:50 +01:00
John J. Camilleri 4223935b12 Combine binary workflows into one with multiple jobs 2020-11-30 20:57:20 +01:00
John J. Camilleri 8dc1ed83b6 Update RELEASE.md 2020-11-30 13:01:51 +01:00
John J. Camilleri 8f3a7a3b6a Copy things into subfolders 2020-11-27 00:51:38 +01:00
John J. Camilleri 921a8981fb Install python-devel in msys2 2020-11-27 00:11:54 +01:00
John J. Camilleri 169f2c786d Install pip in msys2 2020-11-27 00:00:44 +01:00
John J. Camilleri 629a574dfa Considerable updates to 3.11 download page 2020-11-26 23:57:09 +01:00
John J. Camilleri 6b7e9c8c7a Inherit path with Python compilation too 2020-11-26 23:40:08 +01:00
John J. Camilleri 78f42774da Inherit path when running pip 2020-11-26 23:30:47 +01:00
John J. Camilleri 54c0949354 Change echo path command in powershell 2020-11-26 23:16:15 +01:00
John J. Camilleri 0632824b99 Need to add pip to msys2 path 2020-11-26 23:02:16 +01:00
John J. Camilleri 24bbeb31df Change extra lib/include directories 2020-11-26 22:38:23 +01:00
John J. Camilleri 70811d83be Merge remote-tracking branch 'origin/master' into build-binary-packages 2020-11-25 20:57:01 +01:00
John J. Camilleri 0ed6b726a2 Add lib/include envvars for Python build 2020-11-25 20:47:47 +01:00
John J. Camilleri 88252cb107 Try build Python bindings not using msys2 2020-11-24 23:21:05 +01:00
John J. Camilleri cf6468a452 Install Python dev tools 2020-11-24 23:03:46 +01:00
John J. Camilleri 3e1c69da21 First attempt at building Python bindings for Windows 2020-11-24 22:46:28 +01:00
John J. Camilleri 4bcde7d6a2 Copy compiled Java files from local 2020-11-24 22:09:37 +01:00
John J. Camilleri 78c1c099df Find jpgf.jar 2020-11-24 21:08:56 +01:00
John J. Camilleri 7501a7916e Copy jpgf.jar to dist 2020-11-24 20:47:09 +01:00
John J. Camilleri 32f451f1d7 Add jdk/bin to path 2020-11-24 20:29:04 +01:00
John J. Camilleri aad2ba61d4 Move flag 2020-11-24 15:59:01 +01:00
John J. Camilleri 9932b10bf1 Add -D__int64=int64_t flag to Java Windows build 2020-11-24 15:48:22 +01:00
John J. Camilleri f8da24c5ec Change include path when building Java bindings in Windows build 2020-11-24 15:36:13 +01:00
John J. Camilleri 951e439703 First attempt at building Java bindings 2020-11-24 13:06:13 +01:00
John J. Camilleri 08e6aca83d Windows testing... 2020-11-24 13:00:05 +01:00
John J. Camilleri 301f23ac55 Windows testing... 2020-11-24 12:58:21 +01:00
John J. Camilleri e36b7cb044 Windows testing... 2020-11-24 12:57:24 +01:00
John J. Camilleri 9131581f03 Add windows-testing workflow 2020-11-24 12:52:21 +01:00
John J. Camilleri d79fa6d22b Move DLLs into another folder first 2020-11-24 12:48:46 +01:00
John J. Camilleri c8623e2be7 Try to find Java stuff 2020-11-24 12:40:42 +01:00
John J. Camilleri 59dda75f16 Find Java stuff 2020-11-24 12:30:53 +01:00
John J. Camilleri cac65418ff Try yet another path 2020-11-24 12:28:32 +01:00
John J. Camilleri e47ce2a28b Try another upload path 2020-11-24 12:19:25 +01:00
John J. Camilleri 9a697fbde4 Try different upload path 2020-11-24 12:10:43 +01:00
John J. Camilleri 43b06d5f53 Use windows path with upload-artifact 2020-11-24 10:41:26 +01:00
John J. Camilleri ee6082d100 Typo 2020-11-24 10:25:04 +01:00
John J. Camilleri 4d2218a0d1 See what's in /mingw64/bin 2020-11-24 10:10:04 +01:00
John J. Camilleri af9c8ee553 Add compiled C runtime to artifact in Windows build 2020-11-19 14:56:51 +01:00
John J. Camilleri 3e20e735a3 Install gcc in MSYS 2020-11-19 01:22:26 +01:00
John J. Camilleri 0a0060373b Flip slashes 2020-11-19 01:09:07 +01:00
John J. Camilleri 12ece26409 sudo mkdir 2020-11-19 00:58:37 +01:00
John J. Camilleri 424e6887b5 Attempt to build C runtime in Windows build using MSYS 2020-11-19 00:58:07 +01:00
John J. Camilleri 4987b70df7 Make directory first 2020-11-19 00:49:31 +01:00
John J. Camilleri a072b4688b Create symlink to JNI headers in a place where the Java runtime makefile looks 2020-11-19 00:40:51 +01:00
John J. Camilleri 0b3ae5aaa2 Rename artifacts 2020-11-19 00:26:53 +01:00
John J. Camilleri a48bbb3b13 Enable server, upload artifact (only exe) to Windows build 2020-11-19 00:08:07 +01:00
John J. Camilleri 131d196fad Add 'export CPPFLAGS' line to macOS build 2020-11-19 00:02:50 +01:00
John J. Camilleri b0341ec42d Add more test commands for JNI in macOS; re-enable mac & Windows builds on push for testing 2020-11-18 23:48:20 +01:00
John J. Camilleri 293d05fde1 Install alex, happy in Windows build 2020-11-18 23:26:31 +01:00
John J. Camilleri d39e4a22a8 Don't build binaries on push 2020-11-18 23:24:38 +01:00
John J. Camilleri 8e9212d059 First install dependencies in Windows build 2020-11-18 23:19:24 +01:00
John J. Camilleri 012541ff55 Remove locate command, which fails because of missing DB 2020-11-18 23:17:42 +01:00
John J. Camilleri 0d12c7101c Add debugging output to macOS build for locating JNI headers 2020-11-18 23:15:15 +01:00
John J. Camilleri 6ee7c88f34 Add first attempt at Windows build 2020-11-18 23:10:54 +01:00
John J. Camilleri 08af135653 Install openjdk in macOS build 2020-11-18 23:08:49 +01:00
krangelov 37c63a0c22 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2020-11-17 10:27:07 +01:00
krangelov d4ccd2848c Take a step back and do bottom up prediction only when needed. This solves the problem that some sentences were impossible to parse. 2020-11-17 10:26:00 +01:00
John J. Camilleri 6862098d8b Add preliminary RELEASE.md 2020-11-17 01:07:05 +01:00
John J. Camilleri 40e5f90d56 Add stubs in download/ for 3.11. Make dowload/index.html redirect to current version. 2020-11-17 01:05:32 +01:00
John J. Camilleri 3df552eb5d Remove 'download/gfc' 2020-11-17 00:48:31 +01:00
John J. Camilleri dbb0bcc5dd Minors in comments 2020-11-17 00:44:05 +01:00
John J. Camilleri 38facbc064 Copy package from parent dir first because upload-artifact doesn't allow .. 2020-11-17 00:16:01 +01:00
John J. Camilleri 8cc901f334 Remove txt2tags and pandoc from Debian requirements 2020-11-17 00:04:57 +01:00
John J. Camilleri 8550f8deaf Remove RGL and HTML from Debian build 2020-11-17 00:01:05 +01:00
John J. Camilleri 5a6acf1d47 Replace _ with - 2020-11-16 23:50:02 +01:00
John J. Camilleri a7ff2d0611 Upload artifact directly without copying elsewhere in between 2020-11-16 23:41:01 +01:00
John J. Camilleri 30bcafb76f Re-enable hack for finding C runtime on macOS 2020-11-16 23:18:40 +01:00
John J. Camilleri ce9caa2726 Install alex and happy 2020-11-16 22:54:19 +01:00
John J. Camilleri b4ccca8c18 Build on push too 2020-11-16 22:46:04 +01:00
John J. Camilleri 2dc11524fc Remove RGL from build, use 'cabal v1-' commands 2020-11-16 22:42:13 +01:00
Liyana 76bec6d71e Omitted import Except(..) 2020-11-12 09:48:15 +08:00
Ruslan Khafizov 1740181daf Enable tests 2020-11-10 19:15:57 +08:00
Liyana 2dc179239f Replaced Control.Monad.Error with Control.Monad.Except 2020-11-10 17:32:43 +08:00
Liyana 9b02385e3e Removed fromValue for boolV 2020-11-10 17:26:56 +08:00
Liyana 54e5fb6645 Added explicit implementation for 'readJSON' in the instance declaration for 'JSON PGF.Trie' 2020-11-10 17:19:18 +08:00
Liyana 8ca4baf470 Deleted redundant pattern match 2020-11-10 17:15:20 +08:00
Liyana 1f7584bf98 Added explicit implementation for 'fromValue' in instance declaration for 'Predef Bool' 2020-11-10 17:14:31 +08:00
Liyana 4364b1d9fb Replaced Control.Monad.Error with Control.Monad.Except 2020-11-10 17:11:41 +08:00
Liyana 33aad1b8de Deleted redundant pattern match 2020-11-10 17:06:35 +08:00
Liyana dc6dd988bc Replaced inlinePerformIO with accursedUnutterablePerformIO 2020-11-10 17:01:47 +08:00
Liyana ac81b418d6 Added readJSON error messages 2020-11-10 16:57:33 +08:00
John J. Camilleri feed61dd30 Change setup-haskell version to just v1 2020-11-09 22:43:06 +01:00
John J. Camilleri 1c7c52da68 Use GHC 8.4.4 2020-11-09 22:11:29 +01:00
John J. Camilleri 71b10672e8 Fix macOS version at 10.13 2020-11-09 22:09:57 +01:00
John J. Camilleri 687f56178e Use newer version of setup-haskell 2020-11-09 22:05:50 +01:00
John J. Camilleri 359f1509fa Blurt out cabal version in both action and build script 2020-11-09 21:59:05 +01:00
John J. Camilleri b1b3bc3360 Install C runtime in two places. Use cabal v1-copy. 2020-11-09 21:40:55 +01:00
John J. Camilleri 9018eabb10 Add libtool finish command from warning 2020-11-09 21:35:17 +01:00
John J. Camilleri ed97a42fde Try it another way round 2020-11-09 21:23:52 +01:00
John J. Camilleri f6eb94c33b Try removing something that looks like a typo 2020-11-09 21:12:23 +01:00
John J. Camilleri 6e2f34f4d0 Try to set PREFIX env var 2020-11-09 17:52:41 +01:00
John J. Camilleri 13ec9ca888 Explicitly specify env vars when building GF (test) 2020-11-09 17:43:15 +01:00
John J. Camilleri 24619bc3ee Change cabal version to 2.4, to match GHC 8.6.5 2020-11-09 17:15:13 +01:00
John J. Camilleri 399974ebfb Fix whitespace in binary build script 2020-11-09 13:55:53 +01:00
John J. Camilleri 6836360e0c Comment cabal freeze and caching in case it was causing build error below
https://github.com/GrammaticalFramework/gf-core/runs/1374091798?check_suite_focus=true
2020-11-09 13:55:26 +01:00
John J. Camilleri 3844277a66 Install Haskell via setup-haskell action, install build tools for C runtime 2020-11-09 13:35:03 +01:00
John J. Camilleri 86729b3efc Try to install GHC/Cabal via Homebrew 2020-11-09 13:18:57 +01:00
John J. Camilleri beb7599d33 Add first attempt at GitHub action file for building .pkg 2020-11-09 13:15:35 +01:00
Inari Listenmaa 7dc6717b5e Merge pull request #79 from anka-213/fix-infinite-loop
Fix infinite recursion on error
2020-10-27 11:23:49 +01:00
Andreas Källberg 1ff66006b8 Fix infinite recursion on error
The implementation was meant to lift from SIO to IO,
but instead it was just the identity function,
which means that `fail = id . fail` and we have an infinite loop.
2020-10-26 17:21:22 +01:00
John J. Camilleri db5ee0b66a Merge pull request #78 from anka-213/solve-syntax-error-bug
Fix syntax error problem for older versions of GHC
2020-10-09 11:56:21 +02:00
Andreas Källberg 7b4eeb368c Make CI green
See https://github.com/joerick/cibuildwheel/issues/446
2020-10-08 21:50:12 +02:00
Andreas Källberg f2e4b89a22 Fix syntax error problem for older versions of GHC 2020-10-08 17:41:44 +02:00
Inari Listenmaa 670a58e7e7 Merge pull request #77 from inariksit/tutorial-fixes
Minor tweaks and updates to the tutorial
2020-10-02 20:32:21 +02:00
krangelov f3a8658cc1 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2020-10-02 19:55:24 +02:00
krangelov bfb94d1e48 fix parsing with HOAS 2020-10-02 19:34:52 +02:00
Inari Listenmaa df77205c43 (Tutorial) Rename TV (transitive verb) to V2, the name used in RGL 2020-10-02 17:58:57 +02:00
Inari Listenmaa e41436eb14 (Tutorial) Remove reference to morpho_list + overly verbose path 2020-10-02 17:57:35 +02:00
Inari Listenmaa 2826061251 (Tutorial) Update the pre syntax 2020-10-02 17:56:24 +02:00
Inari Listenmaa f56fbcf86e (Tutorial) Remove mentions to pt -typecheck
The GF shell no longer has `put_tree -typecheck` option, and typechecking is done automatically when parsing.

The metavariable thing is a bit unclear: you don't get it when parsing "dim the light", or "switch on the fan, but you do get it when you `gt` after adding `switchOn` and `switchOff`.

```
> p "switch on the fan"
CAction fan (switchOff fan) (DKindOne fan)
> gt
CAction light dim (DKindOne light)
CAction ?3 (switchOff ?3) (DKindOne ?3)
CAction ?3 (switchOn ?3) (DKindOne ?3)
```

My hypothesis is that you don't get metavariable when parsing e.g. "dim the light", because even though `light` is suppressed in `CAction`, it still appears in `DKindOne`, so it gets to contribute to the whole tree with its string.
2020-09-29 09:23:36 +02:00
aarneranta 2c2bd158a6 link to CoLi paper, mention of iOS 2020-09-29 09:05:15 +02:00
John J. Camilleri d95b3efd6b Add instructions for uploading PGF2 to Hackage 2020-09-18 10:49:21 +02:00
John J. Camilleri db8b111e72 Bump PGF2 to 1.2.1 2020-09-18 10:34:45 +02:00
John J. Camilleri ab52572f44 Fix bug where shell commands were ignored, introduced by #71 2020-09-18 09:25:08 +02:00
John J. Camilleri 6c54e5b63c Merge pull request #71 from anka-213/fix-newer-cabal
Fix support for newer stackage snapshots
2020-09-14 22:42:37 +02:00
Andreas Källberg 8bcdeedba0 Bump default stack.yaml to ghc8.6.5 2020-09-14 17:44:23 +02:00
Andreas Källberg 7d6a115cc1 Bump stackage snapshots to latest versions 2020-09-14 15:15:23 +02:00
Andreas Källberg 127a1b2842 Remove MonadFail requirements for aeson code 2020-09-12 11:04:32 +02:00
Andreas Källberg 2fd1040724 Fix incorrect type and update dependencies 2020-09-12 11:04:32 +02:00
Andreas Källberg 340f8d9b93 First attempt at github actions for stack 2020-09-12 10:55:18 +02:00
Andreas Källberg 9d8cd55cd5 Import orphan instances of MonadFail for ghc<8
Also upgrade alex/happy so automatic install works
2020-09-09 11:05:41 +02:00
Andreas Källberg 150b592aa9 Add stack file for ghc8.8.4 2020-09-08 15:10:29 +02:00
Andreas Källberg 56f94da772 Merge remote-tracking branch 'origin/master' into fix-newer-cabal 2020-09-05 21:11:12 +02:00
Andreas Källberg 57ce76dbc1 Add two more missing MonadFail imports 2020-09-05 20:57:30 +02:00
Andreas Källberg 2b23e0f27e Fix wrong indent 2020-09-05 20:45:08 +02:00
Andreas Källberg 57c1014e9f Update package database on ubuntu build
Fixes 404 error:
https://github.com/GrammaticalFramework/gf-core/runs/1076062405
2020-09-05 20:36:04 +02:00
Andreas Källberg 7268253f5a MonadFail: Make backwards-compatible 2020-09-05 20:23:07 +02:00
Andreas Källberg 1234c715fc Fix MonadFail for c-runtime as well 2020-09-05 18:57:40 +02:00
Inari Listenmaa bca0691cb0 (Tutorial) Minor typofixes + current error message 2020-08-31 15:54:33 +02:00
Inari Listenmaa 3de9c664fd Merge pull request #73 from inariksit/video-tutorial-page
(Homepage) Change link of video tutorials to a page + small fixes
2020-08-31 15:31:31 +02:00
Inari Listenmaa f6560d309e (Homepage) Change link of video tutorials to a page + small fixes
Also added video tutorial link to the footer.
2020-08-30 20:53:59 +02:00
Inari Listenmaa 254f03ecfe Fix wording + formatting slightly 2020-08-30 20:38:49 +02:00
Inari Listenmaa 0bb02eeb51 Add a page for all GF video tutorials 2020-08-30 20:08:17 +02:00
Inari Listenmaa bf21b4768c (Tutorial) Fix to make calculator example compile
In abstract: startcat needs to be defined to run the commands that are shown later in the doc.
In concrete: ss and SS are defined in Prelude.
2020-08-21 13:25:16 +02:00
Andreas Källberg 47dbf9ac27 Add stack file for a more recent ghc 2020-08-19 14:13:17 +02:00
krangelov 90fc1d750e remove the deprecated pgf_print_expr_tuple 2020-08-14 21:03:48 +02:00
krangelov 24beed9a95 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2020-08-14 20:56:20 +02:00
krangelov 23edeec5a9 added an API for cloning expressions/types/literals 2020-08-14 20:54:15 +02:00
Inari Listenmaa 542a41fb32 Merge pull request #70 from inariksit/haskell
New features in PGF to Haskell translation
2020-08-11 14:20:28 +02:00
Andreas Källberg 85ab6daaaa Add cabal dist-newtyle to gitignore 2020-08-05 19:09:25 +02:00
Andreas Källberg e351e7b79a Remove NoMonadFailDesugaring flag
I've fixed so everything has the fail it needs now
2020-08-05 18:48:24 +02:00
Andreas Källberg 05903b271c Fix testsuite compatability with newer Cabal 2020-08-05 18:48:24 +02:00
Andreas Källberg 3bd1f01959 Fix a few warnings 2020-08-05 18:48:24 +02:00
Andreas Källberg 0581d6827e Fix most build errors 2020-08-05 18:48:24 +02:00
Andreas Källberg b8812b54b2 fix newer ghc: Don't try to be backwards compatible 2020-08-05 18:48:24 +02:00
Andreas Källberg 251845f83e First attempt at fixing incompabilities with newer cabal 2020-08-05 18:48:24 +02:00
Inari Listenmaa 7c478016d0 Replace deprecated pragma with up-to-date one. (#17) 2020-08-03 19:45:20 +02:00
John J. Camilleri deddde953f Add script for uploading PGF2 documentation to Hackage
Hackage's attempt to build the package will fail because of missing C libraries
2020-08-03 14:22:32 +02:00
John J. Camilleri e10bb790cb Merge pull request #69 from GrammaticalFramework/pgf2-hackage
Update pgf2 metadata for uploading to Hackage

Even though this isn't able to package the C runtime itself into the Haskell package, I think these changes are still worth merging into master.
2020-08-03 10:53:51 +02:00
Inari Listenmaa 868566a319 Remove accidentally added space character in deriving clause. 2020-07-31 15:16:45 +02:00
Inari Listenmaa aeabc955c8 Remove characters that aren't allowed in Haskell data types.
GF allows more characters in its types, as long as they are inside
single quotes. E.g. 'VP/Object' is a valid name for a GF category,
but not for a Haskell data type.
2020-07-31 15:05:46 +02:00
Inari Listenmaa 030c3bfee9 Add option "data" to Haskell options.
Imports Data.Data, all GF types derive Data, and uses DeriveDataTypeable.
2020-07-31 12:46:19 +02:00
John J. Camilleri c53353f087 Updates to PGF2 readme 2020-07-28 22:54:34 +02:00
John J. Camilleri f00f0cb0ef Bump pgf2 to 1.2.0 2020-07-28 22:36:49 +02:00
John J. Camilleri 22d5f31d74 Merge remote-tracking branch 'origin/master' into pgf2-hackage 2020-07-28 22:19:15 +02:00
krangelov 830dbe760d expose parseToChart via the Web API 2020-07-26 15:56:54 +02:00
krangelov d7965d81b4 parseToChart also returns the category 2020-07-26 15:56:21 +02:00
krangelov a2d7f1369c filter out empty brackets 2020-07-26 15:55:18 +02:00
krangelov 0cee82f715 the if is actually unnecessary 2020-07-22 16:55:21 +02:00
krangelov 7229033e42 bugfix in bracketedLinearize 2020-07-22 16:26:05 +02:00
krangelov 8bc4cc7187 added function for posting query strings. scales better than get. 2020-07-21 22:29:00 +02:00
krangelov 2b09e70b4a allow specifying content-type in ajax_http 2020-07-21 13:19:19 +02:00
John J. Camilleri 38f468eed3 (pgf2) Readme, license, changelog 2020-07-11 21:06:08 +02:00
John J. Camilleri 88a73c1d9e Bump pgf2 to 1.1.0, update README 2020-07-11 20:00:25 +02:00
krangelov 77a2630ed9 revert to using unconditional probabilities in the different lookup functions 2020-07-11 09:52:43 +02:00
John J. Camilleri f54e54123c Merge remote-tracking branch 'origin/master' into pgf2-hackage
# Conflicts:
#	src/runtime/haskell-bind/pgf2.cabal
2020-07-08 22:07:08 +02:00
John J. Camilleri 2ac796dbbc Remove PGF from PGF2, clean up PGF2 cabal file. 2020-07-08 21:55:42 +02:00
krangelov 33818076ff drop the SG library completely. 2020-07-08 21:12:01 +02:00
John J. Camilleri 47d1da0845 Merge pull request #65 from GrammaticalFramework/build-debian-package
Build Debian package via GitHub action
2020-07-07 12:02:35 +02:00
aarneranta 8a052edca2 an attempt to solve record extension overloading bug, commented out for the moment 2020-07-06 18:01:59 +02:00
aarneranta 1360723137 fixed issue #67 on order of record fields in overloading 2020-07-06 14:27:49 +02:00
John J. Camilleri 4594c36cfb Copy packages so that upload-artifact can find them 2020-06-30 11:41:12 +02:00
John J. Camilleri d8e88fd42a Try alternate way for uploading artifact 2020-06-30 11:25:24 +02:00
John J. Camilleri daa2145378 Try alternate way of cloning RGL one level up 2020-06-30 11:12:10 +02:00
John J. Camilleri 398c64734c Add txt2tags and pandoc to build env 2020-06-30 10:17:34 +02:00
John J. Camilleri eb185e5358 Add sudo to apt command
https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners#administrative-privileges-of-github-hosted-runners
2020-06-30 10:14:35 +02:00
John J. Camilleri bb4ad9ec7f First attempt at GitHub action for building Debian package 2020-06-30 10:10:36 +02:00
John J. Camilleri 5777b85701 Merge pull request #62 from GrammaticalFramework/python-bindings-description
Update descriptions in Python bindings setup.py
2020-06-23 10:42:00 +02:00
John J. Camilleri ab3c6ec4eb Update descriptions in Python bindings setup.py 2020-06-17 11:36:31 +02:00
John J. Camilleri 63a3a57620 Remove duplicate --gfo flag
Fixes #51
2020-06-16 14:59:14 +02:00
Inari Listenmaa aa9b4d06ba Merge pull request #55 from inariksit/error-messages
Improvements in common  error messages
2020-06-16 09:50:05 +02:00
John J. Camilleri fff19f31af Add friendly name to upload job 2020-06-15 12:53:19 +02:00
John J. Camilleri c47f2232c5 Merge pull request #61 from miracle2k/wheels2
Fix twine upload.
2020-06-15 12:38:56 +02:00
Michael Elsdörfer c802ec6022 Only upload to PyPI on pushes to master. 2020-06-15 11:21:35 +01:00
Michael Elsdörfer b2e6d52509 Fix twine upload. 2020-06-15 10:57:36 +01:00
John J. Camilleri 383ff5e227 Merge pull request #60 from miracle2k/wheels
WIP: Add Github action workflow to build Python wheels.
2020-06-15 08:59:40 +02:00
Michael Elsdörfer 71a98cdf00 Merge branch 'master' into wheels 2020-06-14 17:47:39 +01:00
Michael Elsdörfer 74f3f7a384 Update documentation. 2020-06-14 17:46:06 +01:00
Inari Listenmaa 3fe8c3109f (Homepage) Add new languages in list of RGL langs 2020-06-14 17:38:50 +01:00
bc² 7abad1f4bf in Fedora install instructions, use dnf
dnf is the new yum, see https://fedoramagazine.org/5tftw-2014-06-10/
2020-06-14 17:38:50 +01:00
Michael Elsdörfer 8d4eb9288a Remove references to live PyPI. 2020-06-14 17:38:01 +01:00
Michael Elsdörfer 866e91c917 Make sure sdist is included. 2020-06-14 17:38:01 +01:00
Michael Elsdörfer 6f5e25d01d Bring back fail-fast. 2020-06-14 17:38:00 +01:00
Michael Elsdörfer 9ad7d25fb4 Add upload to PyPI step. 2020-06-14 17:38:00 +01:00
Michael Elsdörfer 958da5e5e9 Add Github action workflow to build Python wheels. 2020-06-14 17:38:00 +01:00
Inari Listenmaa f31bccca1c (Homepage) Add new languages in list of RGL langs 2020-06-06 18:15:50 +02:00
Inari Listenmaa bfcab16de6 Hotfix for https://github.com/GrammaticalFramework/gf-core/issues/56 2020-06-06 11:35:05 +02:00
Inari Listenmaa de8cc02ba5 Condense the unsupported token gluing as per John's suggestion 2020-06-05 19:39:31 +02:00
Inari Listenmaa dbc7297d80 Don't output "\n **" if helpfulMsg is empty. 2020-06-04 20:19:06 +02:00
Inari Listenmaa 414c2a1a5f Add clarification to Internal error in GeneratePMCFG 2020-06-04 19:57:55 +02:00
Inari Listenmaa dca1fcd7fe Add clarification to Unsupported token gluing (both good and bad case) 2020-06-04 19:57:38 +02:00
Inari Listenmaa c0714b7d33 Add clarification to "expected foo, inferred bar" type of error msgs 2020-06-04 19:57:10 +02:00
Inari Listenmaa a4e3bce6bb Add clarification to "Pattern is not linear" error msg. 2020-06-04 19:56:31 +02:00
Inari Listenmaa 9a903c166f Add suggestions to error messages that are caused by too few/many args 2020-06-04 17:56:13 +02:00
Inari Listenmaa 4414c3a9c8 Merge pull request #54 from odanoburu/patch-1
in Fedora install instructions, use dnf
2020-06-03 07:00:26 +02:00
bc² 11201d8645 in Fedora install instructions, use dnf
dnf is the new yum, see https://fedoramagazine.org/5tftw-2014-06-10/
2020-06-02 20:54:15 -03:00
John J. Camilleri 5846622c4d Homepage: fix some spacing, add RGL browser, add news about GFSS 2020 2020-06-01 11:18:06 +02:00
John J. Camilleri d8e543a4e6 Add link to Inari's video tutorial from homepage 2020-06-01 09:44:38 +02:00
krangelov 0a915199e8 allow literals in the C shell 2020-05-20 20:18:47 +02:00
krangelov 165c5a6d9d bugfix in parsing literals 2020-05-20 19:57:33 +02:00
krangelov 0ad1c352fe expose lookupCohorts in Python 2020-05-20 16:12:50 +02:00
krangelov 48d3973daa fix the uggly typo that broke the literals. 2020-05-20 10:15:53 +02:00
krangelov 9a1f982b14 split unknown words by spaces 2020-05-16 08:32:00 +02:00
krangelov e8653135d4 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2020-05-14 15:05:13 +02:00
krangelov 62bc78380e lookupCohorts now detects and reports unknown words. Also:
- added added two filtering functions: filterLongest and filterBest
 - updated the PGF service to work with the new API
2020-05-14 15:03:30 +02:00
Inari Listenmaa dda348776e Add Lauri Alanko to the list of contributors 2020-05-11 13:32:26 +02:00
aarneranta 65c810f085 accepting gf-ud style abslabels in gf-core ; cnclabels TODO 2020-05-05 15:46:48 +02:00
Krasimir Angelov b962bcd178 Merge pull request #50 from jdahlin/patch-1
Expose PGF/Concr/Iter/Bracket
2020-04-02 09:14:53 +02:00
Johan Dahlin 589c358389 Expose PGF/Concr/Iter/Bracket
Expose the remaining types in the module.

These are helpful for example in type annotations.
2020-04-01 21:37:13 -03:00
krangelov 57a1ea5b56 forgot the conversion of the annotation string to jstring 2020-04-01 16:26:03 +02:00
krangelov 762d83c1f0 switch off the debugger 2020-03-25 20:03:06 +01:00
krangelov 733fdac755 restore the sequence ordering after -optimize-pgf 2020-03-15 19:57:47 +01:00
krangelov 00e25d0ccb an API to access the names of all fields withing a category 2020-03-06 12:29:08 +01:00
krangelov 9806232532 fix the build after the change in the morphological API 2020-03-05 12:24:01 +01:00
krangelov 88f76ef671 lookup_morpho, lookup_cohorts and fullform_lexicon now report the usual conditional probability. This turns out to be more useful for part of speech tagging 2020-03-05 12:04:42 +01:00
krangelov f22bd70585 The APIs for callbacks and the bracketed strings now use a string for the analysis intead of an integer. This is now consistent with lookupMorpho and friends 2020-03-05 11:58:21 +01:00
krangelov 3133900125 another bug related to mattern matching on multiword expression 2020-02-18 15:07:47 +01:00
krangelov e15392e579 fix: pattern matching on strings should reconstruct the tokens after matching 2020-02-17 19:29:36 +01:00
krangelov 9604a6309c fix the compilation of case insensitive grammars 2020-02-17 12:40:14 +01:00
krangelov 98a18843da support command c-lookupCohorts 2020-02-13 14:51:03 +01:00
krangelov 61641e7a59 support post requests to the server 2020-02-13 14:50:23 +01:00
krangelov c50df37144 rename the WordNet module when creating a new language 2020-01-28 21:12:28 +01:00
krangelov 34fd18ea96 added link to WordNet 2020-01-28 15:33:23 +01:00
krangelov 65024a0a55 added plugin for search in WordNet 2020-01-24 18:22:00 +01:00
krangelov 4b67949d36 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2020-01-17 12:42:40 +01:00
krangelov 2ab9fee8e4 Python 3 literal callbacks will receive offsets in number of characters instead of bytes 2020-01-17 12:41:54 +01:00
Inari Listenmaa f4d9b534dc Remove outdated advice on producing Haskell file 2019-12-12 16:13:47 +01:00
krangelov 14f394c9e9 a version of the parser which returns a chart rather than a list of expressions 2019-12-07 22:00:39 +01:00
krangelov dbb09cc689 remove bogus comment 2019-12-07 21:59:41 +01:00
krangelov bb298fadbe silence warnings in the Python bindings 2019-12-07 10:27:06 +01:00
Thomas Hallgren f1f47f7281 GF cloud: GFMorpho: responsive layout improvement for small screens 2019-12-03 17:07:20 +01:00
Thomas Hallgren fb1199c49c GF Cloud: add Word inflection with smart paradigms
This is a reimplemention of Aarne's GFMorpho service from 2012, using
the GF shell web API. Not all features are implemented (yet).
2019-12-03 16:40:21 +01:00
Thomas Hallgren 12e55c93c0 Fix another build problem in bin/build-binary-dist.sh
Make sure the dynamic C runtime libraries are found when running GF to
compile the RGL
2019-11-27 14:31:45 +01:00
Thomas Hallgren 33aeb53f7a PGFService: userLanguage now defaults to English, if present in the grammar
The userLangauge is the name of the concrete syntax that has a languageCode
that matches the user's preferred language, as reported by the web browser.
If no matching language code is found, the PGF service now sets userLanguage
to the concrete syntax for English (e.g. FoodsEng) if present, and defaults
to the first concrete syntax (e.g. FoodsAfr) only if English is not present
in the grammar.
2019-11-26 15:27:02 +01:00
Thomas Hallgren e6b33ac8b8 Minibar: make it possible to configure a list of preferred grammars
A preferred grammar is selected when a user visits the Minibar for the
first time. (Like before, Minibar remembers the selected grammar for future
visits.)

A preferred list of grammars can be specified in config.js in the .../minibar
directory on the server, e.g. like this:

  preferred_grammars=["/grammars/Foods.pgf","/grammars/ResourceDemo.pgf"]

The first available grammar from the list is used.
2019-11-21 14:25:07 +01:00
Thomas Hallgren 14e5528544 Fix build problems, bump versiom to gf-3.10.4-git
debian/rules and bin/build-binary-dist.sh needed to be adepted to changes
in how INSTALLPATH is used in src/runtime/java/Makefile.
2019-11-18 15:54:44 +01:00
Thomas Hallgren 28f53e801a PGFService: revert unlexing change in PGFService to restore &+ behaviour 2019-11-18 13:20:41 +01:00
aarneranta 6f2b1a83b7 fixed a vd bug that sometimes erased the root label 2019-11-13 11:40:37 +01:00
aarneranta d3b501d35f fixed the problem with generating several roots in ud2gf. Now only the leftmost word becomes ROOT, the others become dep - which can be eliminated by cnclabels. This works fine for e.g. English prepositional and particle verbs. But it does not work if the 'main' word is not the leftmost one 2019-11-12 17:46:55 +01:00
krangelov 95b3fb306f forgot that debugging is on 2019-10-09 14:34:04 +02:00
krangelov 5b790b82c5 fix chunk extraction when there are literals 2019-10-09 14:32:20 +02:00
krangelov 26361b3692 fix the parsing for literals after the latest changes in the parser 2019-10-09 14:18:05 +02:00
krangelov 30eef61f0a more dead code 2019-09-20 16:15:28 +02:00
krangelov 29662350dc removed more dead code 2019-09-20 10:49:29 +02:00
krangelov 4d79aa8b19 remove obsolete code 2019-09-20 10:37:50 +02:00
Thomas Hallgren 9d3badd8b2 GrammarToCanonical: bug fix: add missing case for Empty 2019-09-10 12:41:16 +02:00
krangelov e2ddea6c7d first version of a parser which returns chunks in case of failure 2019-08-30 13:31:57 +02:00
krangelov 59a6e3cfdd fix gu_map_next 2019-08-30 13:31:19 +02:00
krangelov 1e8d684f9a Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2019-08-30 08:12:52 +02:00
krangelov 72cfc1f48a a more reasonable API to iterate over a map 2019-08-30 08:12:15 +02:00
John J. Camilleri 724bf67295 Update Stack files after testing with Stack v2
- Also bump up some minor GHC versions (8.4.3 -> 8.4.4, 8.6.2 -> 8.6.5)
- Should still work with Stack < v2 (tested in docker/haskell:8.2.2)
2019-08-28 10:57:21 +02:00
Thomas Hallgren a7a592d93e Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2019-08-21 14:33:30 +02:00
Thomas Hallgren d1bb1de87f Minibar: support for links to open a given grammar in the minibar
When you press the "i" or "More info" button for a grammar, the info now
includes a link that can be used by anyone to open this specific grammar in
the minibar.
2019-08-21 14:27:56 +02:00
krangelov 394d033d19 added gu_map_delete 2019-08-20 18:55:36 +02:00
krangelov cb678dfdc8 fix packages 2019-08-18 09:37:55 +02:00
krangelov 4161bbf0ec fix reference to FastCGIUtils 2019-08-18 09:12:30 +02:00
krangelov 148590927c remove obsolete code 2019-08-18 09:09:40 +02:00
krangelov 85a81ef741 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2019-08-09 15:18:27 +02:00
krangelov 3e662475ee bugfix in the parser's scanner 2019-08-09 15:15:30 +02:00
Thomas Hallgren b77626b802 debian/rules: fix two build problems 2019-08-07 20:15:28 +02:00
Thomas Hallgren 12f2520b3c Download page: add binary package for Raspbian 10 2019-08-07 19:02:27 +02:00
Thomas Hallgren 941b4ddf1f GF home page: fix some links smoother operation over https 2019-08-07 14:07:47 +02:00
John J. Camilleri 85f12a5544 Remove wrong Haddock comment in PGF2
Clearly just a copy-paste error
2019-08-07 12:52:17 +02:00
Thomas Hallgren 81362ed7b7 Minibar can now display grammar documentation.
The documentation is taken from a file called Grammar.pgf_info, located
next to the Grammar.pgf file on the server.

The first line of the documentation is displayed below the menu bar in
the minibar. The rest of the documentation is displayed when you press
the "More info" button (or the "i" button).

The documentation can contain HTML markup. Blank lines are treated as
paragraph breaks.
2019-08-05 15:25:29 +02:00
John J. Camilleri 12079550f8 Remove TypeScript runtime and point to new repository
https://github.com/GrammaticalFramework/gf-typescript
2019-07-11 09:29:49 +02:00
John J. Camilleri 1ceb8c0342 Merge pull request #45 from GrammaticalFramework/pgf2json
Add export to PGF JSON format
2019-07-10 19:32:49 +02:00
John J. Camilleri eab9fb88aa Minor renamings in JSON format 2019-07-10 08:49:00 +02:00
John J. Camilleri acd4a5e8cd Address @heatherleaf's suggestions 2019-07-10 08:45:23 +02:00
John J. Camilleri a4b1fb03aa Whitespace fixes 2019-07-07 17:38:07 +02:00
John J. Camilleri cb88b56016 Finish compile to PGF JSON, including JSON schema for resulting format. 2019-07-07 17:35:31 +02:00
John J. Camilleri ecf9b41db0 Finish JSON conversion for abstract 2019-07-03 16:34:07 +02:00
John J. Camilleri c5a75c482c Start work on PGFtoJSON module. Add compiler flag -f json. 2019-07-03 15:07:31 +02:00
krangelov 32379a8d11 fully supported case-insensitive parsing/lookup 2019-06-30 08:48:23 +02:00
krangelov b56591c6b6 the parser now ensures that all word senses are in the chart 2019-06-25 12:58:28 +02:00
krangelov b94bb50ec9 fix in gu_buf_heap_pop 2019-06-24 12:27:36 +02:00
krangelov e2395335cb Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2019-06-24 12:14:15 +02:00
krangelov 2d9478b973 share some code for printing 2019-06-24 12:13:14 +02:00
John J. Camilleri 17e3f753fb gflib.ts: put warning on console when function undefined 2019-06-13 14:43:21 +02:00
John J. Camilleri 498ad572ac gflib.ts: fix in annotation when type is unknown 2019-06-13 14:12:53 +02:00
John J. Camilleri bc61f8c191 gflib.ts: generate source map, which is helpful for debugging 2019-06-13 13:53:58 +02:00
John J. Camilleri d252cfd610 gflib.ts: handled unimplemented functions during linearisation 2019-06-13 10:31:49 +02:00
John J. Camilleri 46a1bdc7ea gflib.ts: also accept U+00C0-U+00FF (\192-\255) in idents in parseTree
Matches definition in src/compiler/GF/Grammar/Lexer.x
2019-06-12 15:28:25 +02:00
John J. Camilleri 18d0e1fad0 gflb.ts: add comments about startsWith polyfill, making into module 2019-06-12 09:51:27 +02:00
John J. Camilleri ab94e93b94 Avoid modifying String prototype in TypeScript runtime
Adds new class TaggedString
2019-06-10 11:39:31 +02:00
John J. Camilleri a229507392 Use strict mode in TypeScript, catch some more corner cases 2019-06-10 11:14:14 +02:00
John J. Camilleri 6a9c917b29 TypeScript readme 2019-06-10 10:19:43 +02:00
John J. Camilleri 9ba4a42426 Add generated gflib.js under typescript/js. Add deprecation notice in javascript. 2019-06-10 10:15:03 +02:00
John J. Camilleri bbd1c9147a Catch for when rules are undefined 2019-06-10 09:48:44 +02:00
John J. Camilleri 4793d376d9 Create copies when tagging
Not sure if this behaviour is identical to previous version,
or in truth how important it really is anyway
2019-06-10 09:45:04 +02:00
John J. Camilleri 63606fd2d0 Minor indentation fixes in gflib.js
Despite it being deprecated 🙈
2019-06-10 09:29:43 +02:00
John J. Camilleri d6a1e87f4a Support for pre in gflib.ts. Some type annotation fixes. 2019-06-07 21:17:41 +02:00
John J. Camilleri ffcdaa921f Porting of JS runtime to TypeScript (gflib.ts) complete 2019-06-07 13:58:23 +02:00
John J. Camilleri f2e03bfc51 Remove type definitions gflib.d.ts which contained many errors and now obsolete 2019-06-07 10:07:23 +02:00
John J. Camilleri c89656f3ee More type fixes in gflib.ts after setting noImplicitAny 2019-06-07 10:06:19 +02:00
John J. Camilleri c9b4318e9e Clean up whitespace in [old] gflib.js 2019-06-07 09:34:13 +02:00
John J. Camilleri 1e43e7be4b Fix all type errs in gflib.ts except tagging ones. Add TS/eslint configs.
gflib.js required changing the String prototype which I'm not sure I want to do here
2019-06-07 09:33:24 +02:00
John J. Camilleri 44261b7582 More progress on gflib.ts
All code has been copied from gflib.js but there are many type errors
yet to be resolved
2019-06-05 10:23:27 +02:00
John J. Camilleri b980bce334 Add gflib.ts, a port of JS runtime gflib.js into TypeScript (WIP) 2019-06-04 15:16:17 +02:00
John J. Camilleri bd7753db1a Update TypeScript definitions for gflib.js
Still not 100% tested: best solution will really be to rewrite
gflib.js in TypeScript and at the same time use ES modules
2019-05-29 14:43:28 +02:00
krangelov 8c18d7162f bits of documentation 2019-05-28 12:59:07 +02:00
krangelov ac039ec74f filter out empty cohorts 2019-05-28 12:42:59 +02:00
krangelov 9f0ea19a1c API for scanning for cohorts in an arbitrary text 2019-05-28 12:26:00 +02:00
krangelov 8df2121650 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2019-05-27 09:06:11 +02:00
krangelov 8b9719bd2d remove duplicate definition for RecordCompare 2019-05-27 09:05:41 +02:00
Aarne Ranta b7249adf63 reordered error message for 'no overload'; might be even better to show complete types 2019-05-20 15:58:47 +02:00
John J. Camilleri 7a3efdfeb9 Update link to RGL tutorial (now HTML version) 2019-05-20 10:36:35 +02:00
Thomas Hallgren 86066d4b12 Eliminate the dependency on time-compat
It was only needed for compatibility with directory<1.2, but
directory>=1.2 has been shipped with ghc since ghc-7.6.

Note: time-compat-1.9.* (the current version) is a completely different
package, that does not provide the needed function toUTCTime, which
was provided in time-compat-0.1.*.
2019-05-15 12:05:38 +02:00
John J. Camilleri af62a99bf5 update_html rewrites anchors which Pandoc 1.16 doesn't process
See #43
2019-05-06 08:45:07 +02:00
John J. Camilleri ac1f304722 Merge pull request #42 from gear0/master
corrected some minor typos in reference manual
2019-05-06 08:11:02 +02:00
gear0 92720b92a4 corrected some minor typos in reference manual 2019-05-05 12:09:31 +02:00
Inari Listenmaa 078440ffbf Merge pull request #41 from inariksit/js-doc
(doc) Update path to gflib.js
2019-05-03 18:54:06 +02:00
Inari Listenmaa 68919a5e42 (doc) Update path to gflib.js 2019-05-03 18:53:28 +02:00
Thomas Hallgren a5a019a124 runtime/javascript: use a grammar.js with two langauges
grammar.js contained only one langauge: FoodsEng. Now it contains
FoodsEng and FoodsIta, similar to what's shown in the gf-tutorial.
The grammar comes from gf-contrib/tutorial/foods.
2019-05-03 15:19:19 +02:00
Thomas Hallgren 61fe167392 gf-tutorial: fix link to JavaScript translator demo
After fixing trivial problem in translator.html, the demo works, but
the example grammar contains only one langauge, so it is not so
interesting. translator.html is located in src/runtime/javascript.
The editor.html in the same location also works.
2019-05-03 14:52:28 +02:00
Aarne Ranta fd29925173 started collecting error messages in order to explain them 2019-04-29 16:53:43 +02:00
Thomas Hallgren bea6aa1d2d GF.Compile.CheckGrammar: discard bad 'lincat C = …' with a warning
e.g. if C is a fun and not a cat in the abstract syntax.
Discarding bad lincats prevents GF from generating malformed PGFs that
are rejected by the C run-time system.
I also added code to reject bad lincats with an error, but I left it
commented out since it seems a bit pedantic compared to GF's otherwise
rather sloppy grammar checking.
2019-04-25 17:02:42 +02:00
krangelov c628e11c01 respect the probs option also when merging PGFs 2019-04-12 11:04:40 +02:00
Thomas Hallgren 61e7df4d1c Fix outdated comment about which version of the Haskell Platform to use 2019-04-05 16:38:12 +02:00
krangelov de53a7c4db Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2019-03-26 12:21:52 +01:00
krangelov 1e9188ea60 bugfix in the pretty printer 2019-03-26 12:21:35 +01:00
Thomas Hallgren a55c7c7889 GF.Compile.GrammarToCanonical: keep unreachable rows in tables
since unreachable rows can become reachable after grammar transformation.
Also export smart constructors for projection and selection.
2019-03-22 15:38:02 +01:00
Aarne Ranta b3387e80e4 hiding morphological tags from Latex printing of dependency trees 2019-03-20 22:19:32 +01:00
Thomas Hallgren de0a997fcd Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2019-03-20 14:40:17 +01:00
Thomas Hallgren 0f53431221 GF.Grammar.Canonical: pretty printer: omit some redundant brackets 2019-03-20 14:39:42 +01:00
krangelov 099f2de5b4 support cross-compilation from Linux to Windows 2019-03-19 12:43:38 +01:00
krangelov 2f2b39c5d2 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2019-03-19 11:22:09 +01:00
krangelov f3d7d55752 added one more possible location for Java headers 2019-03-19 11:21:39 +01:00
Thomas Hallgren 2979864752 GF.Compile.GrammarToCanonical: allow + in reg exps in pre { } 2019-03-14 16:52:37 +01:00
Thomas Hallgren b11d7d93dc GF.Grammar.Canonical: some Functor/Foldable/Traversable instances 2019-03-13 01:51:26 +01:00
Thomas Hallgren ba9aeb3322 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2019-03-12 22:34:00 +01:00
Thomas Hallgren 8e2424af49 GF.Grammar.Canonical: add TuplePattern and CommentedValue 2019-03-12 22:32:54 +01:00
Peter Ljunglöf 01b9e8da8d canonical GF: flatten several concatenations into one json array, and parse the array back into concatenations 2019-03-08 18:33:56 +01:00
Peter Ljunglöf 926a5cf414 added parsing of json into canonical GF 2019-03-08 17:58:24 +01:00
Peter Ljunglöf 21140fc0c0 remove case expressions (no particular reason) 2019-03-08 17:57:02 +01:00
Peter Ljunglöf 3328279120 corrected json printing
some object labels must be preceded by ".", to not be in conflict with GF records (which are stored as json objects)
plus some minor bugfixes and cleaning
2019-03-08 17:35:35 +01:00
Peter Ljunglöf 8cf4446e8c Remove "canonical_yaml" from the option descriptions 2019-03-08 17:21:23 +01:00
Thomas Hallgren 5b401f3880 Expose GF.Grammar.Canonical + some refactoring
to make it available in other tools by depending on the gf package and
importing it
2019-03-07 17:41:16 +01:00
Thomas Hallgren b783299b73 Rename module GF.Compile.ConcreteToCanonical to GF.Compile.GrammarToCanonical 2019-03-07 14:47:37 +01:00
Thomas Hallgren 0970d678cf haskell-bind/utils.c: add missing return
Found via C compiler warning
2019-03-07 14:11:29 +01:00
Thomas Hallgren bf17fa0bb2 Bump version number to 3.10.3-git
This is not an announced realase, but this is version now installed on our
server.
2019-03-05 20:18:30 +01:00
Thomas Hallgren 0b3c278f49 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2019-03-05 19:23:54 +01:00
Thomas Hallgren c710bf0e84 Update .deb packages to verion 3.10-2 on the download page
New .deb packages have been generated since it turned out that the
RGL was missing in original .deb packages.
2019-03-05 19:18:45 +01:00
Thomas Hallgren eb46577f58 debian/rules bug fix: the RGL was not included in .deb packages
The problem was that the RGL was both built and copied to the destdir
during the build step, which caused it to be deleted before the install
step. It is now copied to destdir during the install step.
2019-03-05 16:19:46 +01:00
krangelov 52f2739da1 strip empty phrases in bracketedLinearize 2019-02-27 08:27:50 +01:00
krangelov fc37bc26cd fixed typo on c-bracketedLinearize 2019-02-26 21:10:06 +01:00
krangelov bde1a6d586 fix the dependency to json 2019-02-26 19:32:08 +01:00
krangelov 25dc934871 replace aeson with json 2019-02-26 19:27:36 +01:00
krangelov 2fdfef13d8 added command c-bracketedLinearize 2019-02-26 15:16:36 +01:00
Thomas Hallgren a928e4657e Need aeson>=1.3
Also remove ununsed GF.Compile.PGFtoAbstract
2019-02-21 14:43:53 +01:00
Thomas H b6fd9a7744 Merge pull request #34 from heatherleaf/master
Encode/decode of canonical grammars to/from JSON/YAML
2019-02-21 14:26:11 +01:00
krangelov 64a2483b12 added Data.Data.Data instance for Expr 2019-02-20 13:00:51 +01:00
krangelov 1d1e65185a fixes in the headers for use with Microsoft Visual C++ 2019-02-18 11:39:21 +01:00
krangelov c32cd7133f fixes in the headers for compilation on Windows 2019-02-18 11:23:01 +01:00
krangelov 409731413e disable the parser debugger which was left enabled by accident 2019-02-14 15:33:21 +01:00
krangelov 8a5e7fa25d fix the reader for patterns in a def rule 2019-02-14 15:32:12 +01:00
krangelov e05c79a751 different definition for GF_ARRAY_LEN 2019-02-14 15:31:36 +01:00
krangelov ef21d08225 bugfix in computing record lengths 2019-02-14 15:29:33 +01:00
Peter Ljunglöf f8346c4557 added helper info about canonical grammar output 2019-02-08 09:22:08 +01:00
Peter Ljunglöf 47ac01e4b9 enable export of canonical grammars to JSON and YAML 2019-02-08 09:10:48 +01:00
Peter Ljunglöf a0c1da2548 encoding/decoding canonical GF grammars to/from JSON and YAML 2019-02-08 09:10:04 +01:00
Thomas Hallgren 951b884118 Export of concrete syntax to Haskell now goes via Canonical GF
TODO: better treatment of Predef functions and record subtyping coercions
2019-01-23 02:47:10 +01:00
Thomas Hallgren fc5c2b5a22 PGF.Haskell.fromStr: fix double spaces caused by empty tokens 2019-01-23 02:45:23 +01:00
Thomas Hallgren e4abff7725 More work on the canonica_gf export
+ Abstract syntax now is converted directly from the Grammar and not via PGF,
  so you can use `gf -batch -no-pmcfg -f canonical_gf ...`, to export to
  canonical_gf while skipping PMCFG and PGF file generation completely.
+ Flags that are normally copied to PGF files are now included in the
  caninical_gf output as well (in particular the startcat flag).
2019-01-22 17:16:32 +01:00
Thomas Hallgren a40130ddc4 gfse: prevent scrolling during drag-and-drop on iOS
Applies to webkit-based browsers on other touch-based platforms too
2019-01-21 21:18:01 +01:00
Thomas Hallgren 71307d6518 Two fixes in GF.Grammar.Canonical
+ Hide Prelude.<> to avoid ambiguity with ghc-8.6
+ Vertical alternative in the pretty printer for table types A => B
2019-01-18 14:44:45 +01:00
Thomas Hallgren fc1b51aa95 Adding -output-format canonical_gf
This output format converts a GF grammar to a "canonical" GF grammar. A
canonical GF grammar consists of

 - one self-contained module for the abstract syntax
 - one self-contained module per concrete syntax

The concrete syntax modules contain param, lincat and lin definitions,
everything else has been eliminated by the partial evaluator, including
references to resource library modules and functors. Record types
and tables are retained.

The -output-format canonical_gf option writes canonical GF grammars to a
subdirectory "canonical/". The canonical GF grammars are written as
normal GF ".gf" source files, which can be compiled with GF in the normal way.

The translation to canonical form goes via an AST for canonical GF grammars,
defined in GF.Grammar.Canonical. This is a simple, self-contained format that
doesn't cover everyting in GF (e.g. omitting dependent types and HOAS), but it
is complete enough to translate the Foods and Phrasebook grammars found in
gf-contrib. The AST is based on the GF grammar "GFCanonical" presented here:

  https://github.com/GrammaticalFramework/gf-core/issues/30#issuecomment-453556553

The translation of concrete syntax to canonical form is based on the
previously existing translation of concrete syntax to Haskell, implemented
in module GF.Compile.ConcreteToHaskell. This module could now be reimplemented
and simplified significantly by going via the canonical format. Perhaps exports
to other output formats could benefit by going via the canonical format too.

There is also the possibility of completing the GFCanonical grammar
mentioned above and using GF itself to convert canonical GF grammars to
other formats...
2019-01-17 21:04:08 +01:00
Thomas Hallgren 5fe963dd02 Fix compilation with ghc-7.10
NoMonadFailDesugaring is not supported by ghc-7.10, but it is only needed
with ghc>=8.6
2019-01-16 14:42:34 +01:00
John J. Camilleri f32d222e71 Update links to Haskell docs on homepage 2019-01-10 08:58:34 +01:00
Prasanth Kolachina a131b244df Merge pull request #25 from pkolachi/master
add CoNLLU as output format for gf2ud: merging issue (#24)
2019-01-07 13:26:44 +01:00
Prasanth Kolachina 0accd97691 add CoNLLU as output format for gf2ud: merging issue (#24) 2019-01-07 13:24:49 +01:00
Prasanth Kolachina f8bd35543c Merge pull request #24 from odanoburu/gf2ud-comments
(gf2ud) add comments to CoNLL-U output
2019-01-07 13:18:45 +01:00
John J. Camilleri a7b10ea936 Change refs from RGL's Make.* to Setup.* in dev guide 2018-12-22 13:59:32 +01:00
Krasimir Angelov 7c97e5566d fix after the change in bracketed string 2018-12-20 12:40:46 +01:00
Krasimir Angelov 7288425daf Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2018-12-20 10:55:56 +01:00
Krasimir Angelov 260c0d07e0 revert to printing the unique id in ppBracketedString 2018-12-20 10:54:04 +01:00
Krasimir Angelov 26dabeab9b save the original concrete category in BracketedString 2018-12-20 10:52:45 +01:00
odanoburu f7c2fb8a7d (gf2ud) add comments to CoNLL-U output
when debbuging labels, I find it useful to have comments saying what's
the original sentence (lazy, I know) and the original tree (depending
on the treebank, the trees can be similar).

I know this is not the goal exactly, but UDv2 treebanks
(http://universaldependencies.org/format.html) should always have a
'text =' comment, and a 'sent_id =' comment (which would be easy to
implement too, but not that useful).
2018-12-19 12:13:31 -02:00
John J. Camilleri 4bda53acb7 Update PGF API link to point to 3.9, as 3.10 has no docs on Hackage 2018-12-18 22:14:32 +01:00
Aarne Ranta 54204d2d95 added the possibility to annotate features of syncat words, e.g. @"is" PresSg3 2018-12-18 18:44:02 +01:00
Aarne Ranta 9834b89a30 refactored cnc configfile parsing a bit 2018-12-18 18:30:40 +01:00
Aarne Ranta b3a2b53df2 Merge pull request #22 from pkolachi/master
fix conll output in gf2ud and allow comments in dependency configs
2018-12-18 19:06:25 +02:00
Aarne Ranta 77c0a8e100 Merge branch 'master' into master 2018-12-18 19:05:42 +02:00
Prasanth Kolachina 86233e9c28 morph. feat generation by AR 2018-12-18 16:53:35 +01:00
Aarne Ranta 40e7544a2b added morphological tags to UD tree output. Tags are give in CncConfiguration, e.g. @N Sg Pl. Default tag is Cat-offset, as defined for each Cat in pgf 2018-12-18 15:59:48 +01:00
Prasanth Kolachina 61c1510620 allow comments in dependency configs and fix conll output 2018-12-17 12:02:13 +01:00
krangelov eb22112178 a pool where the smallest chunks are memory pages 2018-12-16 07:46:14 +01:00
John J. Camilleri 083aa96e57 TOC for Markdown should now work for both Pandoc < 2.0 and >= 2.0
The use of $toc$ and $table-of-contents$ flags changed, see:
https://pandoc.org/releases.html#pandoc-2.0-29-oct-2017
under "Behaviour changes"
2018-12-10 14:25:44 +01:00
John J. Camilleri d82a53ebc6 Replace gf-refman.html with Markdown version gf-refman.md
The raw HTML was invalid, and this way we use the common website template
for a uniform look without any duplication.

It seems gf-refman.html was once generated from txt2tags, although I have
been unable to find this original .t2t file.
I also tried to re-generate txt2tags from HTML but was not able to.
However I was able to convert HTML to Markdown using Pandoc and I think
the result is pretty good, so I think we should use this.

The original gf-refman.html can be obtained from git history, e.g.:
https://github.com/GrammaticalFramework/gf-core/blob/a7e43d872f5e612f93131f2d8caf811fbee9aa83/doc/gf-refman.html
2018-12-09 20:38:02 +01:00
John J. Camilleri 5006b520d1 Area under footer is all gray even on short pages 2018-12-08 14:29:43 +01:00
John J. Camilleri f78dfe80a2 Update doc/index page 2018-12-08 14:29:02 +01:00
John J. Camilleri 44ac326da0 Regnerate HTML if template changes 2018-12-08 13:57:04 +01:00
John J. Camilleri a8b23d52a8 Fix some invalid HTML. 2018-12-08 13:47:27 +01:00
John J. Camilleri d880a61857 Add some documentation to update_html 2018-12-06 13:47:50 +01:00
John J. Camilleri 7bd086ba19 Case-insensitve sed replacements handled the dumb way
Because BSD sed != GNU sed
2018-12-06 10:18:31 +01:00
John J. Camilleri ff0fe0a6c5 Add reference to DG in homepage footer. Spacing in top links. 2018-12-06 09:30:49 +01:00
John J. Camilleri ef4df27d1b Add link to open #gf in web chat 2018-12-06 09:13:52 +01:00
John J. Camilleri e9e2bd6b89 Fix linking to chapters in gf-tutorial; Remove reference to Htmls. 2018-12-06 09:00:44 +01:00
John J. Camilleri 72a9eb0c8a Another fake change to trigger rebuild of gf-tutorial 2018-12-05 18:14:17 +01:00
John J. Camilleri b73f033b08 Rewrite <a name=...> to <div id=...> to preserve page anchors in Pandoc 2018-12-05 16:11:33 +01:00
John J. Camilleri b974c09951 Update runtime-api.html to match the new visual look of the GF website 2018-12-05 15:48:07 +01:00
John J. Camilleri 159b6ee331 Fake change to trigger rebuild of gf-tutorial 2018-12-05 11:41:41 +01:00
John J. Camilleri 3dec78c21c Clarifications on download page: binary packages include RGL 2018-12-05 08:30:25 +01:00
John J. Camilleri 6ad9bf3dbf Add Stack files for different GHC versions 2018-12-04 10:32:26 +01:00
John J. Camilleri ee5ac81dfc Make GF compile with GHC 8.6.2
- Re-implement `Distribution.Simple.BuildPaths.exeExtension`
- Turn off `MonadFailDesugaring`

Tested with GHC:

- 7.10.3
- 8.0.2
- 8.2.2
- 8.4.3
- 8.6.2

Yay Stack!
2018-12-04 10:31:53 +01:00
Thomas Hallgren 1a842efeaf downloads: add .deb package for Ubuntu (32-bit) 2018-12-03 16:10:01 +01:00
Thomas Hallgren de005b9df3 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2018-12-03 15:53:36 +01:00
Thomas Hallgren 52bc0f566e debian/control: new dependency: pandoc
This should have been added before the 3.10 release
2018-12-03 15:52:52 +01:00
John J. Camilleri b509d08cbf Add Travis build images to release notes 2018-12-03 15:47:45 +01:00
John J. Camilleri fd0ee2756a Indent nested lists in Markdown by 4 spaces instead of 2 2018-12-03 15:44:44 +01:00
John J. Camilleri 34e89ac710 Put GF logo on the right again 2018-12-03 15:27:55 +01:00
John J. Camilleri 331d73b566 Update release notes RGL section (not much) 2018-12-03 15:25:05 +01:00
John J. Camilleri 8d460ac402 Update 3.10 release notes after going through all gf-core commits since 2017-08-11 2018-12-03 15:04:21 +01:00
John J. Camilleri 5546c6d6da Update clean_html to handle markdown sources too 2018-12-03 10:49:37 +01:00
John J. Camilleri c380288db8 Put floating logo on left 2018-12-03 10:49:15 +01:00
Thomas Hallgren bd7bb9b34a Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2018-12-03 01:34:49 +01:00
Thomas Hallgren 18251e57a3 debian/changelog: updated release date 2018-12-03 01:33:52 +01:00
Thomas Hallgren d06539c35c Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2018-12-02 21:21:18 +01:00
Thomas Hallgren 60738dda6d gf.cabal: update tested-with 2018-12-02 21:20:54 +01:00
John J. Camilleri e628e3fe0f Add news item for 3.10 release 2018-12-02 21:18:38 +01:00
Thomas Hallgren 769743c5c0 Minor fixes on the GF 3.10 download page 2018-12-02 15:29:55 +01:00
Thomas Hallgren 1c75d417ee Move 3.10 download page into place, update release date 2018-12-02 15:08:40 +01:00
John J. Camilleri 5c518de0f2 Updates to download page for 3.10 2018-12-01 19:52:33 +01:00
Thomas Hallgren e6c2c844e9 GF.Main: leave the code page unchanged on Windows
This should make it easier to use GF with UTF-8 in the Windows Console
See https://groups.google.com/forum/#!topic/gf-dev/DCou6FDhCnU
2018-12-01 15:53:58 +01:00
Thomas Hallgren 883a7a95a1 build-binary-dist.sh: make it easy to choose which version of ghc to use 2018-12-01 15:53:27 +01:00
Aarne Ranta 831252eb81 dealing with ',' as syncategorematic token 2018-12-01 09:32:22 +01:00
Krasimir Angelov fdc5659f80 Merge pull request #19 from MUSTE-Project/master
Fix deprecations from containers >= 0.4.0.0
2018-11-30 12:18:24 +01:00
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 f898c250ba removed instructions which doesn't actually work 2018-11-30 11:05:59 +01:00
Thomas Hallgren 5ef390f188 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2018-11-30 00:47:10 +01:00
Thomas Hallgren fa5c6a2949 Fix spelling mistake on GF 3.9 download page 2018-11-30 00:46:24 +01:00
Thomas Hallgren d0bc368358 Update make deb for the GF 3.10 release
This includes adding commands in debian/rules to build and include
the RGL and the example grammars in the debian package.
2018-11-30 00:17:45 +01:00
Thomas Hallgren e0dca729d6 WebSetup.hs: don't output messages that lie about what's being installed 2018-11-30 00:15:37 +01:00
Thomas Hallgren 47c983c625 gf.cabal: remove redundant dependency on old-locale 2018-11-29 23:06:30 +01:00
John J. Camilleri 01f61c526f Custom CSS comes after libraries; add include-before/after (not actively used) 2018-11-29 13:06:52 +01:00
John J. Camilleri 538fe5bddb Don't wrap dates on hompage 2018-11-29 13:00:26 +01:00
John J. Camilleri f4052c8a5e Add basic favicon.ico 2018-11-29 10:46:33 +01:00
John J. Camilleri e0a3b0030e Remove some t2t frontmatter from shell-reference, to trigger update 2018-11-29 10:45:54 +01:00
John J. Camilleri b30456aa0c Rename _template.html to template.html 2018-11-29 10:35:43 +01:00
John J. Camilleri 61c58316ea Remove overflow-x:scroll from title 2018-11-29 10:16:32 +01:00
John J. Camilleri 001d036a2c Remove t2t frontmatter from gf-editor-modes
Trying to force a rebuild
2018-11-29 09:55:28 +01:00
John J. Camilleri fe7d01f7e3 Minors in footer 2018-11-28 22:34:04 +01:00
John J. Camilleri a7e43d872f Merge branch 'new-website' 2018-11-28 22:22:41 +01:00
John J. Camilleri d6fc50b40b Hide release announcement from homepage news 2018-11-28 22:21:56 +01:00
John J. Camilleri 9e02319b6d Better responsiveness, homepage and footer 2018-11-28 22:14:58 +01:00
John J. Camilleri 6278deb7a2 Page uses available width better, no jumping margins 2018-11-28 21:51:16 +01:00
Aarne Ranta c6ec8cf302 fixed a bug in the cnclabel format 2018-11-28 19:56:47 +01:00
John J. Camilleri 07768ba4c4 Revert "Completely remove uses of example-based"
This reverts commit 69cea20dac.
2018-11-28 19:23:05 +01:00
John J. Camilleri e2401f32ca Revert "remove the example-based folder. The code is still in the archive"
This reverts commit 05c2cfb628.
2018-11-28 19:22:19 +01:00
John J. Camilleri 69cea20dac Completely remove uses of example-based 2018-11-28 18:09:56 +01:00
Thomas Hallgren 32ce03dc94 bin/build-binary-dist.sh: include the RGL in binary distributions
TODO: the corresponding changes in debian/rules
2018-11-28 17:27:29 +01:00
John J. Camilleri 83abaa9b44 Put 3.9 page instead of 3.10 until release is final 2018-11-28 15:52:20 +01:00
John J. Camilleri c7a14537c1 Update top links and footer during hackathon 2018-11-28 15:42:11 +01:00
Krasimir Angelov 8560b4fb65 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2018-11-28 15:33:24 +01:00
Krasimir Angelov b0c3aef6ec add a few missing special tokens to the reference 2018-11-28 15:32:43 +01:00
John J. Camilleri 6352799ccb Merge branch 'master' into new-website
# Conflicts:
#	index.html
2018-11-28 14:47:20 +01:00
John J. Camilleri a45c735545 Update LICENSE 2018-11-28 14:40:36 +01:00
Krasimir Angelov 05c2cfb628 remove the example-based folder. The code is still in the archive 2018-11-28 14:34:15 +01:00
Krasimir Angelov 69ad1e617e Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2018-11-28 14:25:53 +01:00
Krasimir Angelov eb2774af2b remove two obsolete options 2018-11-28 14:25:29 +01:00
John J. Camilleri 9b28d21b0a Remove Htmls.hs 2018-11-28 13:48:40 +01:00
John J. Camilleri 507236fdcd remove gf-server.cabal 2018-11-28 13:40:16 +01:00
John J. Camilleri 397f18a298 remove custom-binary flag; update Cabal version restriction; bump version to 3.10 2018-11-28 13:36:11 +01:00
John J. Camilleri b1611eccd8 Make refman look up-to-date ish 2018-11-27 23:27:16 +01:00
John J. Camilleri c8eb1010c5 Remove faq. Update people page. Add SS to news. 2018-11-27 23:12:21 +01:00
John J. Camilleri 14d35c8a31 Various fixes & cleanup in doc/ folder 2018-11-27 22:51:44 +01:00
John J. Camilleri 9bf5c98509 Work on new download page. Change 18-12 to 4.0.0 2018-11-27 22:36:57 +01:00
John J. Camilleri 8821f8baa8 Check all historic download and release pages 2018-11-27 22:14:01 +01:00
John J. Camilleri 8a45d23d63 Minors to homepage 2018-11-27 21:58:19 +01:00
Krasimir Angelov abf3911b70 expose PGF and Concr for FFI 2018-11-27 21:09:35 +01:00
John J. Camilleri 735f5ff76f Remove src/ui folder, moved to:
https://github.com/GrammaticalFramework/gf-offline-translator
2018-11-15 10:33:31 +01:00
John J. Camilleri cb0e919bf5 Link to new synopsis page 2018-11-13 21:22:54 +01:00
John J. Camilleri d1a435ad9d Remove unnecessary CSS from template 2018-11-09 09:08:59 +01:00
John J. Camilleri 69ba677136 Add 3 top buttons, responsive columns 2018-11-09 08:40:06 +01:00
John J. Camilleri 406eec6690 GF logo links to home; remove "other demos" 2018-11-08 22:52:08 +01:00
John J. Camilleri 2f1ee094d2 Add download/index.md as demo of working Markdown rendering to HTML
Archive 3.9 pages and mark current ones for 18-12
2018-11-08 22:46:30 +01:00
John J. Camilleri 422248f11f Move unused pgf-binary into its own repository, at:
https://github.com/GrammaticalFramework/pgf-binary
2018-11-07 10:07:20 +01:00
John J. Camilleri d46682bc29 Clean up stack file
Removed alex/happy as build-deps, if needed they can be installed with
`stack install alex happy`
2018-11-07 09:57:45 +01:00
Thomas Hallgren 8596fc5d26 Revert CSS change that produces overlapping text instead of responsive layout 2018-11-06 23:49:06 +01:00
John J. Camilleri 4958aab518 Add happy and alex as deps in Stack file 2018-11-05 09:59:06 +01:00
John J. Camilleri 390a6a04a1 New update_html runx txt2tags followed by pandoc
TODO: handle txt2tags macros in date, e.g.
`%%mtime(%F)` in download/encoding-change.t2t
2018-11-04 21:17:20 +01:00
John J. Camilleri 37e0754cf0 Fix encoding on tutorial 2018-11-04 21:12:32 +01:00
John J. Camilleri a7b2f77227 Cleanup links in homepage and footer 2018-11-04 21:12:10 +01:00
John J. Camilleri 9a7862ea9e Links in footer 2018-11-04 19:58:18 +01:00
John J. Camilleri 914d54255f Comments in update_html script 2018-11-04 19:29:56 +01:00
John J. Camilleri aea8548930 update_html also takes individual arguments 2018-11-04 19:27:14 +01:00
John J. Camilleri 99dad48961 Use Pandoc instead of txt2tags binary, much more configurable 2018-11-04 15:11:35 +01:00
John J. Camilleri 0b4d9cbea1 Add note about using Stack in download/index 2018-11-03 14:34:26 +01:00
John J. Camilleri 1010b9e49a Add stack file, using image for GHC 8.2.2 2018-11-03 14:28:31 +01:00
John J. Camilleri f7dc9a6eaf Merge branch 'master' into new-website 2018-11-02 14:07:00 +01:00
John J. Camilleri 777028dcd8 Remove doc/tutorial/gf-tutorial.html from version control
Checked that the t2t is still valid and html should be automatically
generated. Although there is some encoding issue with this file?
2018-10-31 15:57:21 +01:00
John J. Camilleri 7867c8c828 pre and post HTML templates for all txt2tags conversions
Remaining: cleaning of t2t files (remove unnecessary options)
2018-10-31 15:47:12 +01:00
John J. Camilleri 632cd1e522 Refresh home page using basic Bootstrap 2018-10-31 14:13:05 +01:00
John J. Camilleri 4387b1bea0 Add more phony's to Makefile 2018-10-31 13:14:06 +01:00
Inari Listenmaa 0a62c13fd1 Merge pull request #10 from inariksit/master
Add {-# LANGUAGE GADTs -#} to the generated Haskell file
2018-10-19 16:23:16 +02:00
Inari Listenmaa 8c382b3cb1 Add {-# LANGUAGE GADTs -#} to the generated Haskell file 2018-10-19 15:20:05 +02:00
Thomas Hallgren effa818408 gf -cshell bug fix
The functions cExpr and hsExpr in GF.Command.Commands2 need to
handle string literals.
2018-10-16 16:23:54 +02:00
John J. Camilleri 8df3b458d4 cabal sdist doesn't throw an error anymore
This was making it impossible to install gf as external source in cabal sandbox
2018-10-15 21:05:55 +02:00
Krasimir Angelov a0afbfbad3 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core 2018-10-15 12:04:36 +02:00
Krasimir Angelov 8a9430f63a hide the compatibility API 2018-10-15 12:04:03 +02:00
Thomas Hallgren 6b1e21508e Comment out links to some old demos that no longer work 2018-10-10 14:22:24 +02:00
Aarne Ranta 8787b56def option rf -paragraphs 2018-09-21 10:40:39 +02:00
John J. Camilleri 50e1e7b17e Merge pull request #7 from odanoburu/travis-ci
add travis ci
2018-08-13 08:46:09 +02:00
John J. Camilleri f1803a2f16 Small fixes to gf-developers document 2018-08-12 21:30:11 +02:00
odanoburu 64ccc424cf (#5) rm files from nix build 2018-08-11 22:44:45 -03:00
odanoburu dce81dc0ec (#5) reintroduce make install 2018-08-11 22:16:28 -03:00
odanoburu 29acef41fc (#5) specify image version 2018-08-11 22:11:27 -03:00
odanoburu 4038546321 (#5) no need for make install 2018-08-11 22:07:53 -03:00
odanoburu df31ab241b (#5) add travis CI with docker
dependencies are preinstalled in docker image for faster build, but this means we need to update it whenever dependencies change
2018-08-11 22:02:08 -03:00
John J. Camilleri 35304c8577 Remove Travis build status from homepage 2018-08-08 22:33:20 +02:00
John J. Camilleri 3b7aaaf9f4 Add news item to homepage about repo split 2018-08-08 09:08:50 +02:00
Thomas H e89e5f13bf Merge pull request #3 from MUSTE-Project/master
A version of `readPGF` where the user can handle reading files
2018-08-06 16:31:55 +02:00
Frederik Hanghøj Iversen 6b2c2256d1 A version of readPGF where the user handles the IO. 2018-08-06 16:05:12 +02:00
Thomas Hallgren d9f0dfd400 gf.cabal: expose GF.Text.Lexing, needed by gf-server.cabal 2018-07-31 15:02:59 +02:00
Thomas Hallgren 4fd1ec71c9 gf-server.cabal: relax network version bounds and make building the library and pgf-service executable optional
This allows you to build the content-service without installing the problematic fastcgi library.
2018-07-31 14:29:18 +02:00
John J. Camilleri dfb3914881 Update README 2018-07-26 21:42:06 +02:00
John J. Camilleri 636a8142b4 Minimal update with new repo URLs & build instructions 2018-07-26 01:37:03 +02:00
John J. Camilleri 59e66adb35 Fixes for buildWeb 2018-07-26 00:51:13 +02:00
John J. Camilleri e1dd7bfdf5 [GF Split] Post-split updates 2018-07-25 19:55:11 +02:00
John J. Camilleri 895b479564 Merge pull request #8 from legalese/GF_LIB_PATH
GF_LIB_PATH can now be path1:path2:path3, not just 1path
2018-07-22 14:48:44 +02:00
Meng Weng Wong 7f86bee8e7 explain that GF_LIB_PATH can now be a colon-separated list 2018-07-22 00:14:29 -07:00
meng wong 8a14912ee3 GF_LIB_PATH can now be path1:path2:path3, not just path1
Traditionally, GF_LIB_PATH points to something like
`.../share/ghc-8.0.2-x86_64/gf-3.9/lib`

and if you want prelude and alltenses and present, you add a
`--# -path=.:present`
compiler pragma to the top of your .gf file

But if you are developing some kind of application grammar
library or contrib of your own, you might find yourself
repeating your library path at the top of all your .gf files.

After painstakingly maintaining the same library path at the
top of all your .gf files, you might say, let's factor this
out into GF_LIB_PATH.

Then you might then find to your surprise that GF_LIB_PATH
doesn't accept the usual colon:separated:path notation
familiar from, say, unix PATH and MANPATH.

This patch allows you to define
`GF_LIB_PATH=gf-3.9.lib:$HOME/gf-contrib/whatever/lib`
in a more natural way.

If you are an RGL hacker and have your own version of the
RGL tree sitting somewhere, you should be able to have both
paths in the GF_LIB_PATH, for added convenience. This minor
convenience will probably lead to obscure bugs and great
frustration when you find that your changes are mysteriously
not being picked up by GF; so keep this in mind and use it
cautiously.

This caution should probably sit in the documentation
somewhere. A subsequent commit will do that.

If you use zsh, you can do this to quickly build up a big
GF_LIB_PATH:

% gf_lib_path=( $HOME/src/GF/lib/src/{api,abstract,common,english,api/libraryBrowser,prelude,..} )

% typeset -xT GF_LIB_PATH gf_lib_path
2018-07-22 00:04:07 -07:00
John J. Camilleri cd1942a845 WebSetup: fail silently when example grammars don't build
Also used installed RGL not built
2018-07-19 12:36:39 +02:00
John J. Camilleri 6a8d0038ed Merge pull request #46 from odanoburu/construct
(Eng) use Extend instead of Extra in Construction
2018-07-17 16:32:36 +02:00
John J. Camilleri f9331526d1 More cleanup in Setup and WebSetup 2018-07-05 15:22:05 +02:00
John J. Camilleri 8b5532c1e9 Relax dependency on directory package for Setup
Since `listDirectory` is no longer used (852a49920)
2018-07-05 14:21:05 +02:00
Krasimir Angelov 73cf58da23 revert to a version compatible with Cabal 1.22 2018-07-05 13:10:02 +02:00
Krasimir Angelov e95aa16fdc Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2018-07-05 13:01:46 +02:00
John J. Camilleri 0ef7fb8b0f Cleanup in Setup.hs; include custom-setup:setup-depends in cabal file. 2018-07-05 12:23:02 +02:00
John J. Camilleri 992af4ab97 Clean up imports in Setup.hs
Really just for my own understanding
2018-07-05 10:32:40 +02:00
Krasimir Angelov ce83d8490b Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2018-07-05 09:13:04 +02:00
John J. Camilleri af82dc9fc6 Fix make sdist to use git archive instead of darcs dist 2018-07-04 14:28:25 +02:00
John J. Camilleri a6b1db71cd Remove more remnants from the darcs days 2018-07-04 14:21:44 +02:00
John J. Camilleri 40cc58d6c1 Replace Distribution.Simple.Utils.noticeNoWrap with putStr
Effect is the same and I don't want to upset the package dependencies
2018-07-04 14:00:56 +02:00
John J. Camilleri b9b0217160 Remove code which tries to get version information from darcs folder 2018-07-04 13:40:46 +02:00
Krasimir Angelov f64b17eef7 Merge branch 'master' of https://github.com/GrammaticalFramework/GF
Conflicts:
	examples/phrasebook/SentencesBul.gf
	examples/phrasebook/WordsBul.gf
2018-07-04 13:09:39 +02:00
Krasimir Angelov 7bfd6199d6 a majour refactoring to support clitic pronouns 2018-07-04 13:01:06 +02:00
John J. Camilleri c6f4edaea5 Remove examples directory; these now live in gf-contrib
All changes have been reflected in the gf-contrib repository:
https://github.com/GrammaticalFramework/gf-contrib

Now, for WebSetup to build the example grammars, one must have gf-contrib
cloned in the same top-level directory as GF. When this isn't the case,
WebSetup displays a notice without failing.
2018-07-04 10:09:58 +02:00
Krasimir Angelov 00476ae386 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2018-06-27 20:52:59 +02:00
Thomas Hallgren 23961ef0b3 GF.Server: add 'import Control.Applicative' for compatibilit with GHC<7.10
One could also add stricter version constraints in gf.cabal, e.g.
base>=4.8 (implies GHC>=7.10) if we want to only support building with
GHC>=7.10.
2018-06-27 17:40:35 +02:00
Krasimir Angelov 97da247d21 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2018-06-27 11:54:24 +02:00
Krasimir Angelov 6c4c22ff7a undo the partial fix for word completion since it breaks normal parsing 2018-06-27 11:53:40 +02:00
Krasimir Angelov 5afaa39c19 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2018-06-23 22:47:32 +02:00
Inari Listenmaa 73cc57c7e0 Merge pull request #64 from odanoburu/por
(Por) add more preposition cases and CountNP
2018-06-21 14:16:58 +02:00
Krasimir Angelov 68db7695f5 a simple fix for the linearizer 2018-06-20 22:21:10 +02:00
Krasimir Angelov b86373438b Revert "when linearizing missing functions with brackets, the name of the function should still be reported"
This reverts commit 18204bdd25bd460904ac475f3ea340daa96589df.
2018-06-20 21:16:19 +02:00
Krasimir Angelov 4cdd4dd8a7 Revert "forgot to switch off the debugger"
This reverts commit 5919dfa3366dfd2f2af8c3ce7749d066a2033f0d.
2018-06-20 21:13:58 +02:00
odanoburu f067267953 Merge remote-tracking branch 'upstream/master' into por 2018-06-20 12:33:05 -03:00
Krasimir Angelov 427f8d8478 forgot to switch off the debugger 2018-06-20 16:36:45 +02:00
Krasimir Angelov aaefe4310d when linearizing missing functions with brackets, the name of the function should still be reported 2018-06-20 16:35:28 +02:00
Krasimir Angelov 65cfdf1775 added bracketedLinearizeAll 2018-06-20 13:51:41 +02:00
Krasimir Angelov d8eac259e4 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2018-06-20 13:06:15 +02:00
Krasimir Angelov 09d576f5b4 bracketedLinearize in Haskell now emits the BIND constructor like in Java 2018-06-20 13:05:15 +02:00
John J. Camilleri 485938103c Remove wide coverage translator
It had now been migrated to a new repository:
https://github.com/GrammaticalFramework/wide-coverage
2018-06-20 10:06:22 +02:00
John J. Camilleri 6ce57c0505 Homepage minors
- add Travis build status icon
- make Github link point to org rather than repo
2018-06-20 09:55:53 +02:00
Krasimir Angelov 96f3484622 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2018-06-16 07:09:17 +02:00
Inari Listenmaa 9d2b92dbc1 Split gftest to a new repo 2018-06-15 14:31:21 +02:00
Inari Listenmaa 2d9240e036 Merge pull request #62 from inariksit/dutch
Small fixes in Dutch
2018-06-15 14:05:06 +02:00
Inari Listenmaa 92d9e20f19 (Dut) Extend vs. Extra 2018-06-15 13:14:53 +02:00
John J. Camilleri 71c7fbc7f9 Remove oldstyle.css 2018-06-14 10:11:11 +02:00
John J. Camilleri f0c5d53e78 Remove editor mode files from Haskell package (in gf.cabal) 2018-06-13 10:18:25 +02:00
John J. Camilleri 4ca52bf763 Add TypeScript type definitions for gflib.js 2018-06-13 09:52:20 +02:00
John J. Camilleri 22b754d23b Clean up old download pages 2018-06-13 08:47:33 +02:00
Aarne Ranta 013f3573e6 added transliteration arabic_unvocalized, which omits the vowels 2018-06-12 20:39:39 +02:00
John J. Camilleri 5aa2a212bb Remove HTML files from VC which should be generated from txt2tags
If these pages disappear from the web via www.grammaticalframework.org
then this commit may need to be reversed
2018-06-12 15:53:58 +02:00
John J. Camilleri 27b49e0a8b Remove /framenet redirect for the sake of cleaning things up 2018-06-12 15:43:28 +02:00
John J. Camilleri d0ce46722b Minor cleanup in webpages 2018-06-12 15:41:05 +02:00
Inari Listenmaa baa74e7b32 Merge pull request #59 from inariksit/gftest
(gftest) Fixes/additions when comparing against older version
2018-06-12 14:53:06 +02:00
Inari Listenmaa df6c9e047e (gftest) Compare also functions of arity 0 + custom startcat for comparison 2018-06-12 14:35:03 +02:00
John J. Camilleri e969948a47 Remove .authorspellings (it was a darcs relic and now useless) 2018-06-11 22:10:32 +02:00
John J. Camilleri ffb74b2f3d Merge branch 'master' of github.com:GrammaticalFramework/GF 2018-06-09 20:44:24 +02:00
odanoburu 8b05ed9469 Merge remote-tracking branch 'upstream/master' into por 2018-06-06 09:51:42 -03:00
Inari Listenmaa 54be69f2b8 Merge pull request #55 from inariksit/dutch
Dutch smart paradigms + remove commented out code
2018-06-05 11:50:24 +02:00
Inari Listenmaa cc0d4426a2 Merge pull request #54 from odanoburu/master
* update GF mode
2018-06-05 11:38:16 +02:00
odanoburu 9a17ca21b5 * update GF mode
- moved to new repo at
  https://github.com/GrammaticalFramework/gf-emacs-mode
- main changes:
  - use utf-8 encoding for inferior gf process
  - add display of operation types
- update links
2018-06-04 09:16:02 -03:00
Krasimir Angelov 10e10298d9 implemented compound nounds which work like adverbs 2018-05-30 23:04:40 +02:00
odanoburu 92d476f43b Merge remote-tracking branch 'upstream/master' into por 2018-05-28 16:22:54 -03:00
Krasimir Angelov 44e387ec16 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2018-05-28 10:14:27 +02:00
Krasimir Angelov e862968305 added comment for Windows 2018-05-28 10:14:03 +02:00
Krasimir Angelov 4c5fc9f3a8 some tweaks for Windows 2018-05-28 10:12:27 +02:00
Inari Listenmaa 1e71e18e21 (gftest) Add --show-context + combine -o with -f,-c,-b
Added a few new features:

    -o OldGrammar.pgf: if combined with -f , -c or -b , only test the specified trees+functions.
    --show-context FId: shows contexts for the particular concrete category
    --show-cats interacts with --debug by showing also concrete categories
2018-05-24 23:40:11 +01:00
Inari Listenmaa a2f9d9d8d5 Merge pull request #52 from odanoburu/doc-pre
(refman) update pre syntax
2018-05-24 23:10:17 +01:00
Inari Listenmaa a0849d8a5a (gftest) Add --show-context + combine -o with -f,-c,-b 2018-05-24 22:36:23 +02:00
odanoburu 2ae44902e1 (refman) update pre syntax [ci skip] 2018-05-24 13:50:23 +00:00
Prasanth Kolachina 19c6090e85 Merge pull request #50 from pkolachi/master
function for linearizing variants (bracketedStringAll)
2018-05-24 09:52:48 +02:00
Prasanth Kolachina ef4731e8ba spell error in py.egs.README 2018-05-24 09:47:55 +02:00
Prasanth Kolachina 6faad1b3cf add bracketLinearizeAll for variants 2018-05-24 09:47:27 +02:00
odanoburu d205679dce (Por) merge PRs #45 and #48 and solve conflicts 2018-05-23 19:07:32 -03:00
odanoburu b3c6bfa8d2 Merge branch 'por-extra' into por-merge 2018-05-23 19:03:58 -03:00
odanoburu c8b1cb715e Merge remote-tracking branch 'upstream/master' into por 2018-05-23 11:22:46 -03:00
Inari Listenmaa 10df5a7269 (gftest) Multiple concrete categories for context generation 2018-05-22 11:49:42 +01:00
Inari Listenmaa b635cb3d52 (gftest) Better pruning + add new command line option 2018-05-21 18:41:16 +01:00
Krasimir Angelov 9d39648dfb fixed typo which broke the compilation on Windows 2018-05-21 16:03:30 +02:00
Krasimir Angelov e6ae55641f Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2018-05-21 09:37:33 +02:00
Krasimir Angelov a6779486c5 fix the compilation when the byte order cannot be detected statically 2018-05-21 09:36:39 +02:00
John J. Camilleri 41af91f697 Update info about path to jni.h in Java binding install notes 2018-05-21 09:14:26 +02:00
John J. Camilleri ba4057b214 Missing -I in Java bindings Makefile 2018-05-21 09:10:19 +02:00
Inari Listenmaa 1c7e99cdca Merge pull request #37 from mbrock/master
Fix the Nix build
2018-05-04 17:23:53 +02:00
Mikael Brockman 42bcb50154 Fix the Nix build
We use the Nix "jailbreak" function to ignore the upper bounds
on the CGI package dependency.
2018-05-04 14:08:08 +03:00
John J. Camilleri bb5b21b925 Rename README to README.md 2018-05-03 11:03:56 +02:00
John J. Camilleri 260d5251da Markdownise README and add Travis build icon 2018-05-03 10:49:05 +02:00
John J. Camilleri eabaa54a23 Merge pull request #14 from mbrock/master
Add a Travis configuration for checking that new commits build correctly
2018-05-03 10:41:59 +02:00
Inari Listenmaa fc61f97a7a (PhrasebookEst) Fix nationality adj. for Polish 2018-05-01 10:42:29 +02:00
Inari Listenmaa ece39a8879 Estonian Phrasebook: '<Nationality> restaurant' and 'NN is <Nationality>' use different forms 2018-04-30 16:38:20 +02:00
Inari Listenmaa a0fc1dfddd Merge pull request #34 from odanoburu/refman
remove reference to lexer and unlexer flags from documentation
2018-04-22 09:24:55 +02:00
odanoburu 87ddb34a3d - fix typo
- rm link to Wiki that seems dead
2018-04-21 20:09:48 -03:00
odanoburu 9064c3d7cd rm references of lexer and unlexer flags from reference manual 2018-04-21 20:09:40 -03:00
Inari Listenmaa 295896190d Make documentation about -split-pgf clearer 2018-04-18 20:54:27 +02:00
Thomas Hallgren 6f707461e1 gf.cabal: use -fhide-source-paths
if ghc>=8.2
2018-04-18 19:30:03 +02:00
Thomas Hallgren 820d2d503f Fixes for GHC 8.4.1 compatibility
* In GHC 8.4.1, the operator <> has become a method of the Semigroup class
  and is exported from the Prelude. This is unfortunate, since <> is also
  exported from the standard library module Text.PrettyPrint, so in any
  module that defines a pretty printer, there is likely to be an ambiguity.

  This affects ~18 modules in GF. Solution:

    import Prelude hiding (<>)

  This works also in older versions of GHC, since GHC does't complain if
  you hide something that doesn't exists.

* In GHC 8.4.1, Semigroup has become a superclass of Monoid. This means
  that anywhere you define an instance of the Monoid class you also have to
  define an instance in the Semigroup class.

  This affects Data.Binary.Builder in GF. Solution: conditionally define
  a Semigroup instance if compiling with base>=4.11 (ghc>=8.4.1)
2018-04-18 19:18:10 +02:00
Inari Listenmaa fea68d0a88 Merge pull request #31 from odanoburu/por
update Por
2018-04-16 09:00:00 +02:00
odanoburu 2127e74228 merge and rm conflict 2018-04-14 19:22:50 -03:00
odanoburu 7d89d0b442 Merge remote-tracking branch 'upstream/master' into por 2018-04-14 19:22:01 -03:00
Krasimir Angelov 2036ffe06d bugfix in the Haskell binding 2018-04-12 15:12:36 +02:00
Krasimir Angelov 9a6b3b4a1f Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2018-04-12 14:45:30 +02:00
Krasimir Angelov 2d898e78c0 bugfix in the C parser 2018-04-12 14:45:02 +02:00
Inari Listenmaa 4931acc36d Merge pull request #30 from odanoburu/master
small fixes
2018-04-10 08:37:10 +02:00
odanoburu 2c163bb243 - rm duplicate lines 2018-04-09 12:14:32 -03:00
odanoburu d7154a52f9 - rm trailing spaces 2018-04-09 12:14:02 -03:00
odanoburu 69a1944293 Merge remote-tracking branch 'origin/por' into por 2018-04-09 12:10:33 -03:00
odanoburu 92b15a337e rm duplicate lines 2018-04-09 12:09:45 -03:00
Inari Listenmaa fcdcb23b35 Add more helpful printouts if no grammar provided 2018-04-06 16:55:41 +02:00
Inari Listenmaa b9d0012f6b Add a tool to generate test cases for GF grammars 2018-04-06 16:32:58 +02:00
Inari Listenmaa 99db3945c1 Merge pull request #28 from odanoburu/por
WIP: Portuguese resource grammar
2018-04-03 11:41:28 +02:00
odanoburu b4c64cb81b - add Por to complete languages (although it's not quite there yet)
- update headers
- add Por modules to lib/src/api/
2018-03-29 20:17:39 -03:00
Thomas Hallgren 3d6a5e8864 gfse: show grammar comments in the list of public grammars
gf -server now includes the comment field from the grammar in the
response to /cloud requests with command=ls-t and ext=.json
2018-03-29 18:23:32 +02:00
Thomas Hallgren 750a1349ff gfse: allow public grammars to be deleted in more cases
The editor doesn't show delete buttons on grammars published by other
users, but it was too picky when deciding which grammars you own. Now
it should be possible to delete grammars from the device/browser
you published it from, even if you don't have a private copy of it any more.

On a related note, there seems to be problem with the way unique grammars
names are created and maintained, causing published grammars to be duplicated
in some cases. This needs to be overhauled.
2018-03-29 17:02:22 +02:00
odanoburu a59c0ffeee Merge remote-tracking branch 'upstream/master' into por 2018-03-29 11:49:19 -03:00
Thomas Hallgren 78cf184957 gfse: fix for some browser: hovering over an empty grammar comment to edit it
This was a problem in Safari (an other similar browsers I presume), but
not in Firefox: hovering over the grammar comment (shown below the grammar
name when you edit a grammar) didn't reveal the button to edit it, thus
preventing you from adding a comment. It was till possible by selecting the
"Enable editing on touch devices." at the bottom of the screen, but most
people probably didn't notice that it is possible to add a comment.
2018-03-29 16:17:25 +02:00
Thomas Hallgren a9135c9b7e Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2018-03-29 14:56:07 +02:00
Thomas Hallgren 31ef32a815 gfse: sort list of public grammars by age, by default
There is also a menu so you can choose to sort the list by name or by age
2018-03-29 14:54:42 +02:00
Krasimir Angelov bb4218433f - tweak the tokenizer in pgf_lookup_sentence to threat .!?,: as separate tokens
+ bugfix which causes crashes
2018-02-22 11:35:54 +01:00
Krasimir Angelov a16fe3415a partial fix for word completion in the C runtime 2018-02-04 17:21:15 +01:00
Thomas Hallgren 6cc95f664e index.html: update summer school link 2018-01-29 11:28:11 +01:00
Thomas Hallgren 725b518d5c demos/index.html: add link to multilingual_headlines.html
It was lost in the move from darcs to GIT, since it was added
with a local change and not recorded in the darcs repository.
2018-01-23 15:58:28 +01:00
Thomas Hallgren 5164951e23 Remove "Warning: default encoding has changed from Latin-1 to UTF-8"
The warning is about a change that was made in GF 3.6 (June 2014) and has
probably outlived its purpose by now.
2018-01-23 14:55:33 +01:00
Aarne Ranta 96adbebca8 some paradigm extensions 2018-01-21 12:18:15 +01:00
Inari Listenmaa ebe317c864 Merge pull request #25 from GrammaticalFramework/basque
Some more fixes / updates on the Basque RG
2017-12-28 13:25:26 +02:00
Inari Listenmaa ced0bff5c7 Merge remote-tracking branch 'origin/master' into basque 2017-12-28 13:20:44 +02:00
Inari Listenmaa e2ec40a22f Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-12-20 10:27:23 +01:00
Krasimir Angelov 6e66c6ff1b Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-12-19 10:48:11 +01:00
Krasimir Angelov a7926835a3 bugfix for random generation with HOAS 2017-12-19 10:47:30 +01:00
Krasimir Angelov fa8530add1 silence some warnings on MINGW32 2017-12-09 23:11:04 +01:00
Krasimir Angelov 4a1d19086a added one more include to define alloca for Windows 2017-12-09 23:06:34 +01:00
Krasimir Angelov 515ea697ba Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-12-09 23:05:32 +01:00
Krasimir Angelov 7260d5496d fix the compilation of sqlite3Btree.c on Windows 2017-12-09 23:04:34 +01:00
Aarne Ranta 79feeaf5b8 new option linerize -tabtreebank for tab-separated treebank generation 2017-12-06 17:37:12 +01:00
John J. Camilleri 98db9a257f Update editor modes page for Atom 2017-12-06 10:35:28 +01:00
John J. Camilleri 2da722d930 Add cabal sandbox files to .gitignore 2017-11-27 09:50:51 +01:00
Aarne Ranta a7e7d8d83c year of 3.9 release corrected 2017-10-06 15:38:41 +02:00
Krasimir Angelov 0bb6b5968e temporaryly fix GF.Command.Commands2 2017-10-05 21:09:38 +02:00
Inari Listenmaa ef1b67356d Merge remote-tracking branch 'origin/master' into basque 2017-10-05 10:05:52 +02:00
Inari Listenmaa 1e3272b00e Merge remote-tracking branch 'origin/master' into basque 2017-10-04 15:01:36 +02:00
Krasimir Angelov e3aa392e63 further extend the API of the C runtime 2017-10-04 09:45:56 +02:00
Krasimir Angelov e426e87cf8 in the PGF2 api: remove showCategory. add categoryContext and functionIsConstructor 2017-10-03 16:05:01 +02:00
Krasimir Angelov 8eef0b5376 GF.Compile.Instructions is obsolete and now removed 2017-09-29 16:52:56 +02:00
Krasimir Angelov f2bc7ec7b6 added exprSubstitute in the C runtime for substituting meta variables 2017-09-28 16:33:34 +02:00
Krasimir Angelov 1c04fa4897 the parser for abstract expressions in the C runtime now supports partial parses 2017-09-28 13:57:13 +02:00
Krasimir Angelov 06ec6b3e92 added a method in Python for pretty printing a grammar 2017-09-26 09:16:48 +02:00
Krasimir Angelov 404154d16b added showPGF in the Haskell API 2017-09-25 18:31:36 +02:00
Krasimir Angelov d79ac56870 handle productions in the internal creation API 2017-09-25 13:23:53 +02:00
Krasimir Angelov d103fe6755 make pgf_production_is_lexical public since it will be needed in the Haskell binding 2017-09-25 12:20:48 +02:00
Krasimir Angelov 5f39d062b7 fix typo in jni_utils.c 2017-09-25 10:53:05 +02:00
Krasimir Angelov 9c781c7b24 fix the compilation of jsg.c after the last patch 2017-09-25 10:41:15 +02:00
Krasimir Angelov 66c20b1996 handle BIND & CAPIT in bracketedLinearize for Java 2017-09-25 10:36:38 +02:00
Krasimir Angelov 91728a3a98 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-09-18 21:56:07 +02:00
Krasimir Angelov b3d96cfa93 added Expr.size() in the Java binding 2017-09-18 21:55:10 +02:00
Krasimir Angelov 7ae5ef0a35 add writer.c in Android.mk 2017-09-15 10:32:06 +02:00
Krasimir Angelov 6eb1f8e14c Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-09-14 18:12:32 +02:00
Krasimir Angelov bcb97a336e make the API for indexing in the parser and the linearizer public since it will be needed in the Haskell binding 2017-09-14 18:11:24 +02:00
Krasimir Angelov 0d42eed7b6 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-09-14 15:24:02 +02:00
Krasimir Angelov d574bb2164 an almost complete API for building new PGF files in the Haskell binding 2017-09-14 15:23:13 +02:00
Krasimir Angelov 1ff8dd88e8 fix gu_encode_double 2017-09-13 17:20:00 +02:00
Krasimir Angelov febf01a9be corrections in the PGF writer 2017-09-13 14:05:26 +02:00
Krasimir Angelov 80b61f716c added PGF2.Internal.writePGF in the Haskell binding 2017-09-13 10:32:39 +02:00
Krasimir Angelov df992c31fd added gu_out_u16be, gu_out_u64be and gu_out_f64be in libgu. The later is using gu_encode_double which is probably still wrong. Corrected gu_in_le and gu_in_f64be. 2017-09-13 10:23:28 +02:00
Krasimir Angelov 3e55aa4424 added function pgf_write 2017-09-13 09:30:52 +02:00
Krasimir Angelov 09e5278690 added PGF writer to the C runtime 2017-09-13 09:23:55 +02:00
Krasimir Angelov 3aecefebdb an almost complete API for creating the abstract syntax of a PGF in memory 2017-09-11 14:12:36 +02:00
Krasimir Angelov 6712969503 an API to access the grammar's flags 2017-09-11 08:50:29 +02:00
Krasimir Angelov 09f5c95d82 more type corrections 2017-09-08 23:45:33 +02:00
Krasimir Angelov 31b5e550b7 the Haskell binding should be more careful with the matching types in C 2017-09-08 23:21:40 +02:00
Krasimir Angelov 527d97fdd2 fix the type signatures for the linearizer callbacks 2017-09-08 22:58:42 +02:00
Krasimir Angelov 71e6562eaa an initial sketch for PGF building API in the Haskell binding 2017-09-08 15:15:23 +02:00
Krasimir Angelov 16172be940 the C runtime should also install data.h in order to make it possible to access the internal structures 2017-09-07 21:34:39 +02:00
Krasimir Angelov 4f680b728b a light API in the Haskell binding for accessing the internal data structures 2017-09-07 21:31:33 +02:00
Krasimir Angelov 60bd12a952 the experimental export to Lambda Prolog is now obsolete and is removed 2017-09-07 14:01:46 +02:00
Thomas Hallgren 9f7a6cfe10 PGF2.FFI: import Data.Word(Word)
for compatibility with older versions of GHC
2017-09-06 18:01:08 +02:00
Krasimir Angelov ebe7cb3b73 A new function called "completions" is added in the Haskell runtime and used in PGFService. This makes the extraction of completions more platform independent 2017-09-06 15:17:28 +02:00
Krasimir Angelov 301b100988 word completion in the C parser now returns information about the function which generates the token 2017-09-06 14:37:51 +02:00
Krasimir Angelov ef071d9157 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-09-06 12:40:22 +02:00
Krasimir Angelov 15d014abb8 the parser in the C runtime can now detect incomplete sentences just like the parser in the Haskell runtime. This is also reflected in all bindings. 2017-09-06 12:38:42 +02:00
Aarne Ranta 8005aee378 in Haskell GADT generation, hide Tree in the import of PGF 2017-09-06 10:51:43 +02:00
Krasimir Angelov 18f2135785 added function printName in the Haskell binding 2017-09-05 11:56:53 +02:00
Krasimir Angelov 0469f4e97a added languageCode in the Haskell binding 2017-09-05 10:57:40 +02:00
Krasimir Angelov c3297dd2e9 update documentation for command pt 2017-09-05 10:33:53 +02:00
Krasimir Angelov 01a8e1b88f GF.Command.TreeOperations is now independent from the runtime's internals 2017-09-05 10:29:02 +02:00
Krasimir Angelov 13d8045814 added exprSize and exprFunctions in the Haskell runtime too and use them in TreeOperations 2017-09-05 10:16:48 +02:00
Krasimir Angelov 5ed0e3ae7f fix the type signature for exprSize 2017-09-05 10:08:55 +02:00
Krasimir Angelov 30b7ba04c7 added exprFunctions in the Haskell binding 2017-09-05 10:07:43 +02:00
Krasimir Angelov 85cf2d9f5a added exprSize in the Haskell binding 2017-09-05 09:50:29 +02:00
Krasimir Angelov a5fe5b9378 added exprHash in the Haskell binding 2017-09-05 09:46:43 +02:00
Mikael Brockman 5c73d6d7a9 Add a Travis configuration for autotesting commits
The configuration uses Nix to install dependencies.  I first tried using
just Cabal, but compiling all the dependencies takes too long for the
free tier of Travis.  Nix doesn't compile Hackage dependencies because
it has a "binary cache" with compiled versions of almost all
Hackage packages.

I do not run the GF test suite, because it seems to be in a
failing state.  This can be enabled later.

All of this will only be enabled once the Travis service is set up by
someone in the GF team with the permissions to do so.

Build results will then be automatically visible on all new commits and
pull requests.
2017-09-04 19:22:07 +03:00
Krasimir Angelov 08d781833c forgot to commit PGF2.FFI 2017-09-04 14:58:59 +02:00
Krasimir Angelov 08d7997d05 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-09-04 14:53:53 +02:00
Krasimir Angelov 71c4b4a246 instance Eq Expr in the Haskell binding 2017-09-04 14:49:44 +02:00
Krasimir Angelov da091824a3 pt -paraphrase was never properly implemented and is now removed 2017-09-04 13:11:17 +02:00
Krasimir Angelov 74ae6bb89e Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-09-04 11:45:40 +02:00
Krasimir Angelov 1f908fa7bf eliminate modules PGF.Lexing, PGF.LexingAGreek. Make PGF.Utilities an internal module in the runtime. These are not really part of the core runtime. 2017-09-04 11:43:37 +02:00
Krasimir Angelov cae52bb9af added a separate cabal file for the Haskell runtime 2017-09-04 09:57:25 +02:00
Krasimir Angelov 4fe9f88128 move the custom Binary package back to src/runtime/haskell 2017-09-04 09:55:17 +02:00
Krasimir Angelov bbdbf2bc5d silence Tab warnings in the Haskell runtime 2017-09-01 14:31:08 +02:00
Krasimir Angelov c48f3bdfbc rename the pgf2-bind package to pgf2 2017-09-01 13:07:47 +02:00
Thomas Hallgren 2b52ff1f73 Merge https://github.com/GrammaticalFramework/GF 2017-09-01 11:02:02 +02:00
Krasimir Angelov e214a00ed3 added command "rt" in the C shell 2017-09-01 10:40:12 +02:00
Krasimir Angelov 5c38482e56 the C shell now type checks expressions before they are used 2017-09-01 10:19:36 +02:00
Krasimir Angelov 8a333c9ca8 bugfix in showType from the C runtime 2017-09-01 10:00:47 +02:00
Krasimir Angelov d5a7945ba0 complete details for the "ai" command in the C shell 2017-09-01 09:57:00 +02:00
Aarne Ranta 37a1f65f86 added aligner.c to Android.mk 2017-09-01 09:32:28 +02:00
Krasimir Angelov 1a27ddfabb fix the Android makefile after the addition of word alignment API 2017-09-01 09:19:37 +02:00
Krasimir Angelov 5a37660811 added function treeProbability in the Haskell binding 2017-09-01 08:46:52 +02:00
Krasimir Angelov 1182a9b63d giza alignment in the C shell 2017-09-01 08:23:12 +02:00
Krasimir Angelov 983e804223 update documentation for Haskell 2017-09-01 08:11:16 +02:00
Krasimir Angelov b9c04fd612 graphvizWordAlignment in the C runtime 2017-08-31 13:03:11 +02:00
Krasimir Angelov eaf9f0c3ac the C runtime now supports the same customizations for GraphViz as the Haskell runtime 2017-08-31 10:58:49 +02:00
Krasimir Angelov 675ef4573c remove move dead code in the C shell 2017-08-31 08:12:18 +02:00
Krasimir Angelov 16828fb91e some dead code elimination 2017-08-30 20:42:04 +02:00
Krasimir Angelov 070d00a20c an almost complete ai command in the C shell 2017-08-30 19:44:10 +02:00
Krasimir Angelov 13a854d349 implement rf in the C shell 2017-08-30 19:19:10 +02:00
Krasimir Angelov 34294bf36e pg in the C shell now supports most output formats 2017-08-30 19:04:29 +02:00
Krasimir Angelov cd53269f96 bugfix for hasLinearization in the Haskell binding 2017-08-30 18:11:59 +02:00
Krasimir Angelov fd56b4b5f3 remove some dead code in the C shell 2017-08-30 16:56:00 +02:00
Krasimir Angelov ccf9227c05 in the C shell rename the ga command to gt to be consistent with the standard shell 2017-08-30 16:40:25 +02:00
Krasimir Angelov 137a06586a "lc" was a temporary hack and is now removed from the C shell 2017-08-30 16:36:57 +02:00
Krasimir Angelov 7db9f51d78 "ma" command in the C shell 2017-08-30 16:35:57 +02:00
Krasimir Angelov 4a24bc98f2 the l command in the C shell now supports the same options as in the normal shell 2017-08-30 16:18:26 +02:00
Krasimir Angelov 75efcbd280 added tabularLinearizeAll in the Haskell binding 2017-08-30 16:18:07 +02:00
Krasimir Angelov 08a728799a change tabularLinearize in the Haskell binding to return a list instead of map this preserves the order 2017-08-30 15:59:43 +02:00
Krasimir Angelov 97fe5df267 added the concreteName function in the Haskell binding 2017-08-30 15:43:09 +02:00
Krasimir Angelov 19613a76ab document embedding in C# 2017-08-30 11:22:32 +02:00
Krasimir Angelov dd8a9ed587 Embedded grammars in C# 2017-08-30 11:18:03 +02:00
Krasimir Angelov 14f1fedfe4 document FunctionType in C# 2017-08-30 09:19:53 +02:00
Krasimir Angelov 170c38bb58 for consistency PGF.FunctionByCategory is renamed to PGF.FunctionsByCat 2017-08-30 09:15:23 +02:00
Krasimir Angelov 8a50d851c3 Updated C# documentation 2017-08-30 09:09:45 +02:00
Krasimir Angelov bb5b5ca73b added graphvizAbstractTree and graphvizParseTree in Java 2017-08-30 08:33:16 +02:00
Krasimir Angelov 890e03527b added checkExpr in Java 2017-08-30 08:23:58 +02:00
Krasimir Angelov d92f8f2f9e added readType in Java 2017-08-30 08:15:59 +02:00
Krasimir Angelov 3e9de6ffbb added fullFormLexicon in Java 2017-08-30 08:08:19 +02:00
Krasimir Angelov bee61fe4aa keep the language menu in the documentation always on top. 2017-08-29 21:15:40 +02:00
Krasimir Angelov 78dfc8958d document the embedded API for Java 2017-08-29 21:04:00 +02:00
Krasimir Angelov 1e4ab95e41 added option -output-format=java for producing code for embedded grammars in Java 2017-08-29 20:53:47 +02:00
Krasimir Angelov 03479648ad document the embedded grammars in Haskell & Java 2017-08-29 19:51:33 +02:00
Krasimir Angelov b7b7a7c91c the embedded grammars now work with both the pure Haskell and the Haskell binding API 2017-08-29 18:44:50 +02:00
Krasimir Angelov 62e5852669 Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-29 18:03:56 +02:00
Krasimir Angelov dc0b68cd40 document the visitor pattern in Java 2017-08-29 18:03:26 +02:00
Krasimir Angelov e9e5952eac implemented visitor pattern in Java 2017-08-29 17:55:30 +02:00
Thomas Hallgren c75d95b313 Merge https://github.com/GrammaticalFramework/GF 2017-08-29 16:00:04 +02:00
Inari Listenmaa b5f2380821 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-08-29 15:44:54 +02:00
Krasimir Angelov 77e9f40bde added signatures for missing API functions in Java. The implementation is still missing 2017-08-29 15:36:27 +02:00
Krasimir Angelov adcc6a53fe a preliminary version of the C# documentation 2017-08-29 15:28:37 +02:00
Krasimir Angelov 634ec20b38 corrected and tested documentation for Java 2017-08-29 14:42:52 +02:00
Krasimir Angelov 09d5d9b091 some missing pieces of documentation for Java 2017-08-29 14:17:28 +02:00
Krasimir Angelov 2f4ed21109 rename unApply to unApp in the Java binding to be consistent with Haskell & Python 2017-08-29 14:03:17 +02:00
Krasimir Angelov b524a5a908 final fixes for the Haskell documentation 2017-08-29 13:59:30 +02:00
Krasimir Angelov d8e552ecdc Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-29 12:00:24 +02:00
Thomas Hallgren 1f4807105b Merge https://github.com/GrammaticalFramework/GF 2017-08-29 12:00:05 +02:00
Krasimir Angelov 7876848375 remove the TODOs from the runtime documentation 2017-08-29 12:00:00 +02:00
Krasimir Angelov c3b0b6dc4b Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-29 11:58:33 +02:00
Krasimir Angelov 20b72f477a added bracketedLinearize in the Haskell binding 2017-08-29 11:58:12 +02:00
Thomas Hallgren 685307bf0d Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-28 21:37:35 +02:00
Thomas Hallgren fe2aeb839b Download page: adding a .deb package for the Raspberry Pi 2017-08-28 21:37:09 +02:00
Thomas Hallgren 4e4d07aeae Merge https://github.com/GrammaticalFramework/GF 2017-08-28 17:20:03 +02:00
Krasimir Angelov d4026a64f4 tabularLinearize in the Haskell binding 2017-08-28 15:09:34 +02:00
Krasimir Angelov a0fc2f28e8 more in the runtime documentation 2017-08-28 14:23:47 +02:00
Krasimir Angelov 85417da2e3 small typo in the documentation 2017-08-24 22:36:55 +02:00
Krasimir Angelov d53a75728e Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-24 22:34:59 +02:00
Krasimir Angelov 65037bfe01 more work on the runtime documentation 2017-08-24 22:33:40 +02:00
Thomas Hallgren 7ec6590389 Merge https://github.com/GrammaticalFramework/GF 2017-08-24 18:20:03 +02:00
Krasimir Angelov 9761b060f6 fix the API's links on the home page 2017-08-24 18:13:21 +02:00
Krasimir Angelov 6845e7cf35 Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-24 18:11:19 +02:00
Krasimir Angelov a1ff75d208 The documentation for the Python API is now partly ported for Haskell and Java 2017-08-24 18:10:21 +02:00
Inari Listenmaa e31ab1c41a Remove Basque from the list of incomplete languages. 2017-08-24 18:35:13 +03:00
Inari Listenmaa a532cec58c Add Basque to the RGL 2017-08-24 18:30:24 +03:00
Krasimir Angelov 0003522850 Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-23 18:54:18 +02:00
Krasimir Angelov d60aa643fe Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-23 15:42:15 +02:00
Krasimir Angelov 7c1d50da81 Merge pull request #9 from ayberkt/master
First round of cleanups and fixes for the Turkish resource grammar
2017-08-23 15:41:47 +02:00
Ayberk Tosun ad856840de Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-08-23 16:37:28 +03:00
Ayberk Tosun fd100347fd Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-08-23 11:38:13 +03:00
Krasimir Angelov fb2bf940d6 Merge branch 'master' of https://github.com/ayberkt/GF 2017-08-22 22:22:19 +02:00
Krasimir Angelov 00388039f1 a nicer pretty printing for the PGF format 2017-08-22 21:13:21 +02:00
Krasimir Angelov 82153bf271 fix the id for fidStart in the C runtime 2017-08-22 20:28:59 +02:00
Krasimir Angelov af27715f43 Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-22 20:21:03 +02:00
Krasimir Angelov 8317e09036 the parser in the C runtime now respects linref too 2017-08-22 20:18:20 +02:00
Ayberk Tosun 115b11feea Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-08-22 17:49:59 +03:00
Ayberk Tosun bad42bbe00 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-08-22 16:16:43 +03:00
Ayberk Tosun cca1025d44 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-08-22 11:39:13 +03:00
Krasimir Angelov 6647ed0aeb Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-21 20:42:52 +02:00
Ayberk Tosun 36b5707b5a Merge remote-tracking branch 'remotes/upstream/master' 2017-08-21 16:28:10 +03:00
Aarne Ranta 38fd84a28c Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-08-21 16:20:27 +03:00
Aarne Ranta f7312b3f4c ChunkJpn import list updated 2017-08-21 16:20:13 +03:00
Krasimir Angelov dbac0b184f Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-21 15:08:55 +02:00
Krasimir Angelov a6cf33f226 added .gitignore 2017-08-21 15:08:20 +02:00
Krasimir Angelov 6e5f2b076d fix for linearization of metavariables 2017-08-21 15:04:46 +02:00
Ayberk Tosun efa60951f9 Add *.gfo to gitignore 2017-08-21 15:59:28 +03:00
Aarne Ranta 74fd6eef3b AppUrd added 2017-08-21 15:06:46 +03:00
Inari Listenmaa 0a47cd036e Merge pull request #6 from Kaljurand/est-lexicon-fixes
Fixes to the Estonian lexicon
2017-08-21 14:43:36 +03:00
Thomas Hallgren 84c262a8e1 Merge https://github.com/GrammaticalFramework/GF 2017-08-21 13:15:46 +02:00
Krasimir Angelov 2174bd5f12 Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-21 13:06:50 +02:00
Thomas Hallgren a16ae62503 Merge https://github.com/GrammaticalFramework/GF 2017-08-21 09:40:03 +02:00
Inari Listenmaa c89759e638 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-08-21 10:26:57 +03:00
Thomas Hallgren 13aff8a704 Merge https://github.com/GrammaticalFramework/GF 2017-08-20 22:20:03 +02:00
Krasimir Angelov dfc32b9616 lookupSentence is now available from Python 2017-08-20 20:21:33 +02:00
Krasimir Angelov 0a3b822313 ????
Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF
2017-08-18 21:27:40 +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
Thomas Hallgren 0a0eaa01bc Bump version requirements to base>=4.6, Cabal>=1.20
Cabal>=1.20 allows control over parallelism when compiling grammars from
Setup.hs and WebSetup.hs.

base>=4.6 allows conditional compilation with CPP to be eliminated from
a few modules.

base-4.6 corresponds to GHC 7.6.3, which is what you get in
Debian 8 (aka jessie, aka oldstable) from 2015.
2017-08-18 11:55:44 +02:00
Thomas Hallgren 5ab8b7082c Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-18 11:55:16 +02:00
Thomas Hallgren 1318a62da0 Home page: update link to PGF library API (Haskell)
to point to gf-3.9 in Hackage.
2017-08-18 11:54:13 +02:00
Thomas Hallgren c642421fa9 configure.ac: use a Cabal-friendly version number
and replace the outdated URL
2017-08-17 11:58:23 +02:00
Thomas Hallgren 2d85550e54 Final changes before the release of GF 3.9 2017-08-11 21:11:24 +02:00
Krasimir Angelov f71b96da2d more release notes about the runtime 2017-08-11 20:17:37 +02:00
Krasimir Angelov e914355565 release notes about the lookup 2017-08-11 20:13:45 +02:00
Thomas Hallgren 06bf8454f7 Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF 2017-08-11 16:05:44 +02:00
Thomas Hallgren da1272c36d Some updates in index-next.t2t and release-next.t2t 2017-08-11 16:04:57 +02:00
Thomas Hallgren ce1c1042e7 gf.cabal: don't enable warnings about unused imports by default 2017-08-11 15:45:19 +02:00
Thomas Hallgren 8484dabd5b Disable detailed version info from darcs
TODO: get version info from git instead.
2017-08-11 15:33:21 +02:00
Thomas Hallgren 9a39476e5a src/runtime/java/Makefile: fixes to find jni.h and jni_md.h in more cases 2017-08-11 15:09:28 +02:00
Thomas Hallgren a0e7e3bf83 A couple of fixes for GHC 8.2.1 compatibility 2017-08-11 10:07:43 +02:00
Aarne Ranta 0806b8b80e release notes on RGL and UD 2017-08-10 16:53:55 +02:00
Krasimir Angelov a8eeb49767 the linearizer API now allows to detect metavariables. This is used for instancein the lookup where the tokens produced from the metavariables are interpreted as distinct from all other tokens. 2017-08-07 16:39:19 +02:00
Krasimir Angelov a4c19875ed fix the sentence lookup for cases when the top category is undefined. 2017-08-07 14:47:20 +02:00
Krasimir Angelov ed33e53b2e added org.grammaticalframework.pgf.Expr.unStr 2017-08-07 11:48:40 +02:00
Krasimir Angelov a4b6c8cb1b added the Expr.unMeta method in the Java binding 2017-07-07 11:21:34 +02:00
Thomas Hallgren cd817abc5a Merge branch 'master' of /usr/local/www/GF 2017-06-30 15:46:46 +02:00
Thomas Hallgren b87cefb8cf gf.cabal: update bug-reports and tested-with 2017-06-30 15:46:07 +02:00
Inari Listenmaa 55b52df24d Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-06-30 15:31:23 +02:00
Thomas Hallgren a0072a5487 Updates to reflect the darcs->git move in the developer guide and the download page & release notes for the next release 2017-06-30 15:16:52 +02:00
Inari Listenmaa 899dba88b7 Merge branch 'master' of https://github.com/GrammaticalFramework/GF 2017-06-29 20:14:32 +02:00
Thomas Hallgren ff82b0980b Link to the issue tracker on GitHub 2017-06-29 17:27:36 +02:00
Thomas Hallgren 366f75d78a index.html: a quick news item about the move to GitHub 2017-06-29 15:15:52 +02:00
Thomas Hallgren 1ada3fc522 gf.cabal: update the source repository to point to the GitHub repository 2017-06-29 14:51:27 +02:00
krasimir 3464e912c1 filtering during the lookup nicely integrates with concretization 2017-06-27 19:30:43 +00:00
krasimir e8726b1cfa faster lookup 2017-06-23 17:52:43 +00:00
hallgren fcde05237a Adding preliminary release notes and download pages for the next release of GF
Feel free to add things to download/release-next.t2t.
2017-06-19 13:56:52 +00:00
aarne d51cbb0f1a added Arabic question mark to arabic and persian transliterations, as well as the zero-width non-joiner U+200C to persian" 2017-06-14 12:32:17 +00:00
krasimir ecbe747cbc bugfixes in the Java binding 2017-06-10 19:31:06 +00:00
aarne 9e206496a7 handling combination of &+ and &| 2017-06-02 06:11:44 +00:00
aarne d1eb0aa657 handling capitalization (&|) in unlexer -bind 2017-06-02 06:06:57 +00:00
krasimir 2af8ffb269 fix in the lookup debuger 2017-06-01 09:08:42 +00:00
krasimir 20a4887311 reintroduce counts as a prefilter before applying cosine similarity 2017-06-01 09:06:35 +00:00
krasimir 2036606d61 more debug information in the lookup 2017-06-01 08:27:02 +00:00
john.j.camilleri a251baddc0 add links to the Java and .NET APIs from the home page 2017-05-31 19:10:03 +00:00
krasimir 539a1a7d23 a bit more documentation copied from Java 2017-05-31 19:01:04 +00:00
krasimir 957bc999a3 bits of documentation for the .NET binding 2017-05-31 18:48:56 +00:00
krasimir e1cec06f74 .NET binding to GF by Bjørnar Luteberget 2017-05-31 13:48:36 +00:00
krasimir 2a8d2806e4 lookup for syntagmatic words 2017-05-30 12:35:02 +00:00
krasimir bf3557cf90 finally a smoothed and more precise ranking for lookups 2017-05-30 11:42:32 +00:00
krasimir 4c59db0dac another fix for the compilation of the bindings to the runtime 2017-05-26 08:54:12 +00:00
krasimir 8de69b0c31 an optimized string kernel 2017-05-24 19:44:32 +00:00
krasimir f612311c65 fix in linearizer.h to make the JAVA binding compile 2017-05-23 21:11:11 +00:00
krasimir cb67a24c99 an optimized expression extraction in the lookup 2017-05-23 21:06:17 +00:00
krasimir 622274180a a naive buf working ranking in the sentence lookup 2017-05-23 14:07:55 +00:00
krasimir 08f9f6fbaf bugfix in the stack handling during lookup 2017-05-16 10:55:00 +00:00
krasimir 151184718d bugfix in the Java binding 2017-05-15 08:45:40 +00:00
krasimir 27bb1398b4 add lookup.c to Android.mk 2017-05-13 11:23:19 +00:00
krasimir 578f84dd4f switch off the debugging mode in the sentence lookup 2017-05-12 11:13:15 +00:00
krasimir 2b911792ee sentence lookup API from Java 2017-05-12 11:12:29 +00:00
krasimir 7db25c5a74 bugfix in the sentence lookup 2017-05-12 10:51:49 +00:00
krasimir ca891c912b a binding to the sentence lookup from Haskell 2017-05-12 09:32:25 +00:00
krasimir 577b7662d8 the first prototype for sentence lookup 2017-05-12 09:31:47 +00:00
krasimir ebb085326e just for fun: hashCode for expressions 2017-05-11 13:41:41 +00:00
krasimir c2c95644bd an API for inspecting expressions in Java 2017-05-11 13:35:56 +00:00
krasimir a839bdc687 bugfix for print names in the C runtime and expose the functionality from Java 2017-05-11 09:11:30 +00:00
krasimir 2cf98147e6 construction of Int and Float literals in the Java binding 2017-05-11 07:44:10 +00:00
krasimir a77ae5da30 added Expr.apply 2017-05-10 14:41:55 +00:00
krasimir 83117602af bugfix in the Java binding 2017-05-10 13:31:14 +00:00
hallgren 766bc09058 PGFService.hs: fix problem when compiling without C run-time support
The previous patch introduced an indentation problem in the code that is used
when compiling without C run-time support.
2017-05-10 12:59:57 +00:00
krasimir 2675aec1f9 a simple optimization for getCategories, getFunctions, getFunctionsByCat in the Java binding 2017-05-10 12:46:32 +00:00
krasimir 6283489260 finished Type.getHypos & added Hypo.getType 2017-05-10 12:19:27 +00:00
krasimir 2f9c1c3764 a partial implementation for Type.getHypos. at least it lets us to count the number of arguments to a function 2017-05-10 08:40:12 +00:00
krasimir 7d0779dfcc some extensions in the conceptual editor needed for the SBAR app 2017-05-06 07:46:39 +00:00
hallgren d620c62d0b PGFService: add CncLabels support to command=deptree
CncLabels are read from a file in the same directory as the PGF file and
with the same name as the concrete syntax + extension .labels, 
e.g. ResourceDemo.pgf would use labels from

	ResouceDemo.labels	(abslabels)
	ResouceDemoEng.labels	(clclabels)
2017-05-05 14:01:02 +00:00
hallgren 6d56571d46 minibar_translations.js: remove dead code 2017-05-05 13:54:43 +00:00
krasimir 7dd171cdcc optimize memory allocation in the lookup by using worker pools 2017-05-04 08:29:51 +00:00
krasimir a05194a350 remove duplicate entries from the lookup index 2017-05-04 08:21:29 +00:00
krasimir 73e9eb934a merging spines 2017-05-04 07:55:11 +00:00
krasimir d0269e8513 first steps for sentence lookup in the C runtime 2017-05-03 16:28:20 +00:00
krasimir 5f4c441361 add install pragma for CMake 2017-04-19 20:21:20 +00:00
krasimir 1bfeab104c more changes to make the C runtime compilable with MSVC 2017-04-19 18:59:42 +00:00
aarne 2bdfd27173 updated android app help file 2017-04-19 17:26:51 +00:00
krasimir 25e14b253d now the database with glosses is compiled on the PC by running glosses.hs. On the phone we just extract the database 2017-04-19 13:00:46 +00:00
krasimir 5c93f2fba5 in libgu mark explicitly all functions that belong to the API 2017-04-19 12:30:40 +00:00
krasimir 74ce52d761 in the Java binding mark all internal functions as hidden 2017-04-19 11:08:09 +00:00
krasimir 7d72d99c2f explicitly classify all functions in libpgf as either internal or API functions 2017-04-19 09:34:23 +00:00
krasimir 33ec916c9c make some of the functions in the Python binding static 2017-04-19 09:45:15 +00:00
krasimir 7b0e1b164c add the CMakeLists.txt from Bjørnar 2017-04-13 14:23:26 +00:00
krasimir 7455e7bff9 disable doxygen 2017-04-13 14:11:47 +00:00
krasimir 9189f4b739 updated AUTHORS list in the C runtime 2017-04-13 14:00:45 +00:00
krasimir a8e37ff135 remove src/runtime/c/README it is obsolete anyway 2017-04-13 13:57:37 +00:00
krasimir 71a9f2cba8 use gu_string_buf_data in the Python binding to avoid copying 2017-04-13 13:47:13 +00:00
krasimir 2588a6f016 gu_string_buf -> gu_new_string_buf in libgu 2017-04-13 13:43:48 +00:00
krasimir e650b9c5fc use gu_string_buf_data in the Java binding to avoid double copying of strings 2017-04-13 13:21:32 +00:00
krasimir 9aeb45e1cc full support for Latin1 GF identifiers in the C runtime 2017-04-13 12:57:11 +00:00
krasimir df6c2f3f17 add gu_string_buf_data and gu_string_buf_length in libgu 2017-04-13 12:55:29 +00:00
krasimir 2551ab740b silence a few warnings on MacOS 2017-04-13 11:07:08 +00:00
krasimir a657e9947b use GU_API_DATA_DECL instead of GU_API_DATA to make the C runtime compile again on MacOS 2017-04-13 11:06:24 +00:00
aarne 7963c85367 Translator.java in android app now tries to find the lowercased first word in the lexicon if uppercased fails; added Est and Rus in the help file 2017-04-12 14:21:54 +00:00
krasimir e369427990 update SG.hsc 2017-04-12 11:55:27 +00:00
krasimir 456f0a5733 remove the teyjus and utils folders 2017-04-12 10:31:01 +00:00
krasimir a8eaa2f2e5 a patch from Bjørnar Luteberget for compatibility with MSVC 2017-04-12 10:24:56 +00:00
krasimir 915747efa7 some work on libsg queries 2017-04-12 10:05:22 +00:00
aarne f2ba7b64bf commented out case_sensitive=off in App 2017-04-12 08:59:58 +00:00
aarne dd61e1dc19 re-enabled Phrasebook in App ; added Russian ; testing with lower-casing the input 2017-04-11 15:48:18 +00:00
krasimir 23f740d3b9 upgrade Android SDK version 2017-04-11 13:40:02 +00:00
krasimir 5251221339 forgot src/ui/android/res/layout/fragment_phrase_list.xml 2017-04-11 12:54:23 +00:00
aarne b789f90da9 separated syncat multiwords in dep tree generation ; added function wildcards to concrete annotatations (see for instance english/LangEng.labels) 2017-04-06 15:40:44 +00:00
aarne ee2f3d085e vd command now reads local concrete configurations to deal with syncat words; TODO: dissolve clustered multiwords bound with + 2017-04-06 11:55:21 +00:00
krasimir 20a038719f added generateOntology & generateOntologyDepth 2017-04-05 11:08:31 +00:00
aarne 1e33235144 fixed a bug in Eq instance generation for GADT and lexical categories 2017-03-22 22:25:21 +00:00
krasimir f09507cb0f fix the compilation of sqlite3Btree.c on Windows 2017-03-14 11:07:14 +00:00
krasimir f1240ef489 a better error message 2017-03-07 23:17:24 +00:00
normundsg 31cd69b730 News: GFSS 2017 2017-03-13 14:31:50 +00:00
krasimir 7361d22059 GF.Compile.Compute.ConcreteNew now handles Predef.Float 2017-03-07 19:50:43 +00:00
krasimir 2e5499ba97 bugfix in record subtyping checking 2017-03-07 17:53:56 +00:00
krasimir 5ec43f2f75 GF.Grammar.Printer now has a Terse mode which prints record types with lock fields with their corresponding abstract categories 2017-03-07 08:24:00 +00:00
krasimir 5a61ab5fcc fix for EPatt 2017-03-06 17:15:46 +00:00
krasimir 6c5cfa7750 type checking EPatt 2017-03-06 16:24:58 +00:00
krasimir a0d6a4f9a4 GF.Compile.Compute.ConcreteNew now can handle EPattType 2017-03-06 15:44:25 +00:00
krasimir fe4f38f6ee some missing patterns 2017-03-06 14:44:03 +00:00
krasimir ad2a18592b added overload resolution in the experimental type checker 2017-03-06 14:09:16 +00:00
krasimir 2c1c2da89f some progress on the experimental type checker for the concrete syntax 2017-03-03 16:37:22 +00:00
aarne 34627e7427 corrected fg generation for lexical categories, to avoid a type error in generated code 2017-02-24 20:50:36 +00:00
hallgren ae512e09e0 Fix compilation errors caused by changes in PGF2
These prevented GF from being built with C run-time support (-fc-runtime).
2017-02-21 13:21:59 +00:00
krasimir 94f41cc63d safer memory management in the Haskell binding 2017-02-10 17:10:37 +00:00
hallgren d0f7f9ca8d langcode.js: updated to include codes for recently added RGL languages 2017-02-10 12:18:36 +00:00
hallgren de6c897bd3 GF home page: comment out the "GF build status" link
Gregoire's Jenkins server has been down since last summer...
2017-02-10 12:14:22 +00:00
krasimir 011d2a44b8 typo in gf-tutorial: enougo->enough 2017-02-01 14:59:35 +00:00
krasimir 1188cf0c3e replace .gfcc with .pgf in gf-refman.html 2017-02-01 10:48:48 +00:00
aarne 65d1867fe3 typo in imports of SentencesPes corrected 2017-01-30 22:17:00 +00:00
krasimir 0e49c28e5b API for computing the Haskell binding 2017-01-26 18:41:07 +00:00
krasimir 1cea621216 use throwIO instead of throw in a few placed 2017-01-26 18:40:36 +00:00
krasimir af1a581f40 type checking API in the Haskell binding 2017-01-26 14:09:07 +00:00
krasimir 24671a612c a better implementation for PGF2.categories 2017-01-26 13:37:12 +00:00
krasimir bd1128e303 now the Python API also accepts types as start categories. Using a string is still ok. 2017-01-26 13:31:08 +00:00
krasimir 77b84fdbcd forgot to add src/runtime/haskell-bind/PGF2/Type.hsc 2017-01-26 13:00:22 +00:00
krasimir 3467a54965 bring the Haskell binding a bit closer to the pure Haskell API 2017-01-26 12:48:22 +00:00
krasimir 17163ae881 copy the types for BracketedString from the Haskell runtime to the Haskell bindings 2017-01-26 10:31:43 +00:00
krasimir 6af632dd18 added mkMeta and unMeta in the Haskell binding 2017-01-26 10:17:02 +00:00
krasimir be43d5dfdc added mkAbs and unAbs in the Haskell binding 2017-01-26 10:04:42 +00:00
krasimir a06e0b6b6f more startCat to the Types section in the Haddock documentation for the Haskell binding 2017-01-26 06:41:27 +00:00
krasimir 14b32a115c add unStr,unInt and unFloat in the Haskell binding 2017-01-26 06:40:13 +00:00
krasimir db0f8b0dce improve the documentation for PGF2 2017-01-25 20:30:54 +00:00
krasimir 6de9636ff2 add functionsByCat in the Haskell binding 2017-01-25 10:44:08 +00:00
krasimir 8d3464dfb0 bugfix in the Haskell binding 2017-01-25 10:37:34 +00:00
krasimir 3c36318246 added linearizeAll in the Java API 2017-01-24 10:14:12 +00:00
krasimir f6ecf0ce56 resolve a conflict that was for some reason commited in src/runtime/java/Makefile 2017-01-24 09:36:39 +00:00
aarne 1dbba8f377 added Ice and Nno to synopsis and ResourceDemo, and updated documentation 2017-01-19 19:58:48 +00:00
john.j.camilleri efe7db3269 GF Summer school now links to the 2017 school (update from Normunds). 2017-01-05 21:51:03 +00:00
aarne 290ea53ae9 news on tech talk, nynorsk, and github mirror problems; contrib github to main meny 2016-09-21 12:40:18 +00:00
prasanth.kolachina ef33f1ab35 python examples compatible with both Python 2 and 3 2016-09-19 08:32:08 +00:00
aarne 8729339d26 BNF grammars (.bnf or .cf) can have rules without semicolons, as in the GF book examples. However, if the grammar has any multiline rules, all of them must have semicolons. 2016-09-05 21:15:44 +00:00
krasimir 06599df74d update the Python tutorial to be compatible with Python3 2016-08-01 10:55:57 +00:00
krasimir 5a9b5dc860 python2 is now supported. the patch is based on a contribution from Vinit Ravishankar 2016-08-01 10:39:54 +00:00
krasimir 2605ee85d7 two memory leaks in the Python bindings 2016-08-01 10:31:37 +00:00
krasimir bc1aded860 fix in topics.txt 2016-07-20 05:36:39 +00:00
krasimir ae8c6909f7 extended topics.txt 2016-07-20 05:11:51 +00:00
hallgren 7863a383b0 gf.cabal: bump version to 3.8-darcs 2016-07-05 10:27:00 +00:00
aarne a1d226891b rbmt summer school announcement 2016-06-26 09:08:30 +00:00
hallgren ee9fcef787 Final changes for the GF 3.8 release
News item on the home page
Put the download page and release notes in place.
Add an entry in debian/changelog.
Update the version number in gf.cabal.
2016-06-22 11:13:06 +00:00
hallgren 76fd94f82c A couple of more adjustments of the GF 3.8 release notes. 2016-06-22 10:38:51 +00:00
hallgren 27a49f983e Some adjustments to the GF 3.8 release notes and download page 2016-06-22 08:23:37 +00:00
krasimir 9238941c4d some more bullets in the release notes 2016-06-22 07:32:48 +00:00
hallgren ab138e5a8c bin/build-binary-dist.sh: fixes for the Java and Python bindings.
* Just skip the Java binding if there were errors compiling it.

* Install the Python binding in the expected place on Mac OS X when creating
  an OS X installer package. (i.e. under /Library/Python/2.7/site-packages)

Also updated the 3.8 download page and release notes to reflect the above.
2016-06-20 14:11:45 +00:00
hallgren 83d340dbef PGFService: fix a type ambiguity when compiling without C run-time support
The function listCaches returns an empty list instead of the contents
of the cached C run-time system PGFs when compiled without C-run-time support
This gave rise to an ambiguity in GF.Server.
2016-06-17 11:32:40 +00:00
hallgren 5b8c6887ca Documentation updates
Remove ghc-7.4 from the list of tested/recommended versions of GHC
(because of Hackage dependency problems).
Recommend version 7.10.3 of the Haskell Platform. (GHC 8.0.1 works too,
but I haven't tested the corresponding Haskell Platform packages.)
2016-06-17 10:09:25 +00:00
john.j.camilleri 5155495ba5 Wide Coverage Translation Demo: switch to App16.pgf (adds Russian) 2016-06-17 10:19:46 +00:00
hallgren c49b920ecf A few documentation updates
gf.cabal: include more GHC versions in the Tested-Width field.
2016-06-16 15:09:45 +00:00
hallgren e608a63f80 debian: add txt2tags to Build-Depends and run 'make html' as part of the build
This is to make sure that gf-web-api.html gets included in the .deb package
and is available locally in the GF cloud when running gf -server.
2016-06-16 13:54:15 +00:00
hallgren 041b1b24e5 gf-web-api.t2t: document command=deptree (for word dependency diagrams)
Also add a few paragraphs listing undocumented commands and
briefly describing the commands that use the C run-time system.
2016-06-16 13:34:48 +00:00
krasimir 416406fa9b fix in the Android UI 2016-06-16 12:56:56 +00:00
hallgren 70952bd906 src/www/gf-web-api.t2t: Web API docs rescued from the Google Code graveyard
This is the GFWebServiceAPI.wiki rescued from the Google Code Archive,
converted to txt2tags format, with an updated introduction.
2016-06-16 12:11:06 +00:00
hallgren a1a7fa77c0 GF home page: add new RGL languages to the list
Also a couple of fixes in release-next.t2t
2016-06-16 10:09:01 +00:00
hallgren 3f27aeb618 gf.cabal: don't build pgf-shell any more, it's been superceded by gf -cshell 2016-06-16 09:57:28 +00:00
aarne 14ed164794 release note on new languages 2016-06-16 08:28:54 +00:00
krasimir 8b8812baa2 pgf_generate_all now emits __mock_string__ instead of FOO for String literals. 2016-06-16 08:08:45 +00:00
krasimir 821878773c bugfix in the load method in the Python binding. The file was never closed. 2016-06-16 08:02:06 +00:00
aarne 630b9d7b1e added a default value in dependency visualization for cases using maximum, to cover the case where the list of arcs is empty 2016-06-15 10:37:00 +00:00
hallgren 12d2296991 GF cloud: more readable formatting of the GF version page
Factor out common CSS from gfse/editor.css into clouds.css.
2016-06-15 10:20:30 +00:00
hallgren 1465a825d5 release-next.t2t: notes about the vd and cc commands 2016-06-15 08:04:10 +00:00
aarne 7633f53af4 release notes on RGL 2016-06-10 11:27:24 +00:00
hallgren fb82895996 release-next.t2t: a few more notes 2016-06-10 09:14:19 +00:00
hallgren 18f17ba857 minibar: define grammar_list in config.js to restrict the grammar menu
minibar.html now reads config.js and if it defines grammar_list, only the
grammars listed there will show up in the grammar menu.
2016-06-09 14:20:24 +00:00
hallgren 096b4cfcee PGF service & minibar: only show dependency diagrams if the labels are known
+ The PGF service now reads and caches dependency label configuration files.
+ The grammar info returned by command=grammar has a new boolean field 
  'hasDependencyLabels' to indicate if dependency labels were found for
  the grammar. Also, command=deptree will now fail if no labels are present.
+ The minibar only shows word dependency trees if labels are present.
+ Also changed the type of getDepLabels from [String] -> Labels to
  String -> Labels, since all uses were in the form "getDepLabels . lines".
2016-06-09 13:12:14 +00:00
hallgren 617624e2a8 PGFService: eleminate warning "Defined but not used: ‘serverError’" 2016-06-09 11:27:57 +00:00
krasimir 60e07c302e now a working API for complex queries in libsg 2016-06-09 10:01:43 +00:00
krasimir 28aa04739a bugfix in libsg 2016-06-09 09:59:38 +00:00
hallgren 5d27d1885f Minibar: show word dependecy diagrams
They are now included in the cycle of images shown when clicking on the
parse tree icon.
2016-06-08 19:11:49 +00:00
hallgren a59821eb80 PGF web service: switch to the new SVG rendering of word dependency trees
Also added the function outputText in CGIUtils.
2016-06-08 19:10:23 +00:00
hallgren c9ea17d293 PGF.VisualizeTree: add white background in the SVG rendering of dependency trees
This makes them look the same as SVG produced by graphviz
2016-06-08 19:08:29 +00:00
hallgren 8dfdee1e9a PGF.VisualizeTree: add SVG renderering of word dependency trees
This was done by introducing an intermediate representation for the LaTeX
pictures produced by the LaTeX renderer and providing a new backend that
outputs SVG instead of LaTeX.
2016-06-08 17:49:15 +00:00
hallgren 5b491b7312 Minibar: remove spaces for better Thai speech synthesis 2016-06-06 10:46:13 +00:00
aarne e755c013f8 added PassAgentV2 to App, and the specialized syntax functions to app.probs 2016-06-05 17:48:11 +00:00
hallgren bd8c6cc4e4 Minibar: detect the language for show speech synthesis buttons in more cases
This was done to obtain speech synthesis for more languages in the Numerals
grammar, which uses neither language flags nor the standard naming for
concrete syntax.
2016-06-05 12:21:56 +00:00
aarne e682f0972d made App into a functor to make its body easier to modify; unfortunately, the import list must be copied however 2016-06-04 17:07:35 +00:00
aarne 4fea4ace7b vd latex: some adjustments in heights and lengths 2016-06-03 16:06:22 +00:00
krasimir 2652082cf7 now the UI supports almost all phrases. there are still a few that cannot be shown 2016-06-03 11:30:53 +00:00
krasimir fa9fca2c06 the Phrasebook UI now uses the green color 2016-06-03 11:30:21 +00:00
krasimir ce856a2d17 added checkboxes in the Phrasebook UI 2016-06-03 11:09:39 +00:00
krasimir e8fe5ad5f1 bugfix in the Phrasebook UI 2016-06-03 07:14:52 +00:00
krasimir 5d516661f7 the list of alternatives in the translator is now sorted by probability 2016-06-02 07:38:18 +00:00
krasimir fce8a7a069 bug fix in the translator app 2016-06-02 07:38:00 +00:00
aarne f5e2c41dd0 vd: arc heights now depend on number of arcs below rather than word distance 2016-06-02 18:17:54 +00:00
hallgren deb7919aa6 Enable compilation of Ancient Greek in Setup.hs
Also adjust the -path pragmas in a few places in lib/src/ancient_greek
2016-06-02 13:56:19 +00:00
hallgren f24e073637 release-next.t2t: adding a few items 2016-06-02 13:06:04 +00:00
aarne a6303fd8d1 tokenized apertium text to test with ; RelV2 and QuestV2 in App (Eng and Swe for the moment) with 20% loss of parsing speed but improved quality 2016-06-02 06:29:35 +00:00
krasimir 194368dfd5 majour redesign of the Phrasebook UI to support recursive phrases 2016-05-30 23:24:17 +00:00
krasimir ed1e60f633 fix in the Haskell binding: functionType should throw error if the function is not defined 2016-05-30 17:15:09 +00:00
krasimir 3381ae1aa0 added getFunctionProb in the Java and C API 2016-05-30 11:25:59 +00:00
hallgren a00532d5e4 download/{index,release}-next.t2t added, in preparation for the next release
Feel free to add things to the release notes in download/release-next.t2t.
2016-05-26 16:16:33 +00:00
hallgren 9f1da17d06 PGFService.hs: fix compilation problem when C run-time support is omitted 2016-05-26 13:56:43 +00:00
hallgren cfdd9621ff PGF web service: add command=deptree
This is the web interface to PGF.graphvizDependencyTree.

Accepted parameters: format=<output_format>, to=<lang>, tree=<tree>.

Accepted output formats: latex, conll, malt_tab, malt_input, png, gif, svg, gv

Also, label information is taken from <path>.labels if present, where
<path>.pgf is the path to the PGF file.
2016-05-26 13:39:48 +00:00
hallgren 389e6b8816 Add haddock documentation to PGF.graphvizDependencyTree and PGF.getDepLabels
They seemed very difficult to use without the documentation, since their
types are not particularly self documenting.

Also documented what the (Bool,Bool) argument to PGF.graphvizAbstractTree
is for.
2016-05-26 13:12:38 +00:00
hallgren 0f51bf3538 Fix documentation typo on PGF.Haskell 2016-05-26 13:11:56 +00:00
krasimir a775c96174 preserve the order of the sentences in phrases.xml in the UI 2016-05-25 18:55:47 +00:00
krasimir 19c22c9020 the phrasebook phrases are now ordered in the same way as in the Phrasomatic 2016-05-25 18:33:12 +00:00
krasimir 69433b9660 the Java API now also has access to the token's category while doing completion 2016-05-25 12:39:51 +00:00
krasimir 13f9a42ae5 fix the word completion in the C runtime 2016-05-25 12:19:26 +00:00
krasimir 0894f55661 fix the compilation when debugging is switched off 2016-05-25 09:42:24 +00:00
krasimir faebebc8f4 pgf_generate_all now works with literals as well 2016-05-25 09:36:05 +00:00
krasimir 41a3054e9b when expressions with Float literals are printed, we should use the same format that is used by the linearizer 2016-05-25 09:34:40 +00:00
krasimir b34ee6f377 fix a warning in libsg 2016-05-25 07:18:01 +00:00
aarne 74e17aef08 made the word length proportionate in dependency visualization, instead of using the max length for every word 2016-05-23 19:16:06 +00:00
krasimir 228161eed4 add the relevant code from Parlira to the GFTranslator 2016-05-23 09:54:27 +00:00
hallgren 649ab21cec Changes for compatibility with GHC 8.0.1 2016-05-22 20:15:31 +00:00
krasimir afd7e5392d fix the Estonian language code in the App 2016-05-22 11:20:14 +00:00
krasimir e56b56a57f bugfix in libsg 2016-05-22 09:19:54 +00:00
krasimir fdf4bd3196 change the API for literals in Java and Python. The input sentence is no longer a parameter to the callbacks. 2016-05-20 15:20:02 +00:00
krasimir 1a0defc0fc in case of null argument it is more intuitive to report the argument index by counting from 1. 2016-05-19 20:48:47 +00:00
krasimir 4996d5d90b the constructor for expressions in the Java runtime now checks for null arguments. This means that a potential problem is detected earlier before we jump into the JNI code. 2016-05-19 20:41:09 +00:00
krasimir 214d1b1e70 fix in the Android App after the introduction of sqlite3Btree.c 2016-05-19 15:26:59 +00:00
hallgren 7cb01f1ae7 Wide Coverage Translation Demo: improvements relating to application grammars
* Automatically update the translations when the set of selected
  application grammars is changed.
* Skip application grammars that do not support the currently selected
  source & target languages.
2016-05-19 09:36:40 +00:00
krasimir bea8c5796a fix the compilation of sqlite3 on MacOS 2016-05-18 09:01:47 +00:00
hallgren 5497f88b15 Wide Coverage Translation Demo: a couple of small fixes
Add missing initalization after a new application grammar has been selected.
Add an "X" close button in the upper left corner of the grammar selection popup.
2016-05-16 14:43:51 +00:00
hallgren 6405850057 Wide Coverage Translation Demo: you can now reorder the application grammars
When selecting which application grammars to use for translation, after
pressing the "Grammars..." button, it is now possible to change the order
of the selected grammars by dragging them up and down in the list.
2016-05-16 14:14:55 +00:00
hallgren 0d4c64703e gfse/sort.js: enable dragging on touch screens 2016-05-16 12:57:01 +00:00
aarne 808bbf7466 enabling V3 and V2V in AppFre 2016-05-14 08:55:47 +00:00
aarne 7c8d2f71dc commented out the import of Phrasebook in App with --P; the idea is that application grammar parsing is done in a separate phase, which is faster and more flexible. Also re-enabled ComplV3 and ComplV2V, after testing that they don't reduce the parsing speed too much. 2016-05-14 08:30:49 +00:00
hallgren bde9dc7cfd Add a few missing languages in js/langcode.js. Use it also in gfse/editor.js.
gfse/editor.js had its own list with 34 languages, while js/langcode.js
only had 30 languages. The missing languages have been added to
js/langcode.js and all apps now use that list.
2016-05-13 13:03:28 +00:00
hallgren 2b182c4e63 Wide Coverage Translation Demo: select application grammars to use from a list
There is now a new button "Grammars..." which show a list where users can
select which application grammars to use for translation, in addition to
the wide coverage grammar. Application grammars can give higher quality
translations in the domain they cover.
TODO: make it possible control the order of the selected application grammars.
2016-05-12 17:53:56 +00:00
hallgren c8476832f4 langcode.js: add Afrikaans 2016-05-12 15:28:11 +00:00
hallgren e8fb3f93e4 translator.css: factor out div.overlay styles to a separate file overlay.css 2016-05-12 14:21:30 +00:00
krasimir be62f4047f skeletal version of AppRus.gf 2016-05-11 11:24:31 +00:00
krasimir 86c5423275 the Literals API in Haskell no longer offers the sentence as an argument to the callbacks. It is just as easy to save the sentence in a closure and by doing that we save the repeated round about from C to Haskell strings 2016-05-11 11:10:22 +00:00
krasimir 9abc6aadde many of the uses of peekCString and withCString in the Haskell binding were incorrect since they encode the string in the system locale while the C runtime is always using UTF8 2016-05-11 07:11:45 +00:00
krasimir 403e080273 fix the offset for oracles in Haskell 2016-05-10 19:41:44 +00:00
krasimir 80a96b3a85 an API for oracles in the GF parser 2016-05-10 17:11:39 +00:00
krasimir 3f0fe438cd a prototype for complex queries over expressions in libsg 2016-04-29 14:06:24 +00:00
krasimir a6b4212264 added methods for accessing the last element of a buffer in libgu 2016-04-29 14:05:42 +00:00
krasimir 6fb17dc6fc a version of sqlite3.c which is prunned to one third of the original size and now it contains only the database storage engine withough the SQL compiler and interpreter 2016-04-28 14:14:04 +00:00
hallgren 41171be5a6 Fix a problem building the Java binding when creating binary packages
Pass -I and -L flags to gcc so that the C run-time system can be found.

Also added a line in src/runtime/java/Makefile to install jpgf.jar.
2016-04-25 14:21:04 +00:00
krasimir 983da7adfc more fixes for GNU Lightning for ARM 2016-04-14 13:47:56 +00:00
krasimir 114e95f43b fix in evaluator.c 2016-04-14 13:47:29 +00:00
krasimir 627abeb703 added PGF.inferExpr and Type.toString in the Java binding 2016-04-14 13:12:22 +00:00
krasimir 6a0ed34b11 bugfix in GNU Lightning for ARM 2016-04-14 08:26:07 +00:00
krasimir 76a6cc1bb5 bugfix in the JIT compiler for 64bit machines 2016-04-13 14:58:12 +00:00
hallgren 83d878a636 debian/control: dependency change from libtool to libtool-bin
It seems that nowadays the libtool executable is not included in the package
named libtool, instead it is in the libtool-bin package.
2016-04-13 14:39:33 +00:00
krasimir e8e52de6b9 locale independent printing for doubles when they are part of an abstract expression 2016-04-13 14:30:40 +00:00
krasimir c0344e936a fix for reading PgfExpr with a double literal 2016-04-13 14:08:49 +00:00
hallgren 68ebfe9de2 Minibar: don't show dependency information in parse trees.
This was fixed by adding "&nodep=true" in the minibar when it requests a
parse tree from the server. The reason dependency information got included
in the first place was that all rendering options are on by default in
command=parsetree requests in PGF service API.
2016-04-13 13:18:18 +00:00
krasimir f0014f61a7 added PGF.compute in the Java binding 2016-04-13 12:57:06 +00:00
krasimir f0ca9cd732 added getFunctionsByCat 2016-04-13 12:49:08 +00:00
krasimir 1019b7faf5 added getCategories() and getFunctions() in the Java binding 2016-04-13 12:02:42 +00:00
krasimir 3ee356dee4 fix in FoodsMkd.gf 2016-04-08 15:25:12 +00:00
hallgren 1454953391 Changes to include the Java binding in binary distribution packages
This means that you now need to have a Java SDK installed to build
a Debian package.

The bin/build-binary-dist.sh (which builds bintar packages and OS X installer
packages) now skips the Python binding if python is not installed. Likewise
it skips the Java binding if a Java SDK is not installed.
2016-04-12 15:01:11 +00:00
hallgren 94b8ebf402 debian/rules: workaround for a problem on Ubuntu 15.10 and 16.04
dh_shlibdeps has a problem finding which package some of the Haskell
libraries come from, even though dpkg-query -S has no problem finding them.
But the gf executable is statically linked against the Haskell libraries, so
it will work even if these shared libraries aren't installed. But there will
be a problem if other shared libraries are missing (.e.g. libtinfo, libgmp),
so we need a better solution than simply ignoring all dependency problems...

See also http://stackoverflow.com/questions/11238134/dpkg-shlibdeps-error-no-dependency-information-found-for
2016-04-12 13:25:17 +00:00
hallgren 31df4a6c46 GF.Command.Commands2: adapt gf -cshell to the changes in the previous patch 2016-04-07 14:55:13 +00:00
hallgren ab3cc77656 GF shell: fix a parsing problem with the cc command
This patch fixes a problem introduced last year when the GF shell was
refactored to allow more commands to be treated uniformly and be part
of pipes. The cc command was one of those commands, but unfortunately this
introduced a parsing problem, e.g.

	> cc "last"
	constant not found: last

	> cc "last"++"year"
	command not parsed: cc "last"++"year"

This happened because the generic command line parser in
GF.Command.{Abstract,Parse} assumes that all commands have an argument of
type PGF.Expr. Commands that expect other types of arguments have to
use PGF.showExpr combined with other conversion to the argument type they
expect. The cc command excpets a GF.Grammar.Term, and unfortunately not 
all terms survice the roundtrip through PGF.Expr, in part because of
an additional hack to allow strings to be roundtripped through PGF.Expr
without adding superfluous double quotes.

To solve the problem, this patch

 + makes room for arguments of type Term in the Argument type in
   GF.Command.Abstract.
   
 + makes a special case for the cc command in GF.Command.Parse, by
   calling the partial parser 'runPartial pTerm' recently added in
   GF.Grammar.Lexer and GF.Grammar.Parser. Care was taken so that
   that "|" and ";" can be used both inside terms and as separators between
   commands in the shell, e.g. things like the following now work:

       > cc ("a"|"b") | ps -lexcode
       variants { "a" ; "b" }

 + introduces a type CommandArgument that replaces [Expr] as the
   type of values passed between commands in pipes. It has room for
   values of type [Expr], [String] and Term, thus eliminating the need
   to roundtrip through the Expr type all the time.
   The hack to avoid adding superfluous quotes when strings are
   roundtripped through Expr has been left in place for now,
   but can probably be removed.
2016-04-07 13:40:05 +00:00
hallgren 65e675d8e2 Lexer.x & Parser.y: add a partial parser for terms
Lexer.x: Change the parser monad type P to allow the remaining input to
	 be returned after a partial parse. Add function

           runPartial :: P t -> String -> Either (Posn, String) (String, t)

Parser.y: Add a partial parser pTerm for nonterminal Exp1.
          Re-export runPartial.
2016-04-07 13:32:14 +00:00
krasimir c130d28ae3 fixed Foods grammar for Macedonian 2016-04-07 10:49:35 +00:00
hallgren c8b7ebc163 Lexer.x: fix cyclic Functor instance
It looks like I introduced this cyclic definition in August 2014, but since
it isn't used, it hasn't been a problem...
2016-04-06 13:46:48 +00:00
hallgren ad22a4d899 src/tools: update GFDoc.hs and Htmls.hs for compatibility with current libraries and add gf-tools.cabal to compile them 2016-04-05 13:29:56 +00:00
krasimir 9db5139e23 Foods grammar for Macedonian. Probably not quite correct 2016-04-05 15:33:44 +00:00
hallgren 7d509d6933 GFSE: add Latvian to the list of RGL languages 2016-04-03 17:29:10 +00:00
hallgren 465a83cd02 src/runtime/c/INSTALL: add automake to the list of needed packages on Linux
The automake package contains aclocal, which is needed when running
autoreconf -i.

I never needed to install automake explicitly on Linux, presumably because it
got installed anyway because of some other dependency, but apparently you
can't take this for granted.
2016-03-30 11:43:16 +00:00
krasimir a393c1a246 fix the handling of separators in BNFC which are not nonempty 2016-03-22 13:13:35 +00:00
krasimir ce70720859 CFGtoPGF is now extended to support context-free grammars with primitive parameters 2016-03-22 10:28:15 +00:00
krasimir fbdf21d862 added missing module GF.Grammar.BNFC 2016-03-21 20:03:28 +00:00
krasimir 8f80e5451e fix comment in GF.Grammar.CFG 2016-03-21 19:33:14 +00:00
krasimir c8ebe09315 initial support for BNFC syntax in context-free grammars for GF. Not all features are supported yet. Based on contribution from Gleb Lobanov 2016-03-21 13:27:44 +00:00
krasimir da10bb33c7 bugfix: GF.Compile.CFGtoPGF now supports literal categories 2016-03-21 13:26:32 +00:00
krasimir 07cf4d6509 more progress on the typechecker 2016-03-15 14:16:17 +00:00
krasimir c1671d43e2 current state of the experimental typechecker 2016-03-07 20:20:47 +00:00
krasimir 4ba9712f16 add missing cases in vapply in the partial evaluator 2016-03-03 06:59:50 +00:00
krasimir 508bc346e5 fix in the typechecker 2016-03-02 21:28:54 +00:00
hallgren a2922e35fd gf.cabal: Remove GF.Compile.Compute.ConcreteNew1 2016-03-02 16:29:13 +00:00
krasimir 13ff91bbb9 a better interface between the type checker and the partial evaluator 2016-03-02 16:22:56 +00:00
krasimir 47eb774cdf the experimental type checker in GF.Compile.TypeCheck.ConcreteNew is now rewriten to use the complete evaluator in GF.Compile.Compute.ConcreteNew. The old sketchy implementation in GF.Compile.Compute.ConcreteNew1 is now removed. 2016-03-02 13:38:02 +00:00
leiss 672c1e8df5 add forgotten file src/runtime/haskell/PGF/LexingAGreek.hs 2016-02-23 17:32:19 +00:00
leiss df2901c9c0 add lexer and unlexer for Ancient Greek accent normalization 2016-02-23 16:30:39 +00:00
krasimir 8548979d1c Now we even test in two different places for the JNI headers. Once for Linux and once for Mac OS. This is still not ideal since different Linux distributions might use different locations. 2016-02-17 14:52:48 +00:00
krasimir 9e3944951c typo in the new Makefile 2016-02-17 14:40:46 +00:00
krasimir 279f66c950 a version of the Makefile for the Java binding which should work on Linux and Mac OS 2016-02-17 14:37:55 +00:00
krasimir 55a7fdc4a5 some progress on complex queries in libsg 2016-02-09 10:59:18 +00:00
hallgren 114dc54bf9 demos/index.html: a couple of fixes 2016-02-08 16:41:50 +00:00
krasimir 4a38cc1e7b fix a rather intricate bug where coercions in the PMCFG grammar didn't interact properly with the lazy parser 2016-01-26 14:29:06 +00:00
hallgren 9bed116878 GFSE: add Afrikaans to the list of available RGL languages. 2016-01-19 13:59:17 +00:00
krasimir 5576688410 javadoc comments in the Java binding 2016-01-14 19:03:13 +00:00
inari 9aeefe6925 add link to irc channel 2016-01-14 05:59:49 +00:00
krasimir 8dda2dfbff added API for reading a list of tuples in the SG module 2015-12-22 13:50:01 +00:00
krasimir 028de0468b pgf_read should close the input file. 2015-12-22 09:29:14 +00:00
krasimir bef9d8c5fc added a primitive full-text search index in libsg. This can be use for finding an abstract tree whose linearization matches given keywords 2015-12-20 14:04:52 +00:00
krasimir 0b9395fd70 a fix that should solve the segmentation fault on MacOS with the exhaustive generator 2015-12-19 17:30:41 +00:00
krasimir 6947d36e1a fix in the Python binding. The input sentence to the parser needs to be copied since otherwise the Python string may be discarded the garbage collector 2015-12-18 19:46:59 +00:00
hallgren fe1ce8389c feedback.cgi: exclude empty submission when showing the feedback list 2015-12-11 13:08:46 +00:00
aarne d41d512ae3 tweaking Chi language codes to get both speech input and output in Android ; one fix in DictionaryChi 2015-12-11 10:56:07 +00:00
hallgren 6b74a90bd4 Wide Coveage Translation Demo: sort parse results by probability
Because of the "heurisitc factor", the results returned by the parser might
not be in strict probability order. To compensate, a sorting pass has been
added to find and show the translation with the highest probability among the
10 first translations.

However, this means that the translation demo now immediately has to ask for
10 translations of every segment. Before, it initially asked for only one
translation of every segment, and then 9 more translations for a segment
when/if the user clicked on it. This change can slow down translation
noticeably (e.g. from 15s 30s to load an example with fiction in English).
2015-12-10 14:27:15 +00:00
hallgren bc644e643b Simple Translation Tool: bug fix
"File/Open In Wide Coverage Translation Demo" stopped working when support
for using different grammars in the Wide Coverage Translation Demo was added
On September 2.
2015-12-10 14:23:19 +00:00
krasimir 76bebb0656 fix in the App 2015-12-09 09:02:19 +00:00
krasimir b1d0839650 some revisions in the list of topics 2015-12-03 21:46:12 +00:00
krasimir 0bc612f3f5 fix in the app 2015-12-03 09:03:59 +00:00
krasimir f482300fd1 bugfixes in the app 2015-12-02 21:53:41 +00:00
krasimir 967b87d9d3 now this is a working version of the app with topic disambiguation but it is still not optimal 2015-12-02 20:47:54 +00:00
hallgren f2b057c078 GF shell, cc command: try to compute pre{...} tokens in token sequences
This is implemented as a simple post-processing step after partial evaluation
to try compute pre{...} tokens in token sequences. Nothing is done to deal
with intervening free variants.

This was done in response to a query from René T on the gf-dev mailing list.
2015-12-02 16:41:18 +00:00
hallgren 5bb792be5e GF.Data.Str: change matchPrefix to agree with the GF book and the run-time system
The matchPrefix function is used in str2strings and the partial evaluator to
compute pre{...} tokens. But unlike the description in the GF book and
the implementation in the run-time system, matchPrefix looked at
the concatenation(!) of all following tokens and not just the next token
when deciding how to compute a pre{...} token.

This is a backwards incompatible change, but it is subtle and probably won't
cause any problems. In particular, the example grammars are unaffected.
2015-12-01 15:14:27 +00:00
hallgren d6ae5e811b GF.Data.Str: unexport & comment out unused functions 2015-12-01 14:32:24 +00:00
krasimir fffab87469 visualization for topics in the Android app 2015-11-28 23:15:58 +00:00
krasimir 06043c06c7 added some more topics 2015-11-28 12:24:01 +00:00
krasimir 545e1a0cc8 fix in the Java binding: the Expr class should also ensure that libjpgf.so is loaded to avoid failures if Expr is the first class that is used. 2015-11-27 15:35:53 +00:00
hallgren 724b8aa8ae Wide coverage translation demo: updated to use App15.pgf 2015-11-27 09:56:49 +00:00
krasimir 008ca97428 added Expr.equals method in the Java binding 2015-11-26 15:38:12 +00:00
krasimir 451ef1183f added list of topics in the assets folder for Android app 2015-11-26 15:19:48 +00:00
krasimir 79ea4af960 added readTriple in libsg and its Haskell binding 2015-11-25 10:37:13 +00:00
krasimir 55cfea35eb the semantic graph view in the app now shows the real number of senses 2015-11-24 20:22:01 +00:00
krasimir 9b742e6b0d modify glosses.hs to merge several examples into one 2015-11-24 19:30:19 +00:00
aarne 0a38e137b6 vd -conll2latex now converts conll to latex. Without going through GF trees, but as a service to the dependency parser community. 2015-11-23 10:43:03 +00:00
aarne 1d80db4919 AppEst.pgf_c added to the ios project (generated file via xcode) 2015-11-19 22:25:18 +00:00
krasimir 9f9b23d0dd added mkInt and mkFloat in the Haskell binding to make it easy to create literal expressions 2015-11-19 13:18:19 +00:00
krasimir fe7397efe4 some more conversion patterns for Susanne 2015-11-18 10:16:55 +00:00
aarne 9335a2997c reduced label size and optimized arc length in vd -output=latex 2015-11-18 08:12:26 +00:00
aarne cda3feaf9f latex visualization of dep trees: explained the program better and eliminated most magic numbers 2015-11-17 18:08:32 +00:00
aarne d6a505169a added -output=latex to visialize_dependencies. This generates more familiar-looking output than the default graphviz, which can moreover be pasted into LaTeX documents. Some more work is needed to make long sentences look nice and fit on a page; a constant word length is now used to simplify computing the coordinates. 2015-11-17 09:11:10 +00:00
krasimir 8a7254e4f9 bugfix in Translator.java 2015-11-16 20:03:40 +00:00
krasimir 105db47ee4 now the Documentation module contains a category Definition which is used to generate definitions and examples for words in the App. 2015-11-16 14:57:32 +00:00
krasimir 279fdb74b7 bugfix in the Makefile for the Java binding for creating .jar files 2015-11-16 14:39:52 +00:00
krasimir 465aa785cf add a few popup characters on the qwerty and the nordic keyboards 2015-11-16 13:21:43 +00:00
krasimir f3a15303b1 update glosses.hs to split definitions from examples in separate triples 2015-11-13 22:41:20 +00:00
krasimir ebb3abad9f now by default the app shows glosses for the words for which we have something. this requires one more step in the App compilation which is described in the README 2015-11-13 17:28:11 +00:00
krasimir 634d3dff7d bugfix in the SG binding for Java 2015-11-13 17:21:27 +00:00
krasimir f6bb796276 added Java API for insertion of triples in the semantic graph 2015-11-13 14:34:24 +00:00
krasimir 6011fbc033 a new version of the conversion script for the Susanne corpus which covers a bit less than half of the data 2015-11-13 13:05:21 +00:00
aarne b33ea36c18 ios fix: spaces should be removed from Chi but not from Cat 2015-11-11 15:43:48 +00:00
aarne d452984bb5 src/ui/ios/GF-Offline-Translator tested to work in XCode with the current GF runtime and grammars. However, AppEst crashes the app - remains to find out why 2015-11-11 14:19:17 +00:00
cenny e95037b850 iOS app sources copied from https://github.com/cennydavidsson/GF. Not yet tested with current GF. 2015-11-11 13:30:21 +00:00
aarne a4919b6c94 moved old ios-swift files to the subdirectory src/ui/ios/old-swift 2015-11-11 10:56:22 +00:00
aarne 6cb2526253 AppEst was missing from darcs, oops 2015-11-11 09:40:35 +00:00
aarne 5e4e78097d added Estonian to the Android app 2015-11-09 13:32:57 +00:00
aarne 435f04b27f small fixes in Est translation and app.probs 2015-11-09 12:44:19 +00:00
kaljurand 0b1a880eae better Estonian Phrasebook modules from https://github.com/GF-Estonian/GF-Estonian 2015-11-09 12:43:29 +00:00
aarne a57eddf1df last fixes to make AppEst compile 2015-11-09 11:02:09 +00:00
aarne 73861c2993 started Estonian phrasebook modules to test AppEst 2015-11-09 10:43:24 +00:00
aarne ce6557f1f2 the visualization commands (aw,vd,vp,vt) can now show multiple trees. Previously they only showed one tree even if there were for instance after ambiguous parsing. The reason was that dot (graphviz) ignored all graphs but the first one. Now the graphs are put into separate files. The 'convert' command from ImageMagick package is used to combine them to one pdf. If this is a problem, the old behaviour can be restored by the -number=1 option to the tree-generating command, which cuts away all trees but the one and doesn't require ImageMagick. 2015-11-05 16:47:41 +00:00
aarne e97fa30c9d vp -showdep: as default label for the first (incl. only) argument, don't use dep#0 but assume it is the head 2015-11-05 08:30:13 +00:00
aarne eb49b6ab56 improved documentation of vp -showdep 2015-11-05 08:23:33 +00:00
aarne 0786dc6f42 dependency labels in parse trees now with the -deps flag, -file=labels_file for configuration. With -nocat option this shows reasonable dep trees, more familiar looking than the vd command. With -showfun flag, the tree gives a rather complete picture of the analysis of the sentence. 2015-11-04 20:36:47 +00:00
aarne e39787ab88 prepared visualize_parse for showing dependency labels 2015-11-04 17:28:09 +00:00
hallgren e8b5b8c390 Fix bug in gf -server mode with /gfshell requests not updating the state of the shell
The test for the quit command had the wrong polarity.
The problem was reported by Fahime Ghasemi on gf-dev mailing list.
2015-10-28 15:03:19 +00:00
krasimir 46fc386cfb bugfix for lookupMorpho in the C runtime 2015-10-14 07:36:46 +00:00
hallgren 8f23e37fe2 gf.cabal: require base>=4.5 (ghc>=7.4)
There are some low-level dependencies in GF.Text.Coding that break
compatibility with older versions of GHC and some other known problems.
2015-10-07 14:57:01 +00:00
hallgren 3a3963206b Update PGF API documentation link on home page, bump version number in gf.cabal to 3.7.1-darcs 2015-10-05 12:38:23 +00:00
hallgren 5c933bd4cf Setup.hs: fix off-by-one error the change count in the version info
The difference between "One change" and "No changes" is very noticeable.
2015-10-02 11:46:29 +00:00
hallgren 1b2dfbb6d8 Bump version number to 3.7.1 and finalize documentation
Updated version number in gf.cabal and update debian/changelog
News item on home page (index.html)
Some last minute edits on the download page
Move the new release notes and download page in place.
2015-10-02 10:15:02 +00:00
hallgren beccb68ddd GF.Interactive2: extension FlexibleContexts is needed for GHC 7.10 compatibility 2015-10-02 09:59:55 +00:00
hallgren 35a237d8cf Minor edit of GF 3.7.1 release notes 2015-10-02 09:34:20 +00:00
hallgren 42f7b77708 Some work on the release notes and download page for GF 3.7.1. 2015-10-01 12:57:31 +00:00
hallgren 3c90f664f7 bin/build-binary-dist.sh: fix hardcoded /usr install path for .pkg packages. 2015-10-01 12:49:55 +00:00
hallgren f89cf16d25 Makefile: make pkg: change install location from /usr to /usr/local
...for compatibility with OS X 10.11 El Capitan (which was released yesterday)
2015-10-01 08:39:35 +00:00
hallgren 13a8515164 cc -trace: don't try to show the bodies of lambda abstractions
This triggers evaluation of terms with free variables, which the partial
evaluator isn't equipped to handle.

Reported by Aarne.
2015-09-30 10:30:19 +00:00
krasimir 5faa99e89d added bracketedLinearizeAll in Python 2015-09-30 08:35:09 +00:00
hallgren bd421aff7b download/release-next.t2t: preliminary release notes for GF 3.7.1
To be released as soon as possible...
2015-09-29 20:15:51 +00:00
hallgren 1ccdd0d9fd GF source lexer: allow numeric character escapes in string literals
This makes the output from PGF.showExpr (and other Haskell code that uses
the Prelude.show function to show strings) parsable as GF source code in
more cases.

This is a workaround for the problem that GHC's implementation of the show
function uses numeric escapes for printable non-ASCII characters, e.g.
show "dålig" = "d\229lig"...
2015-09-29 12:18:35 +00:00
hallgren 35be182824 Preliminary new shell feature: cc -trace.
You can now do things like 

	cc -trace mkV "debug"

to see a trace of all opers with their arguments and results during the
computation of mkV "debug".
2015-09-28 22:23:56 +00:00
hallgren 82f238fe2b haskell-bind/SG.hsc: fix unsafePerformIO import problem with ghc>=7.8 2015-09-14 11:42:42 +00:00
hallgren af309f0d7d doc/gf-developers.t2t: script name for installing the C run-time was wrong, should be setup.sh 2015-09-14 11:19:29 +00:00
hallgren b66cbcac5e doc/gf-developers.t2t: some updates 2015-09-14 09:24:10 +00:00
hallgren 95d2b67556 WebSetup.hs: always enable parallel compilation of the RGL and the example grammars
This should work nicely now that GF itself can detect the number of processors
in the system.

Previously there was some code in WebSetup.hs that relied on Cabal to do this,
but it was commented out because it requires Cabal>=1.20, which is fairly new
and it would complicate the installation instructions if it was required to
compile GF...
2015-09-11 15:15:53 +00:00
hallgren bde7347045 Remove debug output introduced in previous patch
Oops.
2015-09-11 14:46:31 +00:00
hallgren 9556cf453f Parallel compilation: "gf -make -j" and "gf -make -j=n" now work as expected
* "gf -make -j=n" uses n parallel threads.
  * "gf -make -j" adapts to the number of processors in the system.

This mimics how "cabal build -j" and "ghc --make -j" works.

Support for this is implemented in the new module GF.System.Concurrency and
it depends on the function Control.Concurrent.setNumCapabilities, which is
only available in GHC>=7.6 (base>=4.6). GF can still be compiled with
GHC<7.6, but then you have to use +RTS -N -RTS to take advantage of
multicore processors.

To detect the number of processors in the system, the code depends on a
foreign import of a C function in the GHC run-time system.
2015-09-11 14:18:01 +00:00
krasimir ef888baec8 fix the debug mode in the tree generator in the C runtime 2015-09-11 09:26:17 +00:00
hallgren e5ec343f4f PGF2.Expr: a fix for ghc-7.6
Apparently Foreign.unsafePerformIO is not just a re-export of
System.IO.Unsafe.unsafePerformIO (or vise versa), it is a different function,
so you get an ambiguity if you import both.
2015-09-10 15:07:48 +00:00
hallgren fe3dfd7cc4 example/foods/FoodsIce.gf: converted from Latin-1 to UTF-8 encoding 2015-09-10 12:37:12 +00:00
krasimir d83316d7c6 add readTriple in the Haskell binding 2015-09-08 13:04:31 +00:00
krasimir b5e7f08c82 bugfix in the parser 2015-09-08 09:42:42 +00:00
krasimir ea83efa79c fix the metadata for sg databases 2015-09-04 16:34:40 +00:00
krasimir 3d60ce06bb storage for literals in libsg 2015-09-04 14:45:18 +00:00
thomas 76e4e65337 src/pgf-binary: reimplementation of GF's customized Data.Binary on top of the standard binary packages
This reduces the amount of duplicated code from 2400 to 490. No code from
data-binary-ieee754 is duplicated.

The module is called PGF.Data.Binary instead of Data.Binary. It is not
in use yet.
2015-09-04 12:58:29 +00:00
krasimir 206e38028f libsg is now accessible on android 2015-09-04 11:18:21 +00:00
krasimir 8cc7ccf80b API for triple queries from Java 2015-09-04 11:03:46 +00:00
krasimir 0b392e8cff the Haskell binding now covers everything in the libsg API 2015-09-04 10:02:42 +00:00
krasimir e9f7aa0e33 the new triples API in libsg now always works with expressions 2015-09-04 10:01:19 +00:00
hallgren 32f18b515e GF shell: write_file now writes one tree per line
This compensates for other changes that removed line breaks.
Maybe it should have a -lines options like ps and rf?
2015-09-03 20:42:38 +00:00
hallgren 829e1bbfd3 PGF2.Expr fixes
It needs to be listed in gf.cabal
unsafePerformIO is only exported from System.IO.Unsafe, starting with ghc-7.8
2015-09-03 20:41:00 +00:00
krasimir 3328dd1f8d Java API for opening/closing SG databases 2015-09-03 13:52:32 +00:00
krasimir c322e686a0 bugfixes in libsg 2015-09-03 13:24:13 +00:00
krasimir 7064181860 the Eclipse project for the Java binding is now replaced with a simple Makefile 2015-09-03 10:27:50 +00:00
krasimir e97e377b05 silence compilation warnings in the Java binding 2015-09-03 10:11:23 +00:00
krasimir ef90fa4abe API for transactions in libsg 2015-09-02 13:01:23 +00:00
krasimir 73b41687c8 added the minimal Haskell API for storing expressions/triples in the semantic graph 2015-09-02 07:12:36 +00:00
krasimir 4a1da62d84 bugfix in libsg 2015-09-02 06:55:39 +00:00
hallgren 0449784427 Wide coverage translation demo: make it easier to use with different grammars 2015-09-02 14:44:30 +00:00
krasimir 66454d844a added code for visualization of the sematic graph in the app. The code is there but the menu item for activating it is not there yet since the functionality is not complete 2015-09-01 08:00:56 +00: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 9a58afe121 still partial implementation for complex queries in libsg, and added sg.h which I had forgotten to include in darcs 2015-08-31 07:15:20 +00: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
krasimir f2952768d5 query for triples and cleaner API 2015-08-27 15:18:51 +00:00
hallgren 128236eab9 GF shell: change parse & linearize to obtain useful results from p|l and l|p in more cases
These changes are inspired by the gf -cshell implementation of these commands.

The output of the linearize command has been changed to remove superfluous
blank lines and commas, and deliver the result as a list of strings instead of
a single multi-line string. This makes it possible to use -all and pipe the
results to the parse command. This also means that with -treebank -all,
the language tag will be repeated for each result from the same language.

The parse command, when trying to parse with more than one language, would
"forget" other results after a failed parse, and thus not send all
successful parses through the pipe. For example, if English is not the first
language in the grammar,

    p "hello" | l

would output nothing, instead of translations of "hello" to all languages,
forcing the user to write

   p -lang=Eng "hello" | l

instead, to get the expected result. The cause of this behaviour was in the
function fromParse, which was rather messy, so I assume it is not intentional,
but the result of a programming mistake at some point.

The fromParse function has now been refactored from a big recursive function
into 

    fromParse opts = foldr (joinPiped . fromParse1 opts) void

where the helper functions fromParse1 deals with a single parse result and
joinPiped combines multiple parse results.
2015-08-26 13:56:23 +00:00
krasimir 32d5d4b52f added libsg in the C runtime 2015-08-24 09:36:51 +00:00
krasimir e43608eca0 retrieval of a triple 2015-08-21 16:31:43 +00:00
krasimir 17a572dda6 API for storing triples in the semantic graph 2015-08-21 16:13:03 +00:00
hallgren c25705519a GF shell bug fix: visualize_parse didn't accept the -lang flag
Even though the -lang flag was handled in the implementation, it was not
documented, and GF.Command.Interpreter rejects undocumented flags:

	option not interpreted: lang

This must be a fairly old bug, so it suggests that the vp command isn't used
much...
2015-08-21 12:20:40 +00:00
hallgren e178615338 GF -cshell: implement visualize_parse
Supported options and flags: -lang -format -view
None of the rendering options available in the Haskell run-time are supported.
2015-08-21 12:14:47 +00:00
krasimir d1b46ece28 add a type signature in GF.Interactive2 to make ghc-7.6.3 happy 2015-08-21 11:58:32 +00:00
hallgren 026d6a73ad gf -cshell: implement visualize_tree
But the following options are not supported: -mk -nocats -nofuns
2015-08-21 10:14:46 +00:00
hallgren 786ef54d62 gf -cshell: implement a subset of print_grammar and abstract_info
pg supports only the -funs, -cats and -langs output modes.

ai IDENTIFIER shows info about a category or a function. ai can not type check
and refine metavariables in expressions.
2015-08-20 16:06:10 +00:00
hallgren 330d42296c PGF2: export BindType(..) and two new functions: showType & categories
showType :: Type -> String
categories :: PGF -> [Cat]

But both are implemented as quick hacks: categories is implemented by listing
all functions and taking the target categories from their types. showType uses
ppType copied & modified from PGF.Type, and needs a ppExpr, which is currently
implemented by wrapping showExpr...

TODO: need something correpsonding to PGF.categoryContext.
2015-08-20 15:55:24 +00:00
krasimir 2f9704a624 add the initial sketches of the semantic graph storage 2015-08-20 13:31:43 +00:00
hallgren 2ff7e829dc gf -cshell: linearize: implement options -all -list -treebank
Options -all and -list use PGF2.linearizeAll, which lists all variants, but
not all forms...
Also, there is no attempt to be compatible with the output from the Haskell
run-rime shell, which produces superfluous blank lines (-all) or
commas (-list), and mixes tagged and untagged lines (-treebank -all).
2015-08-18 16:05:45 +00:00
hallgren 41075fb50a GF shell: restore the eh command to working order and document it
Also, when the command line parser fails, append the problematic command line
to the error message "command not parsed".
2015-08-18 13:13:31 +00:00
hallgren 17e7a01ae1 GF shell: add the start options to GFEnv, turn "reload" into an ordinary command 2015-08-17 15:56:39 +00:00
hallgren 2df2d4a683 GF Shell: "ph | wf -file=foo.gfs" now works as advertised
The print_history command was among the commands implemented in an ad-hoc
way instead of being handled by the command line interpreter, which means
it could not be used in a pipe, as in the example in the help info.
The refactoring in the previous patch made this old bug easy to fix.

Also fixed a bug in the "empty" command, introduced when moving the PGF from
CommandEnv to GFEnv.

TODO: fix the undocumented eh command. A comment in the help info for
print_history, and some commented out old code, suggest that eh means
"execute_history", but at present it does nothing...
2015-08-13 15:30:23 +00:00
hallgren 87e64a804c GF Shell: refactoring for improved modularity and reusability:
+ Generalize the CommandInfo type by parameterizing it on the monad
  instead of just the environment.
+ Generalize the commands defined in
  GF.Command.{Commands,Commands2,CommonCommands,SourceCommands,HelpCommand}
  to work in any monad that supports the needed operations.
+ Liberate GF.Command.Interpreter from the IO monad.
  Also, move the current PGF from CommandEnv to GFEnv in
  GF.Interactive, making the command interpreter even more generic.
+ Use a state monad to maintain the state of the interpreter in
  GF.{Interactive,Interactive2}.
2015-08-13 10:49:50 +00:00
hallgren d860a921e0 GF Shell: turn set_encoding into a common command
Implemented in GF.Command.CommonCommands instead of GF.Interactive &
GF.Interactive2.
2015-08-12 15:00:03 +00:00
hallgren b536b02534 GF.Interactive2: cleanup 2015-08-12 12:33:36 +00:00
krasimir 8e39c1f622 Bugfix in the android app for Chinese which was causing the first character in the translation to disappear 2015-08-12 18:44:45 +00:00
hallgren 6fff2def39 GF shell: source commands (cc, sd, so, ss & dg) can now be used in pipes
These commands are now implemented as regular commands (i.e. using the
CommandInfo data type) in the new module GF.Command.SourceCommands.

The list of commands exported from GF.Command.Commmands now called pgfCommands
instead of allCommands.

The list allCommands of all commands is now assembled
from sourceCommands, pgfCommands, commonCommands and helpCommand in
GF.Interactive.
2015-08-12 11:05:08 +00:00
hallgren 063912c386 Move welcome message from GF.Interactive & GF.Interactive2 to GF.Command.Messages
...to avoid the duplication.
2015-08-12 11:01:45 +00:00
hallgren e50f92c41d GF shell: make environment types abstract, comment out some dead code 2015-08-11 16:14:38 +00:00
krasimir 6b90024d09 pickling/unpickling for types 2015-08-12 10:11:00 +00:00
krasimir ac6ce58777 support for transparent pickling/unpickling of abstract expressions in Python 2015-08-12 09:21:23 +00:00
hallgren 911310bb40 gf -cshell: improved help for the 'import' command 2015-08-10 16:39:31 +00:00
hallgren 666945a7b0 Forgot to include gf.cabal in previous patch 2015-08-10 16:38:28 +00:00
hallgren 10e7bacbfd Factor out common code from GF.Command.Commands and GF.Command.Commands2
Created module GF.Command.CommonCommands with ~250 lines of code for commands
that do not depend on the type of PGF in the environemnt, either because they
don't use the PGF or because they are just documented here and implemented
elsewhere.

TODO: further refactoring so that documentation and implementation of
*all* commands can be kept together.
2015-08-10 16:30:17 +00:00
hallgren 8d6e61a8df gf -cshell: preliminary support for the C run-time system in the GF shell
Some C run-time functionality is now available in the GF shell, by starting
GF with 'gf -cshell' or 'gf -crun'. Only limited functionality is available
when running the shell in these modes:

- You can only import .pgf files, not source files.
- The -retain flag can not be used and the commands that require it to work
  are not available.
- Only 18 of the 40 commands available in the usual shell have been
  implemented. The 'linearize' and 'parse' commands are the only ones
  that call the C run-time system, and they support only a limited set of
  options and flags. Use the 'help' commmands for details.
- A new command 'generate_all', that calls PGF2.generateAll, has been added.
  Unfortuntaly, using it causes 'segmentation fault'.

This is implemented by adding two new modules: GF.Command.Commands2 and
GF.Interactive2. They are copied and modified versions of GF.Command.Commands
and GF.Interactive, respectively. Code for unimplemented commands and other
code that has not been adapted to the C run-time system has been left in
place, but commented out, pending further work.
2015-08-10 14:12:51 +00:00
hallgren d38efbaa6a Refactor GF shell modules to improve modularity and reusability
+ Move type CommandInfo from GF.Command.Commands to a new module
  GF.Commands.CommandInfo and make it independent of the PGF type.
+ Make the module GF.Command.Interpreter independent of the PGF type and
  eliminate the import of GF.Command.Commands.
+ Move the implementation of the "help" command to its own module
  GF.Command.Help
2015-08-10 13:01:02 +00:00
krasimir 20644d0299 bump the version number for the Android app 2015-08-10 08:34:29 +00:00
krasimir a33e06649d now the app shows the correct abstract syntax names for unknown words while it still produces the right TTS 2015-08-06 14:19:13 +00:00
krasimir 26c2f12170 another fix in the Thai keyboard 2015-08-06 14:18:49 +00:00
hallgren ac9e86f5f2 GF Home Page: Updated the link to the Haskell API, and a couple of other links 2015-08-06 14:07:18 +00:00
krasimir 336128309b disable the visualization of glosses in the App until we have a complete database 2015-08-06 13:02:27 +00:00
krasimir 3f90b8305a set the optimization levels for the JNI code to release level 2015-08-06 13:01:07 +00:00
krasimir 9b0cb5adad bugfix for the word prediction in the App 2015-08-06 12:51:42 +00:00
krasimir 266fe48aa8 a better layout for the Thai keyboard 2015-08-06 12:23:27 +00:00
krasimir f6796ced2d bugfix in lookup_morpho in the C runtime 2015-08-06 11:51:23 +00:00
hallgren 7736ba5694 Update doc/gf-help-full.txt (GF shell reference manual) 2015-08-04 11:49:17 +00:00
hallgren 8c1c29b829 FoodsTur.gf: use Predef.BIND instead of "&+"
...for better results when used with the C run-time system.
2015-07-28 10:58:00 +00:00
aarne a1a602c681 rewrote an mkPN application in WordsGer to work around a problem that might be a type checker bug 2015-07-23 16:16:38 +00:00
hallgren 3788098e0a Setup.hs: ignore .* instead of . and .. when compiling/copying all files in a directory
This avoids problems with .DS_Store files created by the Finder on OS X.
2015-07-22 14:34:02 +00:00
hallgren e9c060d3f9 PGF web service: option to leave &+ uninterpreted in linearized output
By adding unlexer=none (or unlexer=id) in requests that output linearizations
(e.g. command=linearize, command=translate), you can leave &+ uninterpreted
instead of gluing the adjacent tokens. This means that the output is left in
a format that can be parsed in a subsequent request.

To implement this consistently, the function linearizeAndBind was replaced
with the function linearizedAndUnlex (but there are a couple of requests
that do not call this function...)

Note that this applies to the Haskell run-time requests only. The C run-time
request (c-linearize, c-translate) always applies the &+ token and the
c-parse request can parse input containing glued tokens.
2015-07-21 14:21:49 +00:00
aarne 55e2a4c9cb added PassV2 to App; PassVPSlash did not work as VPSlash was disabled for speed reasons 2015-07-21 13:01:29 +00:00
aarne db23eec58e removed the obsolete examples/translator directory, which caused confusion 2015-07-20 14:32:50 +00:00
hallgren 400195b307 Setup.hs: correctly parse output from 'darcs changes' for newer versions of darcs
It worked with darcs-2.8 before, now it also works with darcs-2.10.
2015-07-20 13:02:49 +00:00
krasimir 880f0a63d0 make the virtual machine instructions more uniform 2015-07-16 15:43:18 +00:00
krasimir d22c07dcfb refine the GNU lightning patch to avoid generating unnecessary code 2015-07-16 15:29:14 +00:00
krasimir fac48d43e8 bugfixes in the JIT compiler for x86_64. One of the fixes is actually in GNU lightning 2015-07-16 15:21:09 +00:00
aarne 3ad6e0c6bc added a space after the tag in word alignment to work around a graphviz bug shown with Chinese characters 2015-07-16 08:36:14 +00:00
hallgren f994d556e0 Wide Coverage Demo: avoid errors if d3 or d3Tree can't be loaded 2015-07-15 14:07:26 +00:00
krasimir 4810a0b8e5 add the Python API tutorial to the GF home page 2015-07-15 12:12:50 +00:00
krasimir aa6b6d3155 fixed missing do in the Haskell binding 2015-07-12 15:37:45 +00:00
krasimir 192b1cc018 the reasoner's states are now closures just like the code for the def rules. This means more compact JIT compiled code and uniformity with the code for def rules 2015-07-04 15:06:34 +00:00
krasimir b3680b6025 merge the states for reasoning and evaluation into a single structure 2015-07-03 11:53:52 +00:00
krasimir 1c2b6702d7 merge brassiere_1_N/brassiere_2_N and aborigine_N/aboriginal_N 2015-07-01 11:14:48 +00:00
krasimir 7daf119cbc forgot to add the DBManager 2015-07-01 09:51:01 +00:00
krasimir 34ef01f613 the Android app now can show Glosses from WordNet 2015-07-01 09:44:56 +00:00
krasimir fa13e1834c specify strict APP_PLATFORM to avoid crashes on devices with older android version 2015-06-30 22:14:12 +00:00
krasimir 22773909bf add function 'functions' in the Haskell binding to the C runtime 2015-06-30 20:42:19 +00:00
krasimir e6ddb7a578 some more comments in the help page 2015-06-30 17:01:56 +00:00
krasimir 789c35bd0c bugfix in the Android keyboard 2015-06-30 16:51:22 +00:00
krasimir 4d33dfd698 better layout for the Thai keyboard 2015-06-30 15:54:14 +00:00
krasimir a2bf81a2ca increase the version number for the app 2015-06-30 13:53:57 +00:00
krasimir 5b0f7d81cc added ant.properties in the App folder to make it easier to prepare releases 2015-06-30 13:53:09 +00:00
krasimir 6f2afdd53e bugfix in the parser for lexical lookup 2015-06-30 12:54:19 +00:00
hallgren 21df1ed2f5 Remove left over [...] from release notes, bump version number in gf.cabal to 3.7-darcs 2015-06-25 14:56:15 +00:00
hallgren c90c8afca5 Update home page, download page & release notes for GF 3.7. Bump version number in gf.cabal 2015-06-25 12:22:06 +00:00
hallgren 2643f3cee6 Documentation updates for the release of GF 3.7 2015-06-25 12:10:47 +00:00
krasimir c7f1803410 bugfix in the bottom-up prediction for the parser 2015-06-25 09:46:43 +00:00
hallgren c6cdb66cf2 runtime/c/pf/jit.c: silence warning about alloca on MINGW32 2015-06-23 15:49:31 +00:00
hallgren 22ba8d34ff Bump version of .gfo and .pgf files, improve error messages on version mismatch
Becacuse of the new special tokens added to the Symbol type, .gfo and .pgf
files produced with the current version of GF can not always be used with
older versions of GF and the PGF run-time system.

The PGF version number was increased from (2,0) to (2,1). GF can still
read version (2,0) and (1,0), so old PGF files continue to work.

The GFO version was increased from "GF03" to "GF04".
2015-06-23 12:58:14 +00:00
hallgren 984c09923c WebSetup.hs: a note about parallel builds 2015-06-23 10:22:35 +00:00
hallgren 72237e6fff doc/gf-developers.t2t: add a note about parallel builds
Also added a note that partial builds (cabal build rgl-none, etc) doesn't work
with newer versions of cabal.
2015-06-23 10:20:04 +00:00
hallgren e340b415c7 Remove the automatically generated doc/gf-developers.html 2015-06-22 15:10:37 +00:00
krasimir c515d7c4dc three more points in the release notes 2015-06-17 13:08:03 +00:00
krasimir 2f2f459a89 forgot changes in the serialization in the Haskell runtime 2015-06-17 12:58:46 +00:00
krasimir e352742b8c the orthographic tokens were broken when they appear inside a dictionary entry. Now this is fixed by treating those as syntactic rules 2015-06-12 13:03:19 +00:00
hallgren 6302d982ff Adding download/release-next.t2t (to be renamed) with preliminary release notes for the next release
You can use 'darcs changes --from-tag=RELEASE-3.6' to get a list of changes
since the previous release and extract noteworthy changes from there.
2015-06-11 13:55:18 +00:00
krasimir ac01e5019a fixed typo in the Haskell runtime 2015-06-11 07:41:28 +00:00
aarne 5f5db10714 updated Android helpfile 2015-06-09 09:32:11 +00:00
aarne 4b044566a4 note on official vs development version of the Android app 2015-06-09 09:28:39 +00:00
aarne ceba45af5e updated demos/app.html 2015-06-09 09:22:59 +00:00
krasimir 9b0edaacdb print error message for missing abstract categories in the C runtime 2015-06-05 07:41:59 +00:00
aarne 93bde37a97 AppFre.pgf added to repo by mistake, now removed 2015-06-02 13:21:55 +00:00
aarne 3643e20406 copied examples/app to examples/slowApp; the new app is a bit scaled down but much faster 2015-06-02 12:59:29 +00:00
aarne eb07e4e862 French input grammar FreInput separated from Fre 2015-06-02 09:45:44 +00:00
aarne 212bfd7acc an input grammar for French - 40 times faster, makes all the difference in the app! 2015-06-02 09:13:15 +00:00
hallgren f763074eec Wide Coverage Translation Demo: add buttons for speech output
Also fixed a problem with showing inflections for words containing underscores
(e.g. race_2_N).
2015-05-27 13:29:41 +00:00
hallgren 75aa394dc1 minibar: moved 2 reusable functions from minibar_translations.js to minibar_support.js 2015-05-27 13:28:40 +00:00
hallgren baf9fc576c examples/phrasebook/Makefile2: include Jpn and Snd in the build 2015-05-21 15:01:27 +00:00
hallgren a7e8a566cf Omit -optimize-pgf when compiling small example grammars
The minibar lets the user choose any category as the start category, but this
can lead to run-time errors for grammars compiled with -optimize-pgf.

The problem can also be observed in the GF shell. For example, 
"linearize Fish" (which means that the start category is Kind) fails for 
some languages when Foods.pgf is compiled with -optimize-pgf.
2015-05-21 14:44:20 +00:00
hallgren 8039633528 Fixed a problem with minibar when invoked from gfse or the syntax editor
Minibar needs js/langcode.js now, so need to include it in gfse/index.html
and syntax-exitor/editor.html too.
2015-05-21 08:00:49 +00:00
hallgren a37d792d14 minibar: cosmetic fix for the "To:" menu 2015-05-19 14:26:39 +00:00
hallgren 1018171bca minibar: more work on speech output 2015-05-19 13:38:42 +00:00
krasimir 786da46a99 added callback in C for unknown words 2015-05-19 09:15:48 +00:00
krasimir 616a24cba4 the NERC in C is now fully up-to-date with the other NERCs. In addition the NERC in Haskell and Java now refuses to recognize names that match words in the lexicon. The latest is useful for German 2015-05-19 07:26:56 +00:00
hallgren 1edd58fff8 minibar: speech output (experimental) (in browsers that support it) 2015-05-18 15:58:57 +00:00
hallgren 011e980e9d minibar: use SVG instead of PNG for trees and alignment diagrams if supported by the browser 2015-05-18 14:54:29 +00:00
krasimir 09a57b34a8 bugfix in the NERC in C 2015-05-18 15:02:44 +00:00
krasimir ce05465365 the callbacks in C now take the concrete syntax as a parameter 2015-05-18 14:41:33 +00:00
krasimir 773a33979b pgf_lookup_morpho and pgf_lookup_word_prefix are now also case insensitive if case_sensitive=off 2015-05-18 14:20:35 +00:00
hallgren 9d21b73a81 GF cloud: updated lists of supported RGL languages and some minor style updates 2015-05-18 13:16:45 +00:00
krasimir b4e41cabdd "flags case_sensitive=off" makes the parser case insensitive 2015-05-11 14:11:42 +00:00
krasimir 1e0d7be4f4 added all orthographic primitives 2015-05-11 13:01:39 +00:00
krasimir 13998e3287 implemented CAPIT in parsing 2015-05-08 18:54:50 +00:00
krasimir 483df35954 fix in the dictionary lookup 2015-05-08 18:12:24 +00:00
krasimir ea0f74d455 a new nice and elegant algorithm for dictionary lookup in the parser 2015-05-08 14:38:24 +00:00
krasimir 365c7bb1d8 the parser is now fully Unicode compatible 2015-05-08 09:23:29 +00:00
krasimir b961e9a255 fix gu_ucs_is_space in libgu 2015-05-07 15:50:55 +00:00
krasimir bf3b6f2794 fix the NERC in C to work for PN as literal 2015-05-07 15:16:55 +00:00
krasimir 7e43e5727a fix pgf-translate to use the NERC again 2015-05-07 14:49:30 +00:00
krasimir 01c4836d4d fix the UTF8 implementation in libgu 2015-05-06 15:51:12 +00:00
hallgren c1265db3a7 GF.Haskell: small pretty printing improvement 2015-05-05 14:06:20 +00:00
hallgren b0e8a49b9a GF.CompileOne: use random numbers to avoid temporary file name clashes
When using make -j to compile examples/app or examples/phrasebook, since
the dependencies are not completely specified in the Makefiles, it can
happen that the same file is compiled at the same by more than one process,
resulting in an error when they try to write the same .gfo.tmp file. Adding a
random number to the temporary file name avoids this problem.
2015-05-05 13:51:35 +00:00
krasimir 3649412ce2 use a temporary pool for linearizeAll in Haskell too 2015-04-27 19:39:16 +00:00
krasimir 82eeb3ef2b fix a memory management error in linearizeAll in the python binding. a new temporary pool is used on every iteration to keep memory allocation to constant 2015-04-27 19:27:11 +00:00
krasimir c1129e15fa fix warning in the Python binding 2015-04-27 18:33:18 +00:00
krasimir 5f25804b73 mark two more functions as static in the Python binding 2015-04-27 18:24:21 +00:00
krasimir fc4b39d65f make linearizeAll in the Haskell binding lazy 2015-04-27 16:28:45 +00:00
prasanth.kolachina 8efff76703 K translations in pipeline 2015-04-27 15:59:49 +00:00
prasanth.kolachina 53f0307404 K Linearizations 2015-04-27 15:59:25 +00:00
prasanth.kolachina dedad558a8 Python linearizeAll with lazyness
linearizeAll function will take an expression and an optional
n keyword argument and return an iterator to the n-variant 
linearizations of the expression.
2015-04-27 15:47:57 +00:00
prasant.kolachina 9b723af995 remove parsing for long sentences, to stop pipeline from crashing/hanging 2015-04-27 13:05:14 +00:00
prasant.kolachina 2555891654 bug fix in python examples 2015-04-26 11:00:17 +00:00
prasant.kolachina 3ec571b03d bug fix python examples 2015-04-26 10:18:21 +00:00
prasant.kolachina aa79f6bb28 Bug fix python examples 2015-04-26 10:16:23 +00:00
prasanth.kolachina c17501540a Changes in lexer 2015-04-26 07:44:18 +00:00
prasanth.kolachina 100c583916 Bug fix in gf_utils 2015-04-24 18:46:03 +00:00
prasanth.kolachina 7d876fd665 No debug messages 2015-04-22 18:51:55 +00:00
prasanth.kolachina 12216449e0 Minor bug in pgf parse and kparse 2015-04-22 18:49:49 +00:00
prasanth.kolachina 57006b6296 README for Python translation pipeline 2015-04-22 13:14:26 +00:00
prasanth.kolachina c3a626686e Cleaned up Python Translation pipeline 2015-04-22 11:30:26 +00:00
prasanth.kolachina 2b1b0568a1 Examples for using Python bindings
The examples directory contains two modules for using Python bindings in GF.
The gf_utils module provides various Python functions to perform parsing
and linearization using the C runtime. Additionally, the translation_pipeline
module is an replica of the current pipeline used in the Wide-coverage
Web translation pipeline.
2015-04-22 07:04:21 +00:00
aarne 2804160f07 some translate.probs decreased ; fine-tuning in pgf-hsbind-trans 2015-04-21 14:13:13 +00:00
krasimir 27bd12ce67 forgot to update gf.cabal 2015-04-20 12:25:52 +00:00
krasimir 8c697b72a4 drop the dependency to FST 2015-04-20 11:56:13 +00:00
krasimir 5d7633fdb4 added getpagesize() definition for Windows 2015-04-20 09:57:28 +00:00
krasimir aebc868c22 fix in the Haskell binding for Windows 2015-04-20 09:55:15 +00:00
aarne 0add1bdb20 pgf-hsbind-trans now with linearizeAll 2015-04-17 14:33:28 +00:00
hallgren 78a34bc52b pgf-shell.hs: remove call to performGC and document the 'i' command 2015-04-17 13:34:41 +00:00
hallgren 3263968c79 gf -server: include grammar modification time in the info returned by /version 2015-04-17 13:21:20 +00:00
hallgren 9e3afea129 PGF web service: add command c-linearizeAll to obtain all variants
Implemented by calling the recently added function PGF2.linearizeAll.
2015-04-17 12:59:03 +00:00
krasimir 86e16d9e3d added linearizeAll in the Haskell bindings 2015-04-17 12:33:22 +00:00
krasimir 4221757895 bugfix in the java binding 2015-04-16 13:53:03 +00:00
aarne a5305f1d9f simplified the example translator and renamed it to pgf-hsbind-trans 2015-04-16 13:51:18 +00:00
hallgren 1420e35cbb Wide Coverage Translation Demo: length limit test uses # of source chars now
The length limit test previously used the URL-encoded UTF-8 representation
of the source sentense. This was needed because of a fixed size buffer in C.
Now that the server is in Haskell, the only reason the length is limited
is to avoid excessive time and space use in the parser, so it is better to
count source characters. This also avoids being too restrictive with
non-European languages.
2015-04-16 12:21:32 +00:00
aarne 2ceeea17fd lower probability for chunked phrases 2015-04-16 11:39:28 +00:00
aarne e2175a31ce restored Cantonese as app Chi speech output: nothing else seems to work 2015-04-16 06:52:09 +00:00
aarne b908b2ba3f extended pgf-shell functionalities: batch translation with many trees, and intervening context-dependent tree manipulation 2015-04-15 15:53:44 +00:00
hallgren 8cfb989c9c Translating linearization functions to Haskell: move Haskell AST and pretty printer to GF.Haskell
For further separation of pretty printing concerns from conversion concerns,
the Haskell AST and pretty printer has been moved to its own module,
GF.Haskell, also allowing it to be reused in other places where Haskell
code is generated.
2015-04-14 12:44:14 +00:00
aarne 9aeffa15c9 updated app help file ; added backslash to ? in Thai keyboard xml to make it compile 2015-04-13 09:45:05 +00:00
hallgren 71de9a26ef Wide coverage translation demo: show an informative error message for sentences that exceed the length limit 2015-04-09 10:18:41 +00:00
hallgren d249538469 GF.Compile.ConcreteToHaskell: some documentation 2015-04-07 14:51:52 +00:00
hallgren 6e81383231 GF.CompileInParallel: get rid of the cryptic 'thread blocked indefinitely in an MVar operation' message after compilation errors
Instead show a message saying how many modules were affected by the compilation
errors.
2015-03-31 13:26:51 +00:00
hallgren 12f5dc9ece Wide Coverage Translation Demo: zoomable panable collapsible syntax trees
This is an experimental solution using JavaScript code from
https://github.com/christos-c/tree-viewer, d3js.org and jquery.com.
2015-03-24 18:03:10 +00:00
hallgren 6d72126ffc PGF Service: add an option to return syntax trees in JSON format
The parse/translate/c-parse/c-translate commands now recognize the option
jsontree=true to augment the returned JSON structure with a field called
"jsontree" next to the field "tree", or "jsontrees" next to "trees",
containing the the returned syntax tree in JSON format (the same format
returned by the abstrjson command, similar to the format returned in the
"brackets" field).
2015-03-24 17:37:43 +00:00
hallgren 2041578406 Wide Coverage Translation Demo: add a way to obtain inflection tables
Too see inflection tables, click on a translated sentense, then click on a
blue function name in the textual representation of the abstract syntax tree.
2015-03-22 22:54:05 +00:00
hallgren e475fb1091 Wide Coverage Translation Demo: draw abstract trees and parse trees
You can now click on a tree to toggle between the abstract syntax tree and
the parse tree.

Also, the implementation now uses the new C run-time requests, e.g.

	App14.pgf?command=c-abstrtree&tree=...

so no need to install AppEng.pgf on the server any more.
2015-03-19 15:26:18 +00:00
hallgren 5db57b1a58 PGF service: add commands c-abstrtree and c-parsetree
These are the C runtime variants of the absttree and parsetree commands. They
work in the same way, but support fewer rendering options.
2015-03-19 14:17:45 +00:00
hallgren 99f87c30d0 haskell-bind: add bindings to graphviz rendering functions for abstract&parse trees 2015-03-19 14:14:30 +00:00
krasimir e72fcb1513 fix the compilation of gu/mem.c on Windows. For now memory mapped pools on Windows are just not supported. 2015-03-19 09:28:31 +00:00
hallgren a120ed1e22 Wide Coverage Translation Demo: draw syntax trees
The trees are drawn by using the Haskell run-time request 

	AppEng.pgf?command=abstrtree&tree=...

Thus AppEng.pgf has to be installed on the server and in sync with App14.pgf.
This is to avoid loading the huge App14.pgf in the Haskell run-time system, and
is enough since we only need the abstract syntax.
2015-03-18 16:23:04 +00:00
aarne 1c1e6bf005 Mongolian on index page 2015-03-13 15:24:10 +00:00
aarne 8ac46d55f7 added Nepali to Setup: it had been missing 2015-03-13 15:10:16 +00:00
aarne 0f18e65b5e added Afrikaans to Setup: it had been missing for a while 2015-03-13 15:08:03 +00:00
aarne 8fcfc49fed updated Setup and RGL status.html with Mongolian: now it compiles by default 2015-03-13 14:51:01 +00:00
hallgren 421bdf3903 GF.CompileInParallel: fix a Win32 problem
Recognize \ in addition to / when extracting path components.
2015-03-13 13:48:14 +00:00
hallgren cd50599267 Wide Coverage Translation Demo: improved performance
For improved performance, request only one translation from the server
initially. When the user clicks on a translated sentense, request 9 more
translations.
2015-03-11 17:53:25 +00:00
hallgren 748ebae433 GF.Server: request logging: increase length limit from 100 500 chars per field 2015-03-11 15:56:06 +00:00
aarne 1508fc764d DictionarySwe: kick_V2, mouse_N 2015-03-11 08:08:38 +00:00
krasimir 8f0624bc30 remove the meta_item variable from the parse state 2015-03-06 15:18:50 +00:00
hallgren 4c03e2e67d Simple Translation tool: add File menu command 'Open in Wide Coverage Translation Demo'
Just as a quick way to test different documents in the Wide Coverage
Translation Demo.
2015-03-06 12:04:17 +00:00
hallgren 4e4d2a77e1 gf.cabal: increase idle time before full GC to 5 seconds
The builtin GHC RTS default is 0.3 seconds, which results in very bad
interactive behaviour when working with a large grammar in the GF shell.
2015-03-05 15:30:41 +00:00
krasimir 0238579610 remove some more old code 2015-03-05 14:47:36 +00:00
krasimir 7539809461 removed some operations in GeneratePMCFG. They didn't work well with variants and are now obsolete with the new partial evaluator 2015-03-05 13:58:18 +00:00
hallgren 854fec6d3a GF.Compile.Compute.ConcreteNew: add dynamic table conversion
If the enumaration of table parameter values fails during the static
traversal phase, try again in the dynamic computation phase, when the values
of bound variables are known.

This is necessary to properly deal with generic table construction in opers,
like the ones found in prelude/Coordination.gf, e.g.

  consTable : (P : PType) -> ... = \P ... -> {s1 = table P {...} ; ... }
2015-03-04 18:20:16 +00:00
hallgren 814c80124b GF.Compile.Compute.ConcreteNew: some refactoring for readability 2015-03-04 13:30:11 +00:00
hallgren 6480620e1d Fix to avoid "error (no reason given) OCCURRED IN optimizing <cat>"
GF.Compile.Optimize.mkLinReference can fail and cause this error because
the helper function inside it applies msum to a list that might be empty
(if there is a record type that does not contain a field of type Str).
This means that it can return mzero::Err, i.e.

   Bad "error (no reason given)"

which can slip through the top level test that only catches Bad "no string".
2015-03-02 14:27:36 +00:00
hallgren 632aab83c3 GF shell: fixed problems with previous change of the -retain flag
Because the prompt included the name of the abstract syntax, the loading
of the PGF was forced even if -retain was used. Even worse,
if an error occured while loading the PGF, it was repeated and caught
every time the prompt was printed, creating an infite loop. The solution
is to not print the name of the abstract syntax when the grammar is
imported with -retain, which is the way things were before anyway.
2015-02-27 16:42:09 +00:00
hallgren e0bc6308e0 GF shell: create a PGF also when the -retain flag is used
The commands available in the shell after import -retain are now a superset
of the commands available after import without -retain.

The PGF is created lazily, so there should be no performance penalty if
the PGF isn't needed. If there are errors, they won't be reported until a
command that uses the PGF is entered.
2015-02-27 13:49:13 +00:00
hallgren d3f6b9851f gf.cabal: adjust version constrains on the network, cgi and httpd-shed packages 2015-02-25 18:41:57 +00:00
hallgren 9c6b5df741 PGFService: make the restriction on parallelism more effective
Restrict the entire request handler instead of just the call to the C parser.
2015-02-25 16:08:21 +00:00
krasimir a5817ff492 fix some out-of-date code for the PGF_RESULT_DEBUG mode in the parser 2015-02-26 13:31:26 +00:00
krasimir 9c83b2e27d use the same trick for comparison of doubles in cmp_expr_state 2015-02-26 13:10:01 +00:00
krasimir 532647c978 bugfix in the parser which caused some items to be poped in the wrong order if their probability differ with less that 0.5 2015-02-26 12:17:59 +00:00
hallgren 52212d5a76 Wide Coverage Translation Demo: better resizing behavior on startup and when pasting text 2015-02-25 15:36:25 +00:00
hallgren e68370e463 PGFService.hs: text lexer: slightly smarter decapitalization of the first word of a sentence
Keep the first letter in upper case if it is followed by more upper case
letters.

(Also remove some left over debugging output.)
2015-02-24 15:04:06 +00:00
krasimir 715ac1ca62 remove three more uses of meta productions that were left in debugging mode 2015-02-24 10:59:18 +00:00
krasimir da11a7127f implemented escape characters when reading/printing an abstract expression with string literals 2015-02-24 09:35:12 +00:00
krasimir 218c6be0a7 fix in thai_page2.xml 2015-02-20 15:31:32 +00:00
hallgren 2c617e6cf9 gftransate.js: increase sentence length limit for "fast" language to 500
Currently Bul, Chi, Eng and Swe are marked as "fast" in the documentation.
2015-02-20 14:34:37 +00:00
krasimir 70a71a6f0e set the keyboard pages for Thai in Translator.java 2015-02-20 14:26:30 +00:00
krasimir b864601cb9 experimental Thai keyboard (still not tested) 2015-02-20 14:08:12 +00:00
joel.hinz 2394763daa translation app for iOS, replicating some of the functionality of the Android app. Compiles and works on iPad retina but may crash and has known issues. 2015-02-20 07:47:43 +00:00
krasimir f848857519 added option -plus-as-bind which treats (+) as a bind when used with runtime variables 2015-02-20 13:26:12 +00:00
krasimir 8fae104957 remove the meta prob flags 2015-02-20 13:00:51 +00:00
hallgren 9f70eaa13c gftranslate.js: reduce sentense length limit to 200 (URL encoded) characters
This limit might still be to high to avoid excessive time/space use in the
parser for certain languages in the wide coverage translation grammar.
2015-02-20 12:31:41 +00:00
hallgren f6cb6d172e PGF Service: limit the number of parallel calls to the C run-time parse function to 4 by default
The limit can be changed with the -j flag
2015-02-20 12:29:44 +00:00
krasimir e893d41393 silence some warnings in GNU Lightning for i386_64 2015-02-19 12:53:52 +00:00
krasimir b92bbcfc37 parsing with meta rules is now removed since we don't use them anymore and I would gladly remove some code. 2015-02-19 11:59:51 +00:00
krasimir 39bbe68adf fix the missmatch between Int and CInt in the Haskell binding to the word alignment API. This was causing problems on 64-bit machines 2015-02-18 17:05:35 +00:00
krasimir f3797bb313 fix the callback for unknown words as well 2015-02-18 16:47:33 +00:00
krasimir a97dee067a fix in the callback for names in the Haskell binding 2015-02-18 16:41:13 +00:00
krasimir e3a87c657b fix in the parser for callbacks in the middle of a word 2015-02-18 16:14:29 +00:00
hallgren 24232004f0 Wide Coverage Translation Demo: use App14.pgf, remove spaces from Chi, Jpn and Tha output 2015-02-18 13:58:49 +00:00
aarne 4ea4d035dd removing spaces from App output of Chi,Jpn,Tha to get nicer speech output (and of course follow the target lang conventions) 2015-02-17 18:11:20 +00:00
aarne 818a119a5b App14 with Tha up and running! 2015-02-17 17:18:51 +00:00
hallgren 956b721048 Restore compatibility with ghc-7.4
With ghc-7.4 'import M hiding (x)' causes an error if M does not export x...
2015-02-16 15:41:38 +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
hallgren 2b8fe8ea7a PGF.Haskell: adding operators for selections from tables 2015-02-12 16:09:33 +00:00
hallgren efb1b540f4 Translating linearization functions to Haskell: more simplifications
+ Some additional simplifying rewrites.
+ Use an intermediate representation for Haskell types, for separation of
  concerns and cleaner code.
+ Pretty printer layout tuning
+ Code cleanup.
2015-02-12 16:05:48 +00:00
hallgren 63f79fb250 Translating linearization functions to Haskell: simplify the generated Haskell code
Introduced an intermediate representation for the generated Haskell expressions.
This allows pretty printing concerns to be separated from conversion concerns,
and makes it easy to apply some simplifying rewrites to the generated
expressions, e.g.

	[x] ++ [y]    ==> [x,y]
	pure f <*> x  ==> f <$> x
	f <$> pure x  ==> pure (f x)
	join (pure x) ==> x
2015-02-11 23:50:19 +00:00
kr.angelov d361b7f5d2 fix in the JIT compiler that would hopefully make it work on iOS 2015-02-11 13:07:06 +00:00
hallgren 8e4e8da105 Translating linearization functions to Haskell: support for variants
By adding the flag -haskell=variants to the command line, GF will now generate
linearization functions in Haskell that support variants. Variants are
represented as lists in Haskell.

Variants inside pre { ... } expressions are still ignored.

TODO: apply some monad laws to generate more compact code (using an
intermediate representation of the generated Haskell code, instead of
pretty printing directly from the GF code).
2015-02-09 16:24:33 +00:00
aarne 3509ee650d news on Summer School on the main page 2015-02-09 09:35:51 +00:00
kr.angelov 68a2f09590 added hasLinearization in the Haskell binding 2015-01-30 13:05:57 +00:00
aarne 340328b8a1 Phrasebook compiled for Japanese; weather_N in DictionaryGer 2015-01-27 13:18:44 +00:00
aarne 0d8e73847c added Japanese to Android app. Had to change target=android-20 to 21. 2015-01-21 22:20:25 +00:00
hallgren c398b1e794 Wide Coverage Translation Demo: use App13.pgf, adding support for Japanese
Japanese uses the same lexer as Chinese, i.e. every character is a separate
token.
2015-01-21 16:02:37 +00:00
hallgren 6b55ad88d4 PGF2: fixes for named entity callback function 2015-01-21 13:54:48 +00:00
hallgren 6ddef21dea examples/phrasebook/Makefile: include Jpn in 'make forApp' 2015-01-21 12:16:57 +00:00
hallgren ffe1f74584 PGF2 & PGFService: enable callbacks for named entities and chunks in the c-parse & c-translate web requests 2015-01-21 10:41:12 +00:00
kr.angelov 790738c82b fix conflicts 2015-01-21 08:35:20 +00:00
kr.angelov 79f8ab695c added functionType in the Haskell API to the C runtime 2015-01-20 14:45:02 +00:00
hallgren 3f3df9a719 PGF2 & PGFService: work in progress on callbacks for nerc & chunks 2015-01-20 14:57:52 +00:00
hallgren 1fa59f7554 PGF2: introduced some type synonyms to make type signature more readable 2015-01-20 12:57:33 +00:00
hallgren 7e1120d271 Translating linearization functions to Haskell: move a common record type to PGF.Haskell
Move the Haskell representation of the common linearization type {s:T} to the
shared module PGF.Haskell, so that the same overloaded projection function
proj_s can be used for all concrete syntaxes.
2015-01-19 12:43:32 +00:00
john.j.camilleri e128139e8c Change minibar URL to cloud.gf.org in QuickStart page 2015-01-19 06:45:15 +00:00
aarne 6ba8851cc8 AppJpn.gf and a Makefile entry for App13 which includes Japanese. Everything compiles now. But Japanese has no support for chunks, because ChunkFunctor does not typecheck for it due to its richer Utt type. 2015-01-14 17:22:47 +00:00
hallgren 507b52cc23 gf.cabal: include PGF.Haskell 2015-01-14 14:53:28 +00:00
hallgren 20b271a238 Translating linearization functions to Haskell: better treatment of special 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.
2015-01-14 14:35:39 +00:00
hallgren 2e642ace8a Translating linearization functions to Haskell: add support for pre {...}
STILL TODO:

	- variants
	- better treatment of special tokens BIND, SOFT_BIND & CAPIT.
2015-01-08 17:52:45 +00:00
lizazim 68b4bb74cc patchJpn 2015-01-07 23:44:49 +00:00
hallgren ef84f7d842 Translating linearization functions to Haskell: use qualified names to avoid name clashes
All languages in the Phasebook can now be converted to compilable Haskell
code.

STILL TODO:
  
  	- variants
  	- pre { ... }
2015-01-07 16:13:28 +00:00
hallgren 0694a915d2 Translating linearization functions to Haskell: significant code size reductions
+ Instead of including lists of parameter values generated by GF, generate
  code to enumerate parameter values (in the same order as GF). This seems
  to give a factor of 2-3 code size reduction in the Phrasebook (e.g.
  from 84MB to 25MB for Hin, from 338MB to 154MB for Fre).

+ Deduplicate table entries, i.e. convert "table [..,E,..,E,..,E,..]" into
  "let x = E in table [..,x,..,x,..,x,..]". This gives even more significant
  code size reduction in some cases, e.g. from 569MB to 15MB for
  PhrasebookFin.

All phrasebook languages can now be converted to compilable Haskell code,
except PhrasebookPes, which still has the name clash problem.
2015-01-06 19:57:24 +00:00
hallgren cbd873839b More work on translating linearization functions to Haskell
Many Phrasebook languages can now be converted to compilable Haskell code.
Some languages (Fre, Hin, Snd, Urd) generate too much Haskell code to be
practically useful (e.g. 338MB for Fre). One language (Fin) took too long
to convert to Haskell. One language (Pes) has problems with name clashes in
the generated Haskell code.

STILL TODO:

  	- variants
  	- pre { ... }
  	- reduce code duplication for large tables
	- generate qualified names to avoid name clashes
2015-01-06 16:48:03 +00:00
kr.angelov 35c11d5f5a fix the reference counting for callbacks in Python 2015-01-05 11:24:00 +00:00
kr.angelov 3bd40dbab6 API for word alignment in the C runtime and in the Haskell binding 2014-12-29 10:59:20 +00:00
kr.angelov 8fd24c3839 more compact implementation for GuStringBuf 2014-12-24 14:20:30 +00:00
aarne 537bc249f9 lowered Symb_Chunk probability; fixed translator Makefile 2014-12-19 15:17:38 +00:00
kr.angelov 13f4af4910 bugfix and tiny optimization for callbacks from Haskell 2014-12-19 10:14:41 +00:00
kr.angelov 856683f79f haddock comments for parseWithHeuristics 2014-12-19 09:05:51 +00:00
kr.angelov f44f9a1b00 added mkStr to the Haskell binding 2014-12-19 08:58:02 +00:00
kr.angelov bb1c1dd27c added mkApp to the Haskell binding 2014-12-19 08:47:00 +00:00
kr.angelov 6b2ef03af9 fix in the Haskell binding 2014-12-16 10:35:56 +00:00
kr.angelov 990dce35ae forgot to export parseWithHeuristics from Haskell 2014-12-16 10:33:45 +00:00
kr.angelov 9bc5349e62 change in the API for literals
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.
2014-12-16 10:21:26 +00:00
hallgren d98bd34a33 bin/build-binary-dist.sh: remove hardwired install path and version number
Also improved tolerance to paths containing white space.
2014-12-15 15:18:27 +00:00
hallgren 9235f49ab3 gf.cabal: include editor modes in the list of data files to install
Also add ghc-7.8.3 to the list of tested compiler versions
2014-12-15 15:16:50 +00:00
kr.angelov 02df25d4b6 bump the version code in AndroidManifest.xml 2014-12-11 23:29:58 +00:00
hallgren 75338503a9 Setup.hs: compile Alltenses before Present
When mkPresent (or another preprocessor) is used, error messages from GF will
show the file name _gf_preproc.tmp instead of the name of the file where
the error occurred. By compiling Alltenses first, the real file name will
appear in error messages (unless the error only happens then mkPresent is
used).
2014-12-11 22:18:21 +00:00
kr.angelov 3e8e477652 update the nerc for the changes in the grammar 2014-12-11 21:54:34 +00:00
aarne a7b22188c1 updates in app help file, e.g. the app name 2014-12-11 20:05:57 +00:00
hallgren 2eaf46f610 Work in progress on translating linearization functions to Haskell
The translation is currently good enough to translate all concrete syntaxes
of the Foods and Letter grammars, and some concrete syntaxes of the Phrasebook
grammar (e.g. PhrasebookEng & PhrasebookSpa works, but there are problems with
e.g. PhrasebookSwe and PhrasebookChi)

This functionality is enabled by running

	gf -make -output-format=haskell -haskell=concrete ...

TODO:
	- variants
	- pre { ... }
	- eta expansion of linearization functions
	- record subtyping can still cause type errors in the Haskell code
	  in some cases
	- reduce code large tables
2014-12-11 16:08:36 +00:00
hallgren 9be0c21676 GF.Grammar.Macros: generalize the type of collectOp
New type:

    collectOp :: Monoid m => (Term -> m) -> Term -> m
2014-12-11 16:05:42 +00:00
hallgren 719f926a48 GF.Server: remove some code duplication 2014-12-11 15:58:57 +00:00
kr.angelov 709163c32e back to familiar you in Hindi 2014-12-11 16:13:55 +00:00
kr.angelov 8bf2c9ecbb update gf-translator.svg 2014-12-11 13:44:48 +00:00
kr.angelov 7d87339b52 edit the presentation image 2014-12-10 13:33:28 +00:00
kr.angelov a2fb1bf5f2 rename HLCompiler to GFTranslator 2014-12-10 13:21:18 +00:00
kr.angelov 166402f7e5 added presentation image for the app 2014-12-10 13:14:11 +00:00
kr.angelov 4c83d98381 make the GF logo fit precisely in a square 2014-12-10 10:29:27 +00:00
kr.angelov 81fda41fbc make sure that the app doesn't crash even if nonExist is used somewhere in the grammars 2014-12-09 12:31:36 +00:00
kr.angelov e41ec32ba9 make sure that neither I nor I'm is recognized as name in English 2014-12-09 08:49:22 +00:00
kr.angelov 386ec87405 bugfix for unknown words 2014-12-08 19:38:03 +00:00
hallgren 676b0d6e81 Haddock documentation: expose exportPGF, some other small improvements 2014-12-08 14:48:14 +00:00
kr.angelov 55e2b55e60 restore the visualisation of abstract trees from the app 2014-12-08 16:17:42 +00:00
kr.angelov d4b8281226 fix for the unknown words 2014-12-08 15:42:14 +00:00
kr.angelov 42d73f0d10 fix typo 2014-12-08 15:36:07 +00:00
kr.angelov 31f835a6c8 register the callback for the Symb category 2014-12-08 15:22:33 +00:00
kr.angelov 3fd53b907e added a callback for unknown words 2014-12-08 15:18:01 +00:00
aarne 8ec5910ae2 probabilities for new chunk rules ; Symb as another literal in app Makefile 2014-12-08 10:20:06 +00:00
aarne fae9df2517 some edits in app help file 2014-12-07 17:42:47 +00:00
aarne 82a7e22d2e MissApp.hs: a function for preparing a list of lin rules for missing words 2014-12-06 08:39:25 +00:00
aarne 52d3839271 a script for analysing missing functions, e.g. "which functions of type Quant are missing in each language" 2014-12-05 17:01:58 +00:00
hallgren fc46db8c7f Eliminate the record extension operator from the Value type returned by the partial evaluator
It was used only in cases where a lock field needed to be added to a
run-time variable, like e.g. in examples/phrasebook/SentencesTha.gf: 

    lin
      PGreetingMale g   = mkText (lin Text g) (lin Text (ss "ครับ")) | g ;
      PGreetingFemale g = mkText (lin Text g) (lin Text (ss "ค่ะ")) | g ;

But lock fields are only meaningful during type checking and can safely be
ignored in later passes.
2014-12-05 12:42:17 +00:00
aarne f600cf35e8 fixes in app help file ; commented out fake TTS for Bul and Cat ; remove []_ from output with unlinearized functions, so that speech doesn't get garbled. 2014-12-05 09:23:44 +00:00
aarne db97a2b0e4 quick reference text prepended to app help file 2014-12-04 20:30:50 +00:00
hallgren 2cca456da9 Wide Coverage Translation Demo web app: updated to use App12.pgf 2014-12-03 15:08:56 +00:00
aarne 8beead40bc Catalan in android app builder ; updated app document with Cat ; substitute voice output for Bulgarian and Catalan ; replaced brackets in unknown words by capitalization (for better speech output ; this is experimental) 2014-12-03 14:38:17 +00:00
aarne 7316caf092 app Makefile default now App12 with Cat 2014-12-03 13:18:48 +00:00
hallgren 15a47610be examples/app/Makefile: fix dependencies and grammar name for App12.pgf 2014-12-03 12:26:55 +00:00
aarne 72e45bbf95 Catalan added to App, do 'make App12.pgf' 2014-12-03 09:00:59 +00:00
kr.angelov d304bf6348 faster translation in the app 2014-12-01 23:15:24 +00:00
kr.angelov b552ef79d9 better color filter to indicate listening 2014-12-01 21:13:09 +00:00
kr.angelov 353055c2c0 added visual feedback to indicate that the app is not listening anymore 2014-12-01 20:52:37 +00:00
kr.angelov 30383f6ce2 fix in nordic.xml 2014-12-01 20:24:13 +00:00
kr.angelov 7a4d9af97f added special nordic keyboard for Finnish and Swedish 2014-12-01 12:43:31 +00:00
kr.angelov 64feca59c8 fix the last patch 2014-12-01 11:03:50 +00:00
kr.angelov 960ba43149 a small optimization in the PGF parser which gives me ~5% speed up 2014-12-01 10:48:15 +00:00
kr.angelov 14a2821fd8 fix in GNU lightning to enable the compilation of two of the the floating point operations. 2014-12-01 09:42:21 +00:00
kr.angelov 35e76a5fe8 fix in linearizer.h to make jpgf compilable 2014-12-01 09:41:48 +00:00
hallgren b0f9ba0c8b WebSetup.hs: always use gf -j, to avoid problems compiling the Phrasebook 2014-11-27 17:48:53 +00:00
aarne 9ba5e6978b switch PhrasebookBul back to present to avoid cabal build failure. More to investigate here. 2014-11-27 17:08:35 +00:00
aarne 1e2627d9af make PhrasebookBul use alltenses to prevent misbehaviour in App 2014-11-27 16:36:51 +00:00
kr.angelov 6f2195f793 fix in linearizer.h which resolves a warning 2014-11-27 15:20:46 +00:00
kr.angelov f63e8faf00 remove pgf/parser.h 2014-11-27 11:12:14 +00:00
kr.angelov 41e217a641 fix the handling of the heuristic factor. it was broken when I added the BIND token which means that the App grammar was running about 2-3 times slower. 2014-11-26 15:56:36 +00:00
aarne 4b075da678 a compilable stub of PhrasebookJpn. Sent to a native speaker expert for completions. 2014-11-15 09:43:15 +00:00
hallgren c707575bd7 Documentation improvements and cleanup relating to the IOE monad
Renamed appIOE to tryIOE (it is analogous to 'try' in the standard libraries).
Removed unused IOE operations & documented the remaining ones.
Removed/simplified superfluous uses of IOE operations.
2014-11-10 16:20:01 +00:00
hallgren 33571ba44f Some work to improve the structure of the haddock documenation 2014-11-10 15:23:02 +00:00
kr.angelov cabafd68a6 expand the JIT window for x64 2014-11-07 15:43:12 +00:00
aarne 27a3f8584b fixes in PhrasebookChi 2014-11-07 14:29:03 +00:00
hallgren ad36dbc0ed gf.cabal: when compiling with ghc>=7.8 require cgi>=3001.2.2.0 2014-11-05 15:38:10 +00:00
kr.angelov 70c70fa791 a skeletal module for higher-order pattern unification in the C runtime 2014-10-31 19:57:56 +00:00
kr.angelov b1e6a21c56 now (+) in the abstract syntax works, i.e. it knows how to deal with partial sums 2014-10-31 14:16:11 +00:00
kr.angelov 9b0f354c7c a more efficient tail call by using the new TUCK instruction 2014-10-30 13:09:50 +00:00
hallgren 0519493ca9 Use terminfo to highlight warnings and errors in blue and red
This replaces the hardwired ANSI escape codes that were accidentally included
in a previous patch.

This adds a dependency on terminfo, but this should be unproblematic, since
haskeline already depends on the same underlying C library.

The color highlighting is omitted on Windows.
2014-10-28 19:04:48 +00:00
hallgren e41d9e34bb Show paths relative to the current directory in progress reports
It is much nicer to see something like

- compiling FoodsSwe.gf...   write file FoodsSwe.gfo
- compiling FoodsTha.gf...   write file FoodsTha.gfo
- compiling FoodsTsn.gf...   write file FoodsTsn.gfo
- compiling FoodsTur.gf...   write file FoodsTur.gfo
- compiling FoodsUrd.gf...   write file FoodsUrd.gfo
linking ... OK
Writing Foods.pgf...

instead of

- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsSwe.gf...   write file /Users/hallgren/src/GF/gf/examples/foods/FoodsSwe.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsTha.gf...   write file /Users/hallgren/src/GF/gf/examples/foods/FoodsTha.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsTsn.gf...   write file /Users/hallgren/src/GF/gf/examples/foods/FoodsTsn.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsTur.gf...   write file /Users/hallgren/src/GF/gf/examples/foods/FoodsTur.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsUrd.gf...   write file /Users/hallgren/src/GF/gf/examples/foods/FoodsUrd.gfo
linking ... OK
Writing Foods.pgf...
2014-10-28 15:02:29 +00:00
hallgren f085b807eb A couple of haddock documentation improvements 2014-10-28 14:58:43 +00:00
kr.angelov efedec187c an explicit SAVE instruction 2014-10-26 11:40:12 +00:00
kr.angelov 6986f1acd7 comment out a few assertions in bits.h. this code is run too often to have explicit assertions 2014-10-24 11:15:40 +00:00
kr.angelov 8abbd2f67e make it possible to specify the initial size of a map in libgu 2014-10-24 09:17:22 +00:00
kr.angelov dc62e52636 simplify gu/map 2014-10-24 08:56:39 +00:00
kr.angelov 550c747941 fix memory leak in the pgf-parse tool 2014-10-24 08:42:32 +00:00
kr.angelov 5cae930723 add extern declarations for all inline functions in seq.h. this ensures that everything works even when the compiler's optimizations are off 2014-10-24 08:26:58 +00:00
kr.angelov e169f225cf a simple optimization in cmp_item_prob with great effect on the parser's speed 2014-10-23 21:22:22 +00:00
kr.angelov 18f8f2e4f4 remove some deadcode in gu/seq.h 2014-10-23 21:21:21 +00:00
kr.angelov aff68e7422 inline a number of functions in gu/seq.c. this has a noticeable effect on the parser's speed 2014-10-23 21:19:29 +00:00
kr.angelov 3aaeb7a156 a cosmetic optimization in mem.c 2014-10-23 15:45:14 +00:00
kr.angelov fc6658c2e7 fix the debug mode in the reasoner 2014-10-23 08:15:12 +00:00
kr.angelov 578df576ef fix warning in ucs.c 2014-10-23 07:44:41 +00:00
hallgren 6ee67cd04f Various small changes for improved documentation 2014-10-22 15:45:52 +00:00
kr.angelov 00922153aa CAPIT is now naturally supported in the C runtime 2014-10-22 15:05:55 +00:00
kr.angelov df113f9cc4 add Unicode classification routines to libgu. ported from the base package in Haskell. 2014-10-22 14:36:58 +00:00
kr.angelov c8b3865338 an explicit PUSH_FRAME instruction 2014-10-22 14:11:41 +00:00
kr.angelov 71d5cae4e3 make the fields of BracketedString in the Python binding read/write 2014-10-22 12:18:07 +00:00
hallgren 391b301881 ModuleName and Ident are now distinct types
This makes the documentation clearer, and can potentially catch more
programming mistakes.
2014-10-21 19:20:31 +00:00
hallgren 3bfcfa157d Renaming SourceGrammar to Grammar and similarly for some related types
Included renamings:

	SourceGrammar -> Grammar
	SourceModule -> Module
	SourceModInfo -> ModuleInfo
	emptySourceGrammar -> emptyGrammar

Also introduces a type synonym (which might be good to turn into a newtype):

	type ModuleName = Ident

The reason is to make types like the following more self documenting:

	type Module = (ModuleName,ModuleInfo)
	type QIdent = (ModuleName,Ident)
2014-10-21 14:42:31 +00:00
aarne f6441b2292 use of 'head' in TypeCheck/RConcrete created an uncomprehensible error message. Now checking for the emptiness of the list concerned, so that the error can be found. 2014-10-20 20:06:46 +00:00
hallgren a9bc116052 Some small documentation improvements 2014-10-20 19:45:43 +00:00
hallgren 8337a19b40 type IOE a = IO a
IOE used to be a monad with extra error handling built on top of the IO monad,
But the IO monad already supports error handling, so this construction was a
superfluous.

The new 'instance ErrorMonad IOE' is defined to preserve the previous error
handling behaviour, i.e. the function 'handle' only catches errors thrown with
'raise' (or 'fail') and not other errors in the IO monad.
2014-10-20 19:32:46 +00:00
hallgren 55aebadd5a Remove some dead code
* The following modules are no longer used and have been removed completely:

	GF.Compile.Compute.ConcreteLazy
	GF.Compile.Compute.ConcreteStrict
	GF.Compile.Refresh

* The STM monad has been commented out. It was only used in
  GF.Compile.SubExpOpt, where could be replaced with a plain State monad,
  since no error handling was needed. One of the functions was hardwired to
  the Err monad, but did in fact not use error handling, so it was turned
  into a pure function.

* The function errVal has been renamed to fromErr (since it is analogous to
  fromMaybe).

* Replaced 'fail' with 'raise' and 'return ()' with 'done' in a few places.

* Some additional old code that was already commented out has been removed.
2014-10-20 15:05:43 +00:00
kr.angelov bb1f0f3368 get rid of gu/str.(c|h) 2014-10-20 07:50:42 +00:00
aarne 84bce336fd (un)lexmixed: added the other math environments than $ used in latex 2014-10-19 17:43:39 +00:00
aarne 6c2e0d5ce2 ps -lines preserves line-by-line structure when preprocessing files for parsing line by line 2014-10-17 15:50:03 +00:00
aarne 5c862a3c7b one general case in dealing with backslash in latex lexing is enough 2014-10-17 15:49:23 +00:00
kr.angelov 3f11f3d602 the C runtime now supports reading and writing expressions with indexed meta variables. The type checker generates fresh indices 2014-10-17 09:27:37 +00:00
hallgren 955c4b6a23 Use http instead of https in the links to the build job in jenkins
The ci.zjyto.net web site uses an SSL certificate that is not recognized by
mainstream browsers (e.g. Firefox, Safari and the Android web browser).
2014-10-17 08:26:09 +00:00
aarne 2caf6fa125 unlexing latex code: no space between closing $ and punctuation 2014-10-17 07:04:50 +00:00
aarne 42cfacbf86 lexer for latex code: don't separate backslash from the macro name that it marks 2014-10-17 06:40:06 +00:00
hallgren 6375bacc73 Some work on the haddock documentation 2014-10-16 16:28:54 +00:00
gregoire.detrez 070057e695 Change the path to the build job in jenkins 2014-10-16 15:51:08 +00:00
hallgren 5a641ebe73 Rename src/programs/gf.hs to gf-main.hs to avoid confusing GHC
It appears that GHC can't keep GF.hs and gf.hs apart on systems with case
insensitive file names.
2014-10-16 15:21:00 +00:00
hallgren 2e2e7acf12 Turn the GF compiler into a library. Main program is now in src/programs/gf.hs
The module src/compiler/GF.hs now serves as a prelimiary compiler API. It just
exports a selection of functions and types from the compiler.

Haddock documentation can be generated with

	cabal haddock --hyperlink-source

Also bumbed the version number to 3.6.10.
2014-10-16 15:00:49 +00:00
hallgren c924491289 More haddock documentation improvements 2014-10-16 14:03:57 +00:00
kr.angelov c0ebbc4edf bugfix in the parser for abstract expressions in the C runtime 2014-10-16 11:40:47 +00:00
kr.angelov 26ad164cec finally proper stack unwind in the evaluator 2014-10-16 10:00:32 +00:00
hallgren b70dba87ba Rename modules GFI, GFC & GFServer...
... to GF.Interactive, GF.Compiler & GF.Server, respectively.
2014-10-15 21:04:29 +00:00
hallgren 393dde2eb9 Fixes for the haddock documentation 2014-10-15 20:42:36 +00:00
gregoire.detrez 8381c7b0c0 Make cabal sdist fail with an informative error message` 2014-10-15 08:51:39 +00:00
gregoire.detrez 503a29e002 Add a make target to create the source distribution
`make sdist` will create a `dist/gf-<version>.tar.gz package
with the source files (using the `darcs dist` command).
2014-10-15 08:51:25 +00:00
hallgren b0e9ded3cd Setup.hs: comment out sDistHook, which seems to be broken but is not used 2014-10-14 15:03:47 +00:00
kr.angelov ac288386c4 the compiler now allows + to be used as a floating point addition in the abstract syntax 2014-10-14 11:15:18 +00:00
kr.angelov b5cc77aea1 yet another bugfix in the byte code 2014-10-14 10:39:28 +00:00
kr.angelov 37bd8dd9fd another bugfix in the byte code generation 2014-10-14 09:43:43 +00:00
kr.angelov f4dc2c0b6e bugfix in the bytecode generator 2014-10-14 09:27:24 +00:00
kr.angelov 1c2e02ad50 simplify jit_bare_ret 2014-10-14 09:09:26 +00:00
kr.angelov 2b881397c5 a refactoring in the Susanne converter which for some reason was not pushed before 2014-10-10 12:10:44 +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
kr.angelov 86e9acc7a7 throw away the long obsolete runtime type information in the C runtime 2014-10-09 13:44:26 +00:00
kr.angelov 8e3ed825a8 fix two warnings in mem.c 2014-10-09 13:22:39 +00:00
kr.angelov b905558ce8 fix in gu_mmap_pool for Android 2014-10-09 13:21:56 +00:00
kr.angelov 397276defd fix for lightning for ARM 2014-10-09 13:17:01 +00:00
kr.angelov 3e49a1cf73 remove the pgf-service util which is obsolete anyway 2014-10-09 11:28:56 +00:00
kr.angelov 6c86e7fa91 replace the hash maps in the abstract syntax with binary search tables 2014-10-09 08:38:55 +00:00
kr.angelov 84b257e85c add the const modifier to the key in the two procedures for binary search in libgu 2014-10-09 07:25:26 +00:00
kr.angelov a9a781e4a0 use MAP_FIXED in gu_mmap_pool 2014-10-08 19:43:08 +00:00
kr.angelov f178be5405 an experimental memory mapped pool. still not in use 2014-10-08 18:28:51 +00:00
hallgren 539f0880a3 GF.Infra.Options: change from String to Int in the type of optJobs 2014-10-08 16:57:04 +00:00
kr.angelov 9c2f71b07a now we statically allocate closures for all top-level functions and all nullary constructors. closures are dynamically allocated only for CAFs. this reduces memory use and time to allocate dynamic closures 2014-10-08 12:57:29 +00:00
kr.angelov 67781996b6 a missing case in instruction SET 2014-10-07 20:05:05 +00:00
kr.angelov 35333385b6 bugfix in the byte code compiler 2014-10-07 20:03:54 +00:00
kr.angelov e98d61b7b7 added a missing case for PUSH instruction with a global closure 2014-10-07 11:46:38 +00:00
kr.angelov de1b372ef7 the indirection should be done in the evaluate_expr_thunk gate instead of in the pgf_evaluate_expr_thunk function. this ensures lazyness 2014-10-07 07:12:40 +00:00
kr.angelov 13c7721bc5 using instruction RET was wrong; now use EVAL 2014-10-06 15:57:42 +00:00
kr.angelov af7feea385 fix the order in which arguments are stored in the mk_const gate 2014-10-06 12:31:39 +00:00
kr.angelov a50315396f push a stack frame around recursive calls to guarantee that a nested call to a failing function will not crash 2014-10-06 09:21:08 +00:00
kr.angelov 889c0f3df4 partial implementation for the FAIL instruction 2014-10-06 09:04:25 +00:00
kr.angelov 4e00834c68 bugfix in pgf_evaluate_expr_thunk 2014-09-30 17:34:29 +00:00
kr.angelov f5da57056c fix pgf_value2expr for partial applications 2014-09-30 13:46:46 +00:00
kr.angelov 312d4ff52e enough fixes to get the JIT compiler compile for ARM. It is still broken if you try to use it 2014-09-30 12:39:31 +00:00
kr.angelov b7798f9348 add evaluator.c in Android.mk 2014-09-30 12:37:18 +00:00
kr.angelov f25b45e13d fix in reader.h for compiling jpgf.c 2014-09-30 11:25:27 +00:00
kr.angelov 6be25aa872 fix in pgf_print_expr for lambda abstractions with more than one argument 2014-09-30 09:42:18 +00:00
aarne 7c5cb356ca AppChi needs more stack space now 2014-09-30 09:35:51 +00:00
kr.angelov 70455b88a7 bugfix in the gate evaluate_value_lambda 2014-09-30 08:42:06 +00:00
kr.angelov f70eecb63c minor stylistic change in GenerateBC 2014-09-29 15:08:00 +00:00
kr.angelov 80acad4447 bugfix in the pattern matching compiler and a number of other fixes that I somehow did not push before 2014-09-29 15:00:04 +00:00
kr.angelov 1ecd61f7f5 bugfix in the RET instruction 2014-09-29 13:04:49 +00:00
kr.angelov 87c5c4b0cc enlarge the code window in pgf_jit_gates to ensure enough space on 64-bit machines 2014-09-29 07:34:32 +00:00
aarne aef787aeb1 checked that course of value tables (table P [...]) have the correct number of values w.r.t the type P. This was previously not checked, and caused hard-to-find run-time errors. 2014-09-27 17:14:35 +00:00
aarne ca1cad68d0 command for AppEngFin 2014-09-26 14:48:09 +00:00
kr.angelov 7036d56d29 the literals API is now exposed in Python 2014-09-25 11:59:40 +00:00
kr.angelov 8e64fc6e7e switch off the debugging of the JIT compiler which I had turned on accidentally. silence two harmless warnings 2014-09-25 11:44:45 +00:00
kr.angelov 14e6eec5ec now a complete JIT compiler and ByteCode compiler for the def rules in the abstract syntax. there might be some bugs yet to be found, meta variables and computation under lambda is only partially supported 2014-09-25 10:35:06 +00:00
hallgren 928217f9d9 examples/app/Makefile2: add missing -probs flag 2014-09-23 12:20:44 +00:00
hallgren 13fe719a26 doc/gf-developers.t2t: add a note about how to create OS X Installer packages 2014-09-23 12:18:17 +00:00
hallgren db9aeb2fa2 haskell-bind/PGF2.hsc: unexport functions that break referential transparency
loadConcr, unloadConcr and addLiteral modify the Concr structure as a side
effect. This means that other functions with a Concr argument (e.g. parse
and linearize) are no longer pure.

Possible solutions:

1. Don't try to hide the imperative nature of the C run-time system: remove
   all uses of unsafePerformIO and let all functions operate in the IO monad.

2. Don't export functions with side effects. Perhaps the desired functionality
   of loadConcr, unloadConcr and addLiteral can be folded into readPGF.
   The Concr structures can then treaded as immutable after after the
   readPGF function returns...
2014-09-22 14:05:17 +00:00
kr.angelov 3ced115807 forgot to type check the type of a typed let expression 2014-09-17 22:25:08 +00:00
kr.angelov e34d5b0409 appForm now skips over Typed expressions 2014-09-17 22:02:36 +00:00
kr.angelov a5f81ff81c the type checker for the abstract syntax now allows let expressions in def rules, since they are easily compilable to byte code. This fails in the Haskell runtime since let expressions are not allowed as abstract syntax expressions. 2014-09-17 21:59:45 +00:00
kr.angelov 818896dec2 fix a portability problem with the Python binding (found by Prasanth) 2014-09-17 16:12:40 +00:00
kr.angelov 3e3178abfa dummy jit_base_tail_finishr for x86_64. 2014-09-16 12:29:35 +00:00
aarne 8d18828008 enabled VP-valued rules for V2V, V3, etc in App. Improve quality with less loss of speed than VPSlash-valued original rules. 2014-09-15 16:10:18 +00:00
aarne 2d91097f49 enabled many more functions, in particular verb patterns, in App, to increase translation quality. This comes with 30% longer translation time with my benchmark but should still be OK. 2014-09-14 08:43:21 +00:00
aarne d19b38657f GF index: shortcut links to Android app, Best practices, REMU, and new Android development instructions 2014-09-12 09:01:43 +00:00
kr.angelov 621d748bac a major revision of the bytecode generator and JIT compiler. the effect is that now we can compute with lambda functions and with true tail recursion 2014-09-11 15:39:39 +00:00
hallgren 18ee232497 gf.cabal: add missing c-sources for the Haskell binding to the C run-time library 2014-09-11 11:53:07 +00:00
hallgren 4f9af46ed0 Setup.hs: don't ask darcs for the version history if _darcs is not present
This is to avoid a (harmless) error message from darcs when compiling sources
obtained e.g. from github.
2014-09-11 11:47:17 +00:00
kr.angelov df0602723d now release the FunPtr:s that are allocated for each literal callback 2014-09-10 15:41:53 +00:00
kr.angelov 80725e872b added an API for custom literals in the Haskell binding 2014-09-10 14:56:18 +00:00
kr.angelov b553729f37 added loadConcr/unloadConcr to the Haskell binding. This exposes an API for loading grammars compiled with -split-pgf 2014-09-10 14:35:54 +00:00
hallgren 566aeb93f5 Wide Coverage Demo web app: use the App grammar instead of the Translate grammar
This gives faster but slightly lower quality translations.
2014-09-09 13:53:10 +00:00
hallgren 4eb6b55e98 (1) Refactor concurrency, (2) write to .gfo.tmp then rename to .gfo
(1) introduces the module GF.Infra.Concurreny with lifted concurrency
    operators (to reduce uses of liftIO) and some additional concurrency
    utilities, e.g. a function for sequential logging that is used in
    both GF.CompileInParallel and GFServer.
(2) avoids leaving broken .gfo files behind if compilation is aborted.
2014-09-08 15:43:20 +00:00
kr.angelov 4d28c7632e the code for def rules now uses proper graph update to preserve lazyness 2014-09-05 11:53:02 +00:00
kr.angelov 86b5f78c57 full support for recursive def rules in the C runtime 2014-09-05 10:09:43 +00:00
hallgren a21ffc1941 gf.cabal, gf-server.cabal: add version bounds on network & httpd-shed
* httpd-shed-0.4 does not specify an upper bound on network, but it fails
  to build against network>=2.6. This is fixed in httpd-shed-0.4.0.2.
* With network-2.6, the Network.URI modules is moved to a separate package,
  so for the time being GF requires network>=2.3 && <2.6. This is compatible
  with the four most recent versions of the Haskell Platform.
2014-09-03 15:40:26 +00:00
hallgren e0e6079c91 src/server: refactoring to isolate dependencies on the cgi/fastcgi packages
* Introducing the module CGI, re-exporting a subset of the cgi package. It
  might complete replace the cgi package in the future.
* Introducing the module CGIUtils, containing functions from FastCGIUtils that
  have nothing to do with fastcgi.

Some low level hackery with unsafePerformIO and global variables was left
in FastCGIUtils, but it is actually not used, neither for gf -server nor
exec/pgf-fcgi.hs.
2014-09-02 12:27:47 +00:00
kr.angelov bfd414554d partial implementation for recursive def rules 2014-09-01 14:51:20 +00:00
kr.angelov 342f6e3797 bug fixes in the JIT compiler 2014-09-01 12:53:14 +00:00
aarne 4e8cd9119e by_Prep causing conflict in AppChi, therefore excluded from the import of PhrasebookChi 2014-08-30 23:13:39 +00:00
hallgren d3d1d20a8a examples/app/Makefile2: simplifed Makefile for the App grammar (doesn't work yet)
This makefile just calls GF once and lets GF figure out in which order to
compile things. It uses the -j flag to enable parallel compilation and
specifies an explicit -path, overriding the -path flags in the source files.
This allows all needed modules to be found automatically and ensures that
that alltenses is consistently used everywhere. But for some reason, this
doesn't work...
2014-08-30 17:00:14 +00:00
hallgren d0d470620c Add OS X Installed package to the GF 3.6 download page 2014-08-29 11:48:53 +00:00
hallgren bcf0aa42cd bin/build-binary-dist.sh: just a small fix 2014-08-29 11:48:10 +00:00
kr.angelov cee5f590ca added evaluator.h which I had forgoten 2014-08-29 08:36:53 +00:00
hallgren 658b9adabe You can now use 'make pkg' to build OS X Installer packages for GF
The script bin/build-binary-dist.sh has been updated to build either a plain
.tar.gz package or OS X Installer package (.pkg).

Note that bin/build-binary-dist.sh is designed to build and include the
C run-time system in the binary package.  If the C run-time system fails to
build, no binary package will be created.
2014-08-28 13:30:22 +00:00
hallgren 883d1ae21c gf.cabal ghc-options: don't force -j, -auto-all has been renamed to -fprof-auto 2014-08-25 23:30:22 +00:00
hallgren fdf7d06f9a Fix GHC 7.4 compatibility issue caused by previous patch 2014-08-25 11:26:58 +00:00
hallgren a494c713e1 Setup.hs: disable parallel RGL build support for now, since it is incompatible with Cabal<1.20 2014-08-25 11:22:20 +00:00
hallgren d84c5ef171 Experimental: parallel batch compilation of grammars
On my laptop these changes speed up the full build of the RGL and example
grammars with 'cabal build' from ~95s to ~43s and the zero build from ~18s
to ~5s.

The main change is the introduction of the module GF.CompileInParallel that
replaces GF.Compile and the function GF.Compile.ReadFiles.getAllFiles. At
present, it is activated with the new -j flag, and it is only used when
combined with --make or --batch. In addition, to get parallel computations,
you need to add GHC run-time flags, e.g., +RTS -N -A20M -RTS, to the command
line.

The Setup.hs script has been modified to pass the appropriate flags to GF
for parallel compilation when compiling the RGL and example grammars, but you
need a recent version of Cabal for this to work (probably >=1.20).

Some additonal refactoring were made during this work. A new monad is used to
avoid warnings/error messages from different modules to be intertwined when
compiling in parallel, so some functios that were hardiwred to the IO or IOE
monads have been lifted to work in arbitrary monads that are instances in
the appropriate classes.
2014-08-25 09:56:00 +00:00
aarne 9253d54b7e made the "how old" construction in Chinese more efficient by moving variants to the top level; the resulting rule is the same. This kind of inefficiencies are best found if you compile with the -v option and check for constructors creating unexpectedly many PGF rules. 2014-08-24 14:28:48 +00:00
kr.angelov a39647d771 bugfix in the android app 2014-08-22 12:33:35 +00:00
hallgren 6bde56bef7 src/www/robots.txt: robot exclusion file for the GF cloud service.
To reduce potential server load caused by search bots.
2014-08-22 12:13:04 +00:00
hallgren 8dfaf2ef65 Command line flag -s/-q now silences all warnings
These flags now do what the say.
2014-08-22 00:30:33 +00:00
hallgren 21f429caf8 Add lifted directory operations in GF.System.Directory to eliminate the need for liftIO in various places 2014-08-20 17:47:08 +00:00
hallgren 73310add9a GF.CompileOne: refactoring to reduce code duplication and improve readability
I prefer small functions with descriptive names over large monilithic chunks
of code, so I grouped the compiler passes called from compileSourceModule
into funcitons named frontend, middle and backend. This also makes decisions
about which passes to run clearly visible up front.

Also made some small changes in GF.Compile.
2014-08-20 17:04:15 +00:00
hallgren 61760e4205 GF.Compile.ReadFiles: a simpler & faster way to convert from Latin1 to UTF-8 2014-08-19 14:27:15 +00:00
hallgren 60b5990792 Fix compliation error with GHC 7.4 caused by previous patch 2014-08-13 22:21:54 +00:00
hallgren cd5193b7e1 Fix warnings in 16 modules, mostly forward compatibility warnings from GHC 7.8 2014-08-13 22:16:18 +00:00
hallgren a06351b625 Refactoring in GF.Compile and GF.ReadFiles with an eye to parallel compilation
In particular, the function compileOne has been moved to the new module
GF.CompileOne and its type has been changed from

    compileOne :: ... -> CompileEnv -> FilePath -> IOE CompileEnv

to

    compileOne :: ... -> SourceGrammar -> FilePath -> IOE OneCompiledModule

making it more suitable for use in a parallel compiler.
2014-08-13 16:46:11 +00:00
hallgren 64a3f76b1f Setup.hs: reduce zero build time by a couple of seconds
The RGL is now compile with only three calls to GF (prelude, present,
alltenses). This also makes even more parallelism available to GF for speeding
up full builds of the RGL.
2014-08-13 16:25:03 +00:00
hallgren 9093ff3fe5 GF.Compile: remove the Int from CompileEnv
It has been unused since the refresh pass was removed.
This eliminates one obstacle to parallel module compilation.
2014-08-11 16:30:11 +00:00
kr.angelov c30e2df228 pattern matching in def rules is now supported 2014-08-11 15:53:41 +00:00
kr.angelov d3b9652b81 revert an accidental change that I pushed together with the last patch 2014-08-11 11:44:49 +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
hallgren 02dda1e66f Setup.hs: don't build example grammars when the rgl-none argument is specified 2014-08-08 17:02:36 +00:00
hallgren f07096c409 Setup.hs: comment out debugging code 2014-07-28 15:35:22 +00:00
hallgren 4adb4bab71 Setup.hs: reduce zero build time by ~30% (from 26 to 18 seconds on my laptop)
This speedup is obtained by instead of generating 211 shell commands to compile the RGL one file at a time, generate 7 shell commands, passing a number of
related files to GF in one go.

In addition to cutting down the zero build time, this opens up for speeding up
full builds of the RGL, by adding more parallelism in GF's grammar compilation
machinery.

(Note: gf.cabal already takes advantage of GHC's parallel build option to
speed up the compilation of GF itself, if GHC>=7.8 is used.)
2014-07-28 15:11:58 +00:00
hallgren 7a91afc02a Convert from Text.PrettyPrint to GF.Text.Pretty
All compiler modules now use GF.Text.Pretty instead of Text.PrettyPrint
2014-07-28 11:58:00 +00:00
hallgren 59172ce9c5 Adding GF.Infra.Location and GF.Text.Pretty (forgot to 'darcs add' them before) 2014-07-27 22:13:13 +00:00
hallgren 30cda51516 Introducing GF.Text.Pretty for more concise pretty printers and GF.Infra.Location for modularity
GF.Text.Pretty provides the class Pretty and overloaded versions of the pretty
printing combinators in Text.PrettyPrint, allowing pretty printable values to
be used directly instead of first having to convert them to Doc with functions
like text, int, char and ppIdent. Some modules have been converted to use
GF.Text.Pretty, but not all. Precedences could be added to simplify the pretty
printers for terms and patterns.

GF.Infra.Location contains the types Location and L, factored out from
GF.Grammar.Grammar, and the class HasSourcePath. This allowed the import
of GF.Grammar.Grammar to be removed from GF.Infra.CheckM, making it more
like a pure library module.
2014-07-27 22:06:23 +00:00
Sergei Trofimovich 7eaea44386 gf.cabal: fix depend in --flags=-custom-binary case
Detected when building today:

Building gf-3.6...
Preprocessing library gf-3.6...

src/runtime/haskell/PGF/Internal.hs:17:8:
    Could not find module ‘Data.Binary.IEEE754’
    It is a member of the hidden package ‘data-binary-ieee754-0.4.4’.
    Perhaps you need to add ‘data-binary-ieee754’ to the build-depends in your .cabal file.
2014-07-25 14:41:11 +00:00
hallgren 3660339b23 PGF service: expire PGFs from the cache when they have been unused for 24 hours
...to keep memory use down on the server.
2014-07-21 15:53:38 +00:00
hallgren 1ba0c4b354 WebSetup.hs: include Chinese when building the Phrasebook 2014-07-21 15:48:49 +00:00
aarne 1780742549 Qiao's corrections in PhrasebookChi. This replaces the old, partial and low-quality version and is hence the first Chinese phrasebook version that can claim high quality. 2014-07-16 21:07:34 +00:00
hallgren 3ec95e481b src/server/gf-server.cabal: update dependencies 2014-07-15 12:00:51 +00:00
aarne 810acc9258 modified some explanations in app.html 2014-07-15 09:55:45 +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 0222d2440c implemented computing with abstract syntax trees. It passes all test cases except those that require def rules. The design is consistent with the STG virtual machine 2014-07-08 19:45:49 +00:00
kr.angelov e0fe6d01c4 bugfix for the typechecker in the C runtime 2014-07-08 19:19:48 +00:00
kr.angelov ada85ae44e an API for visitor patterns on abstract syntax trees from Python. This makes the embedded grammars especially pleasing 2014-07-06 23:48:51 +00:00
kr.angelov 85672af858 small fix for the embedded mode in Python 2014-07-06 19:55:08 +00:00
kr.angelov e52d5bf715 embedded mode for GF grammar in Python. Only generation for now 2014-07-06 19:49:17 +00:00
aarne ac1e58817b making hard-wired questiong in PhrasebookChi type correct after addition of indirect questions 2014-07-05 08:34:22 +00:00
kr.angelov 7ad2f7dac3 filter out the leading +/* from the parser tree 2014-07-03 18:27:39 +00:00
kr.angelov aa746ad0f6 bugfix in the ParseTreeView 2014-07-03 18:09:34 +00:00
kr.angelov 272a8487f8 scroll bars for the ParseTreeView 2014-07-03 13:42:26 +00:00
kr.angelov e0fa954256 Visualization for parse trees on Android 2014-07-02 11:30:06 +00:00
kr.angelov abb50f9c73 added bracketedLinearize in the Java binding 2014-07-02 07:08:01 +00:00
kr.angelov 4a7055e994 fixed rare memory leak in the Java bindings 2014-07-02 07:06:51 +00:00
kr.angelov 064cf03005 a few changes in the Nerc that I have forgoten to push 2014-07-01 17:32:25 +00:00
kr.angelov 7aa8bf4150 fix warnings in the compilation of the Java binding 2014-07-01 17:31:29 +00:00
aarne fd5525149b link to play store from app.html 2014-06-30 09:14:17 +00:00
hallgren 0715cfe2ae minibar: include the grammar's last modification in the grammar info shown by the "i" button
Also bumped version number in gf.cabal to 3.6-darcs.
Also removed some unecessary use of CPP.
2014-06-24 13:59:09 +00:00
hallgren 23ec403402 Adjust the release date on the home page 2014-06-23 13:33:38 +00:00
hallgren e3e2227dfe Final updates of the download page for the 3.6 release
+ Describe which features are included in the different binary packages.
+ Describe the new MINGW package.
2014-06-23 13:30:33 +00:00
hallgren 89eb3fd60a Update web pages and bump version number to 3.6! 2014-06-21 18:29:29 +00:00
hallgren cfbd152a39 doc/gf-developers.t2t: made the C run-time section a bit more informative 2014-06-23 13:28:10 +00:00
hallgren 3cba76592e release-3.6.t2t: just a couple of more fixes.
Sorry.
2014-06-21 18:25:52 +00:00
hallgren f66440a1e7 release-3.6.t2t: fix broken link 2014-06-21 18:17:00 +00:00
hallgren cba51a97ab release-3.6.t2t: fix a formatting problem 2014-06-21 18:12:47 +00:00
hallgren 03274b76d3 debian/changelog: updated for the release of GF 3.6 2014-06-21 17:10:24 +00:00
hallgren 5a39637bcd build-binary-dist.sh: include a ghc package configuration file
as an experiment
2014-06-21 16:32:10 +00:00
hallgren 38f28da6c1 Polished and renamed release notes to release-3.6.t2t
Also added an example use of lookupmorpho to gf-web-api-examples.html.
2014-06-21 13:02:10 +00:00
hallgren 58156369fa The --output-dir option now applies also to PGF files 2014-06-21 12:26:56 +00:00
hallgren fc4c8b0058 Cloud service & apps: better error handling in wide coverage translation
The wide coverage demo apps now shows a "please wait" message while the grammar
is loading, and a red error message if the grammar is not found on the server.
The Simple Translation Tool also show red error messages if the grammar is not
found.
2014-06-20 18:39:28 +00:00
hallgren 9eb6557376 PGF Service: return error code 404 (not found) instead of 500 (internal server error) for missing grammars 2014-06-20 17:28:02 +00:00
hallgren ef20e8cbac PGF Service, command=grammar: include the last modified time of the grammar in the output 2014-06-20 10:34:51 +00:00
aarne 2601dac641 added a note that the green translation comes from the phrasebook 2014-06-20 07:12:31 +00:00
aarne a64dfe0bc8 some probabilities in app.probs to recognize languages and pronouns 2014-06-20 06:31:09 +00:00
aarne 85d80a89be restored some functions in PhrasebookDut to make it complete again 2014-06-19 18:08:03 +00:00
aarne 0e940b7fd1 style0 in app.html to preserve colours in table cells 2014-06-19 17:44:06 +00:00
hallgren fb922b65c1 css/style0.css: like css/style.css but without changing the default table style 2014-06-19 17:42:37 +00:00
aarne 916ef5bc47 language status in app help file as table ; less text 2014-06-19 17:42:03 +00:00
aarne 23cc4981ab language status information in demo app and translation documents 2014-06-19 17:41:34 +00:00
hallgren e7f9ad2a98 Demo page: fix the link to the android app 2014-06-19 17:05:21 +00:00
hallgren e10ab227ef Demo page: add links to the wide coverage translation page and the android app 2014-06-19 17:00:23 +00:00
hallgren 660de6e1da WebSetup.hs: PhrasebookLav works again 2014-06-19 16:58:33 +00:00
inari 4af2576e7b revert AWant in WordsDut back to using niet as negation 2014-06-19 16:55:13 +00:00
inari f36db77430 reverted AWant back to using niet negation 2014-06-19 16:51:55 +00:00
aarne 09476a16e2 renaming in PhrasebookDut to avoid name clash in App 2014-06-19 16:09:15 +00:00
aarne 5c7586bb78 a couple of fixes in Phrasebook ; should compile now 2014-06-19 15:55:39 +00:00
hallgren f743217a54 debian/rules: a hack to put the python binding in the right directory
The setup.py script puts it under site-packages, but python only looks under
dist-packages...
Also some minor changes for 'make deb' in Makefile
2014-06-19 15:45:55 +00:00
inari 3b7f6a271f Add some more constructions with geen as negative in WordsDut 2014-06-19 15:05:34 +00:00
hallgren 5b325659f8 debian/rules: fix bug that prevented the Python binding from being included 2014-06-19 13:39:03 +00:00
hallgren b49b6236d0 Update the GF shell reference manual 2014-06-19 10:58:35 +00:00
kr.angelov 9e94fca20b estimate the new values in app.probs as best as I can given the many grammar changes that were not reflected 2014-06-19 10:55:53 +00:00
inari 12fb4ab1a2 fixed negation in PhrasebookDut 2014-06-19 10:02:23 +00:00
hallgren ceb4beeb84 runtime/c/setup.sh: use make -j to speed up compilation
The configuration script takes significantly longer to run than the compilation
of all the C code, which is a hint that is in need of a major simplification.
2014-06-19 09:26:44 +00:00
aarne 318c69f58a release notes: record update and RGL updates 2014-06-19 07:18:24 +00:00
aarne 67012288c0 section on record update in gf-refman 2014-06-19 07:10:43 +00:00
hallgren 2feb552925 Include the Python binding to the C run-time system in Debian packages 2014-06-19 00:43:53 +00:00
hallgren f3c8adcc59 WebSetup.hs: skip PhrasebookLav for now 2014-06-19 00:20:31 +00:00
hallgren a21a782e47 Compile example grammars during the build phase instead of the install phase
This allows more errors to be detected by the build bot.
TODO: fix the gf --output-dir flag, which does not seem to change where PGF
file are put.
2014-06-18 23:57:45 +00:00
aarne 3d5d600236 enabled more from Construction in App 2014-06-18 16:20:53 +00:00
hallgren 65b064fe82 build-binary-dist.sh: updated to include the Python binding to the C run-time
There are also some changes in src/runtime/python/setyp.py to support this.
2014-06-18 16:09:46 +00:00
aarne d92f65f186 correction in app/README 2014-06-18 15:59:56 +00:00
aarne 28e50b0f5f quick hack: changed cat name Language to LAnguage in Phrasebook to avoid clash with Construction.Language in App 2014-06-18 15:38:11 +00:00
kr.angelov fa33096e6d a small change in the keyboard layout for Android to make it more user friendly 2014-06-18 09:51:44 +00:00
kr.angelov b41a8a1c16 filter out identical duplicated translations from the Android UI 2014-06-18 09:17:33 +00:00
hallgren c1eb47a67a gf.cabal: add a maintainer field 2014-06-17 20:55:13 +00:00
hallgren 12994a3ec4 Some updates to the GF 3.6 download page and release notes 2014-06-17 20:25:58 +00:00
normundsg dff7dd3a5d Redirecting grammaticalframework.org/framenet to remu.grammaticalframework.org/framenet 2014-06-17 15:24:45 +00:00
hallgren 050d435278 Compute/ConcreteNew.hs: eliminate selections from wildcard tables
This patch also includes some commented out code that was used to search for
the source of code size explosions and an eta expansion bug.
2014-06-17 14:47:55 +00:00
hallgren 6f8e52c944 doc/gf-developers.t2t: quick note on how to compile the C run-time system
Also a few other minor updates.
2014-06-17 14:17:59 +00:00
hallgren 1668eb17e5 build-binary-dist.sh: updated to include the C runtime system in binary tarballs
Also moved it to the bin directory.
Run it with 'bash bin/build-binary-dish.sh'.
2014-06-17 13:56:59 +00:00
hallgren f435966bf3 Setup.hs: System.Cmd is deprecated, import System.Process instead 2014-06-17 13:27:14 +00:00
hallgren dd2be5c75a gf-cloud-api.html: fix a broken link
Thanks to Dana Dannells.
2014-06-17 08:45:13 +00:00
kr.angelov fe49ddf16d now the named entities recognizer returns dictionary entries if the name is known 2014-06-17 06:57:12 +00:00
hallgren 9944916127 src/runtime/c/setup.sh: executable version of INSTALL, used from debian/rules 2014-06-16 23:28:12 +00:00
hallgren 6c40e0ac37 debian/rules: include the C run-time system when building .deb packages 2014-06-16 20:12:44 +00:00
kr.angelov b3f8b90f2b fixed memory leak in the Haskell binding to the C runtime 2014-06-16 08:49:13 +00:00
aarne 11d8df739e updated demos/translation.t2t with link to app and explanation of colours 2014-06-15 14:12:55 +00:00
hallgren d6252d1c16 PGF library: expose only PGF and PGF.Internal instead of all modules
PGF exports the public, stable API.
PGF.Internal exports additional things needed in the GF compiler & shell,
including the nonstardard version of Data.Binary.
2014-06-12 14:43:18 +00:00
hallgren 352ecb7eb8 New GF home page: trying blue page title and tagline instead of red 2014-06-12 12:29:35 +00:00
kr.angelov 3d43c2687f swith off the debugging in the android ui 2014-06-12 09:37:40 +00:00
kr.angelov 86201df35c now GF keywords can be used as identifiers if they are quoted 2014-06-12 09:36:32 +00:00
hallgren 63c9dcd207 new.html: a proposed new look for the GF home page 2014-06-11 13:32:31 +00:00
hallgren 84b7a56fb2 Updating the release notes and installation instructions for the next release 2014-06-10 22:12:48 +00:00
hallgren 26aecdb4d3 PGF2.hsc: use throwIO instead of throw
From the documentation: the throwIO variant should be used in preference to
throw to raise an exception within the IO monad because it guarantees ordering
with respect to other IO operations, whereas throw does not.

Also removed some unused imports.
2014-06-10 12:42:01 +00:00
aarne 7b582218c9 CompoundN in app.probs 2014-05-29 11:04:24 +00:00
normundsg 0c5ad7ea11 FrameNet-GF API Doc 2014-05-29 11:45:09 +00:00
kr.angelov 67f64cb233 now we compile context-free grammars directly to PGF without going via GF source code. This makes it quick and lightweight to compile big grammars such as the Berkley grammar 2014-05-24 07:47:06 +00:00
kr.angelov dbb4fdd0f7 bugfix in the Java binding. it was causing a crash in the Android app 2014-05-23 10:52:00 +00:00
kr.angelov 333e537e72 small fix in tabularLinearize 2014-05-22 13:33:18 +00:00
kr.angelov 757db06ba0 added tabularLinearize in the python binding 2014-05-22 13:30:14 +00:00
kr.angelov df80a2042b bugfix: the keyboard should not show completions when entering web passwords 2014-05-22 07:25:33 +00:00
kr.angelov 32fe1d8453 the dictionary view in the app now filters out duplicated morphological analyses 2014-05-22 07:10:28 +00:00
aarne aeb00013ce fixed the path in AppFin.gf so that it compiles in a more general setting 2014-05-22 06:23:57 +00:00
kr.angelov e6fa0662e4 forgot to fix the path for AppFre.gf 2014-05-21 09:36:12 +00:00
aarne f2e28c59c6 App compilation instructions: with parallel compilation, make Phrasebook separately 2014-05-21 08:19:34 +00:00
kr.angelov 75475b579d in verbosity mode the compiler warns about missing paths 2014-05-21 07:33:35 +00:00
aarne 43eaedd326 probabilities for App 2014-05-21 07:31:18 +00:00
kr.angelov f3f0e7abd5 fix the path in the App grammar to the Phrasebook 2014-05-21 07:30:01 +00:00
hallgren 1bba23991f Compute/ConcreteNew.hs: adding a Prawitz rewrite
(table { p_i => t_i } ! x).l ==> table { p_i => t_i.l } ! x

This was used in the old partial evaluator and can significantly reduce term
sizes in some cases.
2014-05-16 21:27:20 +00:00
hallgren 307795f385 Fix an eta expansion bug in the grammar compiler
Eta expansion is applied between partial evaluation and PMCFG generation.
The buggy version generated type incorrect terms, but PMCFG generation
apparently worked anyway.
2014-05-16 14:10:07 +00:00
hallgren e9b5b8b094 Simple Translator: fall back to word-for-word translation if the parser fails
Same as in the Wide Coverage demo app.
2014-05-15 13:58:42 +00:00
hallgren 121afca05a Haskell binding: free memory pool to avoid space leak when readPGF fails 2014-05-13 14:07:36 +00:00
hallgren 7c9ff164bf gf -server: include list of loaded PGFs in version info 2014-05-12 13:45:36 +00:00
hallgren 12a8e113c2 examples/phrasebook/Makefile2: add Chinese
Also remove arguments to raise the stack size, GF's built-in default is big
enough now.
2014-05-09 13:07:02 +00:00
john.j.camilleri 2fcc035623 Add link to IRC logs
The logs are simply dumped there in raw form, but at least having a link
should make them Google-indexed. One day we'll put something there with
an interface.
2014-05-09 06:53:41 +00:00
kr.angelov 41c8749b5c fix the literals API in Java for strings with non-latin characters 2014-05-08 14:56:46 +00:00
hallgren 1fbe17aabe Wide Coverage Demo Web App: bug fix: swapping source and target works again 2014-05-08 14:18:03 +00:00
hallgren 6f6e9096e8 Wide Coverage Demo Web App: bug fix: restore lost quality indications after switching target languages 2014-05-08 14:05:07 +00:00
hallgren 8d9816ee98 PGF web api, command c-wordforword: re-enable parsing of individual words
The space leak in the Haskell binding to the C parser has been fixed.
2014-05-08 11:38:41 +00:00
kr.angelov 58d0cdc943 fix memory leak in the Haskell binding 2014-05-08 08:41:58 +00:00
hallgren fc6d8f6362 Wide Coverage Demo App: show all Phrasebook translations
Also improve behaviour for languages that are missing in Phrasebook (Chinese).
Also update the initial set of languages in the menus to match Translate11.pgf.
2014-05-07 23:42:05 +00:00
hallgren 70b192594e pgf-shell.hs: fix compilation problem with GHC 7.4 2014-05-07 17:06:34 +00:00
hallgren 04e7bdb6fe Two improvements in the pgf-shell example
1. Like pgf-translate, it now shows one result at a time, press Enter to get
   more results.
2. You can load a new grammar with the command 'i <path-to-pgf>'
2014-05-07 16:37:28 +00:00
aarne 27fc5e5b04 improved paths and Makefile in examples/app ; see README how to compile with just 'make -j' 2014-05-06 21:42:49 +00:00
aarne 41d7f2dfaf eliminated dependency of PhrasebookChi from DictionaryChi ; added 'make forApp' to compile what is needed for Phrasebook in App 2014-05-06 20:09:21 +00:00
aarne d752167f59 some more words and phrases in PhrasebookChi ; native speaker check should be done soon 2014-05-03 15:57:21 +00:00
hallgren bd80c3c201 Wide Coverage Web Demo: fix bug introduced in previous patch
Word-for-word translations were shown in the wrong language after switching
traget language.
2014-04-29 19:09:24 +00:00
hallgren 580b8cc783 Wide Coverage Demo App: translate to all available target langauges at once
This means that the new translation is available instantly when switching
target languages. It can also reduce space leaks problems in the server
somewhat by avoiding repeated parsing of the source text.
2014-04-29 16:01:57 +00:00
hallgren a7b1f9e1b3 PGF web api, command c-wordforword: don't repeat parsing/morpho analysis for each target language
Also omit attemts to parse individual words for now, to avoid space leaks in
the Haskell binding to the C parser.
2014-04-29 15:51:46 +00:00
hallgren 2721f7358f Spring cleaning
Nothing major...
2014-04-28 13:56:20 +00:00
hallgren b5fd7d88c1 Simple Translator: remove extra space before punctuation 2014-04-28 12:07:41 +00:00
kr.angelov d278965095 an initial Java/C API for predicting literals. Still not utilized 2014-04-25 08:53:18 +00:00
kr.angelov 3a0da12e3d remove dead code to avoid warnings 2014-04-24 19:21:00 +00:00
kr.angelov aefaed2056 make the input box in the conversation view self-adjustable when entering longer text 2014-04-24 19:18:28 +00:00
kr.angelov 2c9906336d a better solution for restoring the state of the main activity when the device is flipped. This one doesn't require hacks. 2014-04-24 18:50:20 +00:00
hallgren e891e99725 Simple Translator: remove punctuation before wide coverage translation
This gives better translations with Translate11.pgf and is how the Wide
Coverage Demo App works.
2014-04-24 11:28:15 +00:00
kr.angelov 6808c3c982 a small fix to avoid showing * in some translations 2014-04-24 08:03:29 +00:00
kr.angelov 81c2184923 show the alternative translations in color 2014-04-24 08:00:52 +00:00
kr.angelov 5f7ca26002 show the probabilities for the alternative translations 2014-04-24 07:44:47 +00:00
kr.angelov b2f5d97315 bugfix in the word completion in the input method 2014-04-24 07:27:34 +00:00
aarne f5e4430e34 merged the edits 2014-04-24 07:23:40 +00:00
aarne 1e67d2531b updated app.html with new links 2014-04-24 07:15:48 +00:00
aarne 58615e6bc6 updated app help 2014-04-24 07:14:40 +00:00
kr.angelov 80e9b1e6b9 fix typo in the help file 2014-04-24 07:08:06 +00:00
kr.angelov 43706445be finally: the conversation view is now no longer cleared up everytime when the device is flipped 2014-04-23 20:27:46 +00:00
aarne e60ec8d1da updated app.html with images and a link where a real app can now be found 2014-04-22 17:18:50 +00:00
aarne e6363c51dd some edits in app help ; special lexer for Fre,Ita commented out as it is no longer needed 2014-04-22 16:00:54 +00:00
hallgren e3ff79d49c Some work on the download page and release notes for the next release of GF
Please add things you think are imporant to mention to the release notes!
2014-04-22 14:45:37 +00:00
hallgren 570a417615 gf.cabal: require base>=4.3
This makes it explicit that we no longer support compiling GF with GHC 6.12
(which is 4 years old and comes with base-4.2).
2014-04-22 14:38:33 +00:00
kr.angelov b70cea2673 bugfix in the handling of BIND in the C runtime 2014-04-22 13:53:18 +00:00
hallgren a2c25e88d4 gf.cabal: add GF builtin default -K64M. Enable parallel compile with ghc>=7.8
+ Programs compiled with ghc<7.8 have a default built-in 8M stack size limit.
  With ghc>7.0 this built-in default can be changed, so it is now 64M, allowing
  GF to work with larger grammars without manually increasing the stack size.
  (But if GF is compiled with ghc 6.12, the built-in default is still 8M.)

+ Enable ghc>=7.8 support for compiling modules in parallel, to speed up the
  compilation of GF.
2014-04-22 12:43:24 +00:00
kr.angelov 5847f8e18f fix in the renaming 2014-04-22 11:55:22 +00:00
kr.angelov c032781095 rename DGTranslator to Human Language Compiler. Added a new logo 2014-04-22 11:53:16 +00:00
aarne d3020a2f19 a copy of app help file as demos/app.html 2014-04-21 08:45:32 +00:00
aarne 7340400758 some edits in app help 2014-04-21 08:40:38 +00:00
hallgren 0e21bcde22 Wide Coverage Demo web app: more client side caching
For example, you can now reorder paragraphs by cut & paste, without causing
anything to be sent to the server for re-translation.

Also some color & layout tweaks.
2014-04-17 13:48:00 +00:00
kr.angelov b0b27a1b32 now word completion from Java works. It could be made better 2014-04-17 11:00:27 +00:00
hallgren 5cb5cdd31e Wide Coverage Demo App: show a word-for-word translation if all else fails 2014-04-16 15:37:09 +00:00
hallgren dd96c8a2c6 PGF web API: adding the command c-wordforword
It has the same parameters and result format as c-translate, but it does
the translation word for word. (To be used as a last resort).
2014-04-16 15:24:23 +00:00
aarne 1bc77326e2 edits in App help ; name suggestion "Language Compiler" ; sepApo(), a quick fix to French and Italian elision in the App 2014-04-15 22:02:06 +00:00
aarne fbcb5e1957 removed clash in AppFin imports 2014-04-15 21:26:33 +00:00
hallgren 7fc3627c6e PGF web API: add commands lookupmorpho and c-lookupmorpho 2014-04-15 14:50:38 +00:00
hallgren 2ea326a83e gftranslate.js: switch to Translate11.pgf 2014-04-11 20:08:12 +00:00
aarne d8f15af8f0 Dut added to android Translator.java 2014-04-11 19:47:50 +00:00
aarne 3740a30f05 App11.pgf in Makefile 2014-04-11 18:56:59 +00:00
hallgren ba825ae81a Wide Coverage Demo App (gftranslate.js): use a special lexer for Chinese. 2014-04-11 18:39:12 +00:00
hallgren 6601a3972e Simple Translator: use colors to indicate translation quality 2014-04-11 15:00:15 +00:00
aarne aca589d872 experimental AppDut added 2014-04-11 07:49:34 +00:00
kr.angelov 7c3d97e72a named entities in the Android App 2014-04-11 12:56:31 +00:00
hallgren ea389df58e Simple Translator: Use PGF API for (un)lexing instead of separate server calls
Also,

  + Get up to 10 (instead of 5) alternative robust translations.
  + Remove duplicates from list of alternative robust translations
  + Add GF Cloud logo to the simple translator page
2014-04-11 12:10:05 +00:00
kr.angelov f72fe45c32 forgoten Completer.java 2014-04-11 07:52:10 +00:00
kr.angelov b82f9a5035 expose Java API for word completion 2014-04-11 07:50:22 +00:00
kr.angelov 65b4ba2459 change the JVM version to 1.6 in JNI_OnLoad 2014-04-11 07:15:27 +00:00
kr.angelov dbc8a6f579 bugfix in the Java binding 2014-04-10 16:43:40 +00:00
hallgren 4008a2b111 PGF web service: disable caching of parse results
Caching parse results uses a lot of memory, even if they expire after
2 minutes, so it won't scale up to many simultaneous users.

But some excessive memory use seems to be caused by space leaks in
(the Haskell binding to) the C run-time system, and these should be fixed.
For example, flushing the PGF cache does not release the memory allocated
by the C run-time system when loading a PGF file.
2014-04-10 15:55:33 +00:00
hallgren 5f75baf56a Wide Coverage Demo App: it now works ok without server caching of parse results 2014-04-10 15:50:34 +00:00
kr.angelov 1ca09448f9 now fully functional Java API for custom literals 2014-04-10 14:14:31 +00:00
kr.angelov 348c9c4233 bugfix in the C runtime 2014-04-10 07:42:49 +00:00
aarne d7ef5d8c0b improved generation of BNC dictionaries ; now called TopDictionary for clarity 2014-04-10 13:07:05 +00:00
kr.angelov d9f4c1598c a quick hack to enable the NERC from bindings. This should be made available from the API but for now I just hacked the C runtime 2014-04-10 07:27:07 +00:00
hallgren d19e6d9d07 Wide Coverage Demo App: new buttons: to switch colors on/off & to try Google Translate 2014-04-09 20:51:31 +00:00
hallgren 402cccc3ca localstorage.js: bug fix
If you stored "false" and tried to retrieve it with a default value, you got
the default value instead of "false".
2014-04-09 20:49:53 +00:00
hallgren 96f36d8f0a Wide Coverage Demo App: use PGF service lexing/unlexing
It is now enough to make one server call per translation, and the results can
cached by the browser.
2014-04-09 19:49:45 +00:00
hallgren d1da0e06de PGF web service: add unlexers and enable client side caching
Most PGF web API commands that produce linearizations now accept an
unlexer parameter. Possible values are "text", "code" and "mixed".

The web service now include Date and Last-Modified headers in the HTTP,
responses. This means that browsers can treat responses as static content and
cache them, so it becomes less critical to cache parse results in the server.

Also did some cleanup in PGFService.hs, e.g. removed a couple of functions
that can now be imported from PGF.Lexing instead.
2014-04-09 17:51:25 +00:00
hallgren 50ea3d265c Change the type of PGF.Lexing.bindTok to [String] -> [String]
The old type was [String] -> String. This function was only used
in GF.Text.Lexing.stringOp, which now uses (unwords . bindTok) instead,
with no change in behaviour.
2014-04-09 17:39:21 +00:00
hallgren 677d849840 Unlexers: move capitalization of first word from GF.Text.Lexing to PGF.Lexing
The capitalization of the first word was done in GF.Text.Lexing.stringOp,
but is now done in the functions unlexText and unlexMixed in PGF.Lexing.
These functions are only used in stringOp and in PGFService (where the change
is needed), so the subtle change in behaviour should not cause any bugs.
2014-04-09 17:26:23 +00:00
hallgren 04a6260eea PGF Service: a bit more clever lexer=text
Only change the first word to lowercase if the original input is not found in
the grammar's morphology. This allows parsing of sentenses starting with "I" in 
English, nouns in German and proper names in other languages, but it can make
the wrong choice for multi-words.
2014-04-09 14:13:18 +00:00
hallgren 4479bb81b7 Wide Coverage Demo App updates
+ Add Clear button.
+ Use localstorage to remember entered text between visits.
+ Add a link to it on the GF cloud service start page.
2014-04-09 13:59:35 +00:00
aarne 88cf84613e more passives in App. Import changes are now produced with MkApp.hs, which copies the exclude list from App.gf to the concrete syntax files. 2014-04-09 14:01:06 +00:00
aarne a3921bffd7 rewrote App so that it just inherits Translate and excludes some functions. This minimizes the duplication of code between Translate and App. Also added some functions, which make App 15% slower but increase the coverage and quality. This trade-off has to be studied further. 2014-04-09 13:04:19 +00:00
hallgren 622ab0b44c Fix build problem in PGFService.hs when configured without c-runtime 2014-04-08 20:45:54 +00:00
hallgren 29efca71cb PGF web service: add lexer support
The PGF web API commands parse, translate, translategroup, c-parse and
c-translate now support a lexer parameter. Possible values are "text",
"code" and "mixed".

This is used in the Wide Coverage Demo App to save one server roundtrip.
2014-04-08 16:10:33 +00:00
aarne 44521edd2d small fixes in App grammar - don't affect performance 2014-04-08 16:14:05 +00:00
hallgren 9cac98a356 Move basic lexing functions from GF.Text.Lexing to the new module PGF.Lexing
They are thus part of the PGF Run-Time Library, making it possible to add
lexing functionality in PGF service in a natural way.
2014-04-08 14:07:49 +00:00
hallgren 936f3d8297 Wide Coverage Demo App: remove quality markers ("+" or "*") before unlexing
Otherwise the first word won't be capitalized.
2014-04-08 13:46:57 +00:00
kr.angelov a90756aeda added preliminary API for custom literals from Java. Not functional yet 2014-04-08 13:54:49 +00:00
kr.angelov f99d3033aa bugfix in the C runtime that shows up with only some grammars 2014-04-08 12:41:41 +00:00
hallgren 64623d4881 Wide Coverage Demo App: restore swap button 2014-04-08 11:32:54 +00:00
hallgren c8a8883df8 demos/translation.t2t: more space for the demo app 2014-04-07 13:01:00 +00:00
hallgren 5868118ea9 Wide Coverage Demo Web App: add segmentation
Click on sentences to choose among alternative translations.
2014-04-07 12:51:13 +00:00
kr.angelov e3d49bea01 Expr and ExprProb are now serializable objects 2014-04-07 12:52:51 +00:00
kr.angelov 317d32aa93 fix in the keyboard 2014-04-07 12:42:02 +00:00
kr.angelov 3ff5557389 added alternative_item.xml 2014-04-07 12:41:23 +00:00
kr.angelov 8fa202613f a bit more text in the help 2014-04-07 09:43:20 +00:00
kr.angelov 419aab3025 show alternative translations on Android 2014-04-07 09:14:14 +00:00
hallgren a0adabb3a1 Wide coverage demo app: show an error message even if the error string is empty 2014-04-06 23:44:31 +00:00
hallgren ea67953012 Wide coverage demo app: show an error message if linearization fails 2014-04-06 23:13:18 +00:00
hallgren 5344d42536 gftranslate.js: use Translate10.pgf 2014-04-06 19:59:04 +00:00
hallgren d6d056034b TypeCheck.RConcrete: contravariance in table types 2014-04-04 16:50:12 +00:00
aarne ad5f7397ad path in AppFin 2014-04-04 14:32:36 +00:00
aarne 1bd5bcfad3 polarities restored in Hin translation 2014-04-04 12:05:20 +00:00
hallgren c58649bd29 Removed imports of TypeCheck.Concrete, fixed problems in TypeCheck.RConcrete
+ The current type checker for concrete syntax is in
  GF.Compile.TypeCheck.RConcrete, but GF.Compile.TypeCheck.Concrete was
  still imported in GFI.

+ Fixed a bug that allowed Ints n as a subtype of Ints m, regardless of
  m and n. It now requires n<=m. Note: the type checker still allows Int
  as a subtype of Ints m, regardless of m.

+ Fixed a potential efficiency problem with large record types, by reducing
  the number of recursive calls from |R|*|S| to |R| when checking if R<=S.

+ Fixed a misleading comment: "alpha g t u" checks that u is a subtype of t,
  the other way around. Similarly, "checkIfEqLType gr g t u trm" checks that
  u is a subtype of t, not the other way around, and not that t is equal to u.
2014-04-04 13:51:07 +00:00
hallgren 8986541160 Wide Coverage Translation Web App: redesigned user interface
The layout now resembles a certain other online translation service.
The translation is started automatically after text is entered, no need to
press the Translate button.
2014-04-04 12:52:41 +00:00
hallgren 5cc0f39520 gftranslate.js: increase length limit from 200 to 500 encoded bytes 2014-04-04 12:39:36 +00:00
hallgren 6cbd1a753c Simple Translator: show more alternatives when using GF robust translation
The maximum number of alternatives shown has been increased from 2 to 5
although it can slow down translation.
2014-04-04 12:35:20 +00:00
hallgren 9ceadecf89 Slightly more informative error messages in translation web apps 2014-04-04 12:33:31 +00:00
hallgren 4018073bdb PGFService.hs: adapt to changes in the Haskell binding to the C run-time system
Parse errors used to cause crashes, but they are now handled and reported.
2014-04-04 12:28:00 +00:00
kr.angelov bd892b8a1d fix the haskell binding to handle parse errors 2014-04-04 11:46:40 +00:00
aarne dafaef7fec AdvS added to app 2014-04-04 07:30:06 +00:00
aarne 1af3bb65b4 text in app help 2014-04-04 07:28:55 +00:00
kr.angelov 67debbd8c3 now the output from the speech recognizer is editable with the keyboard 2014-04-04 09:04:00 +00:00
kr.angelov 2f6ee53ff6 add activity_help.xml 2014-04-04 07:51:05 +00:00
kr.angelov 2834d0b44d add the forgoten HelpActivity.java 2014-04-04 07:48:50 +00:00
kr.angelov 587b02a63b add touch feedback to the two buttons in the app 2014-04-03 20:30:23 +00:00
kr.angelov 3f99060252 added help view in the android app. The help itself is not very useful right now 2014-04-03 14:22:44 +00:00
kr.angelov 6a8f271ba5 GFTranslator to DGTranslator in a few more places 2014-04-03 14:06:26 +00:00
kr.angelov ba5e918b69 remove the old android icon 2014-04-03 14:02:50 +00:00
kr.angelov b7283ade9c change the project name to DGTranslator 2014-04-03 13:48:08 +00:00
kr.angelov 7a319e0794 a new icon and a new name for the DG Translator 2014-04-03 13:44:14 +00:00
aarne 942808bc84 added AdvVP and AdVVP to App 2014-04-03 07:25:57 +00:00
kr.angelov e6f9143c63 bugfix in the keyboard translation 2014-04-03 06:14:15 +00:00
aarne cae40d2b0e Android app sources in examples/app - read README for advice 2014-04-02 21:34:40 +00:00
kr.angelov 0a8034c008 fix in the keyboard XMLs 2014-04-02 20:05:16 +00:00
kr.angelov b3ba3d3c1c initial binding to Prolog for the C runtime 2014-04-02 10:03:19 +00:00
aarne d4cbadb6ad use chunking before morpho lookup in backup parsing ; show results with unknown linearizations in darkest red 2014-04-01 16:24:35 +00:00
hallgren 23c9a042cb Bug fix for pattern macros in pre{}
This bug was introduced sometime between 2013-08-21 and 2013-11-01 and caused
the function convertTerm in GF.Compile.GeneratePMCFG to encounter a EPatt where
it expected Strs. I fixed it by applying the function getPatts (from the old
partial evaluator) to the pattern.
2014-04-01 10:54:41 +00:00
aarne 13d4e01ecb Hin and Bul keyboards in app restored 2014-03-31 19:45:41 +00:00
hallgren 57b2a2bc2c Wide coverage demo web app: green translations from Phrasebook.pgf
The demo web app now show translations from Phrasebook.pgf in green before
translations from Translate8.pgf, which can be yellow or red.
2014-03-31 15:28:14 +00:00
aarne 2a6cbe9a46 room_N in DictionaryChi 2014-03-31 14:30:31 +00:00
hallgren 98d9946ac4 Wide coverage demo web app improvements
+ Adapt language selection menus to the languages supported by the grammar.
+ Add translation quality colors to the links to alternative translations.
+ Also added more country codes in langcode.js (needed for speech synthesis
  voice selection).
2014-03-28 14:56:56 +00:00
aarne 035d367b1f added the phrase "what time is it" in ten languages. For simplicity, this is a Greeting and not a Question, which means that it has a variant appearing with ! rather than ? , similar to "how are you". Correcting this would require analysing the structure of the phrase so that it can be constructed in QS. 2014-03-28 08:02:14 +00:00
hallgren 201283c055 Wide coverage demo web app: translation quality feedback with colors
The background color of the translation changes to pale green, yellow or red
according to the quality.

Two types of quality indications are supported:

+ From the grammar: linearizations starting with "+" or "*" are assumed to
  be of high or low quality, respectively.
+ From the parse tree: if the root function is "?", then the translation is
  assumed to be of low quality.

If no quality indications are detected, medium quality is assumed.
2014-03-27 15:11:02 +00:00
hallgren 9bfed99790 support.js & gftranslate.js: improved handling of server errors
In support.js, the functions http_get_json, ajax_http_get_json
and ajax_http_post_json now calls the supplied error callback if the server
returns invalid JSON (e.g. because of a crash).

The function gftranslate.translate in gftranslate.js returns
a JSON value containing an error message (since it doesn't have an error
callback).

This should result in fewer situations where "nothing happens" and the user
doesn't know if it is beacuse the server is slow, or if there was an error.
2014-03-27 15:02:27 +00:00
kr.angelov 911ae42296 small fixes in the C runtime 2014-03-25 13:57:57 +00:00
kr.angelov 51a9ef72c7 refactor the compilation of CFG and EBNF grammars. Now they are parsed by using GF.Grammar.Parser just like the ordinary GF grammars. Furthermore now GF.Speech.CFG is moved to GF.Grammar.CFG. The new module is used by both the speech conversion utils and by the compiler for CFG grammars. The parser for CFG now consumes a lot less memory and can be used with grammars with more than 4 000 000 productions. 2014-03-21 21:25:05 +00:00
kr.angelov d816c34986 added hasLinearization method in the Python binding 2014-03-20 14:48:47 +00:00
kr.angelov eb1aa24896 fix in the Python binding which was forgoten after a change in the C runtime 2014-03-20 14:48:02 +00:00
hallgren b061d59044 gf -server: add a command to manually flush the PGF cache
This can be used if the cloud service seems slow, but it would probably
be better to automatically expire unused PGFs from the cache after some time.
2014-03-19 16:15:05 +00:00
aarne cbb538e170 a darker red in translation app: dictionary lookup for each word, identity if lookup fails 2014-03-18 13:22:13 +00:00
aarne b4a6e047e3 Hin and Ger added to android app again 2014-03-18 10:21:53 +00:00
kr.angelov a1446b87fa whitespace cleanup in the parser 2014-03-18 10:19:35 +00:00
aarne 891ca74186 show the value in the error message when failing to get Str from value 2014-03-17 18:02:07 +00:00
hallgren 22b68ad30c Wide coverage demo web app: add speech synthesis
Works in Safari and Chrome.
2014-03-17 15:59:43 +00:00
hallgren 825e0cf7cf doc/Logos/gf1.svg: variant of the GF logo with a subtle shadow 2014-03-13 14:50:30 +00:00
kr.angelov 7dd5748fa8 bugfix in the compiler for linref of empty record 2014-03-15 11:33:54 +00:00
aarne 55e2bfb9eb bg in android app 2014-03-14 15:00:33 +00:00
aarne 7899bb8cbe moved the small app chunking grammars from lib/src/experimental to examples/translator; the proper place might be in the git contributions, but this can be decided later 2014-03-14 13:28:42 +00:00
aarne 566df8e4ae Spanish in android app 2014-03-14 09:45:46 +00:00
aarne c1c37a65e6 AppIta, with a small lexicon 2014-03-13 13:27:51 +00:00
hallgren f6c7094955 GF home page: news item about Digital Grammars 2014-03-13 13:15:43 +00:00
aarne f12aed25ca App ported to Fre 2014-03-13 11:12:34 +00:00
kr.angelov bde1ff8032 remove accidental trace message 2014-03-13 08:25:19 +00:00
kr.angelov cf1cee3c02 small stylistic changes in the Android App 2014-03-13 08:21:31 +00:00
kr.angelov ae1512c926 compute the right word probability 2014-03-12 15:36:40 +00:00
hallgren ca8dd1e8cc support.js: For better error handling, always use AJAX, don't fallback to JSONP
Cross-origin requests are allowed by the PGF service and are supported in
all modern browsers.
See http://en.wikipedia.org/wiki/Cross-origin_resource_sharing
2014-03-12 14:07:35 +00:00
hallgren f092e7fe5b haskell-bind: comment out superfluous imports 2014-03-12 13:21:47 +00:00
kr.angelov 80331889e5 the UI for the Android API now has stable word prediction 2014-03-12 14:01:22 +00:00
kr.angelov ebb61fbf1c ensure that negative probabilities are always avoided 2014-03-12 13:11:23 +00:00
john.j.camilleri f4be97c152 Fix typo in PGFService: "incomlete" 2014-03-12 12:45:32 +00:00
kr.angelov 42e185124e remove the unnecessary logging of the completion string 2014-03-12 10:57:11 +00:00
kr.angelov 23f603dabc fixes in the word completion 2014-03-12 10:54:29 +00:00
hallgren ccc43b28f0 WebSetup.hs: use the correct --gf-lib-path when building example grammars
The directory should be the same as the one used in Setup.hs when building
the RGL, where a build directory supplied by cabal is used. This is usually
dist/build/rgl, but it could be different, e.g. when using a cabal sandbox.
2014-03-11 13:46:10 +00:00
aarne ccda8f00e1 android: added (1) dg icon (2) green/yellow/red colours for translation confidence (3) App grammars as test case in Translator.java 2014-03-10 18:04:43 +00:00
aarne 2ee2769146 reference to DictEngChi changed to DictionaryChi 2014-03-10 18:00:15 +00:00
aarne 0537de6726 added alternative build with Pred grammars to android, commented out by default 2014-03-09 11:42:47 +00:00
kr.angelov 178d06d5a2 added word completion in the Android UI 2014-03-07 21:30:54 +00:00
kr.angelov 2132eb6bed added Java API to the simple word completion 2014-03-07 21:29:26 +00:00
kr.angelov 319308007c fix in the Java binding after the implementation for pre 2014-03-07 21:28:40 +00:00
kr.angelov ba28cfd80e added pgf_lookup_word_prefix which makes it possible to do simple word prediction 2014-03-07 21:24:20 +00:00
kr.angelov ae59508f6a another fix in the keyboard 2014-03-07 14:13:21 +00:00
kr.angelov a8e18c3bdf bugfix in the keyboard 2014-03-07 13:51:28 +00:00
kr.angelov df3406c11f added Devanagari keyboard for Android 2014-03-07 13:42:13 +00:00
kr.angelov 6cb693bdf5 bugfix in pgf-translate 2014-03-07 09:35:57 +00:00
hallgren 052ead6797 C run-time: protect from Windows specific #includes with #ifdef __MINGW32__ 2014-03-06 13:42:27 +00:00
kr.angelov e916c77cb4 bugfix in the android keyboard for multiline documents 2014-03-05 13:42:55 +00:00
kr.angelov 459f3bffa6 bugfix in the Android UI 2014-03-05 12:50:36 +00:00
kr.angelov 4f9afb9343 implementation for pre in the C runtime 2014-03-05 10:17:42 +00:00
hallgren d04ffb60ac Fix the fix 2014-03-04 14:35:14 +00:00
hallgren 108e04b7bd Fixes for GHC 7.6 compatibility 2014-03-04 14:28:44 +00:00
hallgren 76ba865c2e Three fixes for compatibility with GHC 7.8
Two of the fixes were in the custom version of the binary package. We
should get rid of it at some point, to reduce the maintenance burden.

The third fix was to add new version constraints for happy and alex in
gf.cabal. New versions of them are needed because of the ugly, low-level,
GHC-specific code they produce need to be different for GHC 7.8.

More fixes might be needed for -server mode, but the cgi package is not
compatible with GHC 7.8 at the moment, so it will have to wait.
2014-03-04 14:13:41 +00:00
kr.angelov cbe17732a6 use pgf_linearize instead of pgf_lzr_linearize_simple in pgf-translate.c 2014-03-04 10:30:23 +00:00
kr.angelov 2e1dd543e9 memory leak in parseval.c 2014-03-04 10:29:18 +00:00
kr.angelov c197de7fbd rename pgf_lzr_linearize_table to pgf_lzr_get_table 2014-03-04 10:13:23 +00:00
kr.angelov ddf36bcd62 more in src/runtime/java/INSTALL 2014-02-27 21:21:19 +00:00
kr.angelov 60bfacf7c2 another fix for building the Java binding 2014-02-27 21:20:19 +00:00
kr.angelov aeeabe3f0e added file with instructions for compiling the Java binding 2014-02-27 20:20:59 +00:00
kr.angelov 994d936ce9 instructions for compiling the C runtime on Windows 2014-02-27 20:04:30 +00:00
kr.angelov 2eaf51f15a changes in Makefile.am to make it easier to compile the C runtime on Windows 2014-02-27 19:37:10 +00:00
kr.angelov 2238d1e462 include malloc.h in a few places to avoid warnings on Windows 2014-02-27 19:34:14 +00:00
kr.angelov b87104aa89 update the Eclipse project for jpgf with settings needed for Windows 2014-02-27 19:28:25 +00:00
kr.angelov 6a044edc39 bugfix with the keyboard label for Chinese 2014-02-25 12:15:29 +00:00
kr.angelov d1a65d6aec the Android UI uses a new progress indicator which works on both Nexus 1 and Nexus 7 2014-02-25 09:46:05 +00:00
kr.angelov e5a6592080 the Android App is now using the documentation modules instead of xml files for generating the inflection tables. The xml files are removed 2014-02-21 16:34:59 +00:00
hallgren 9b1b42bd22 Wide coverage demo web app: add link to Google Translate 2014-02-19 14:17:49 +00:00
hallgren 62dcb1e14a src/www/js/langcode.js: functions for converting language codes
factored out from src/www/translator/translator.js
2014-02-19 14:15:14 +00:00
kr.angelov 1ec7065fb3 bugfix in the android ui 2014-02-18 13:09:56 +00:00
kr.angelov 5b97e9637b fix in GF.Compile.Compute.ConcreteNew which makes it possible to compile DocumentationBul.gf 2014-02-17 09:00:14 +00:00
hallgren 29ac39c5cc demos/translation.t2t: the translation app needs more space 2014-02-13 12:02:10 +00:00
hallgren 2a130d7565 Wide coverage demo: show up to 10 translations
The translations are loaded one at a time so you don't have to wait for all
10 to see the first one.
2014-02-12 16:08:18 +00:00
hallgren 44ee072331 Work on web api & apps based on the C run-time system
+ PGFService.hs: add command c-grammar, include probability in parse results
+ js/gftranslation.js: add start position and limit parameters, return more
  info to applications
+ Simple Translator: show two wide coverage translations
+ Wide coverage demo: show parse tree and probability (intended as grammar
  debugging aids)
2014-02-11 16:43:29 +00:00
hallgren 23dc22cea4 GFServer.hs: avoid intertwined log messages from parallel requests 2014-02-11 14:22:12 +00:00
hallgren c9af5d11c0 Restore compatibility with GHC 7.0 2014-02-10 21:44:34 +00:00
hallgren 60980d1617 Fix broken C runtime support in gf.cabal and PGFService.hs
Also add PGF service command c-flush to explicitly flush cached parse results
from memory.
2014-02-10 16:04:40 +00:00
kr.angelov 44a764cd2f proper error checking in the C runtime 2014-02-10 14:07:17 +00:00
hallgren 1bcb2d06e3 haskell-bind: fix broken pgf-shell
The type CId was replaced with String, so can't use show and read anymore.
2014-02-10 12:59:31 +00:00
kr.angelov 5818b0fe1b bugfix in pgf2-bind.cabal 2014-02-10 10:28:19 +00:00
aarne 6faaa795c5 disabled ad hoc overloading, as it still causes mysterious errors. It is just a few lines in Rename.hs 2014-02-09 19:55:17 +00:00
kr.angelov 1746e3ad2a updated haskell-bind/README 2014-02-09 20:56:01 +00:00
kr.angelov adeeb47e06 cleanup the code for the FFI binding. The API is now more uniform with the Python and the Java bindings. Fixed a lot of memory leaks. 2014-02-09 20:45:11 +00:00
kr.angelov f30c60c3d7 GuVariant is now plain uintptr_t instead of a structure to make it easier to write Haskell bindings 2014-02-09 19:07:15 +00:00
hallgren 1d69feac38 gf.cabal: pgf-shell needs containers now 2014-02-07 16:42:51 +00:00
hallgren 680bf64454 pgf-shell: show the names of the concrete syntaxes after loading the grammar 2014-02-07 16:40:13 +00:00
inari 8de56530e0 haskell-bind: add function languages 2014-02-07 15:56:12 +00:00
hallgren 9a422839cc pgf-shell: enable -rtsopts, call performGC between commands
This is to make it easier to find the cause of space leaks.
2014-02-07 13:57:13 +00:00
inari 957dfb83b6 fixed some memory leaks 2014-02-06 10:50:59 +00:00
kr.angelov f23bcb8a47 bugfix in the recognizer for literals in the C runtime 2014-02-05 20:13:52 +00:00
hallgren edeb094cf5 PGF.Optimize: one more fix for unsafeFreeze 2014-02-04 13:47:37 +00:00
hallgren 9df56550cd PGF.Optimize: import unsafeFreeze from Data.Array.Unsafe for compatibility with ghc-7.8 2014-02-04 13:44:07 +00:00
hallgren 3900d3cfbb GFC.hs: encodeFile_ is not available in the standard Data.Binary 2014-02-04 13:36:16 +00:00
hallgren c97e5f4086 gf.cabal: add default-language to silence warning 2014-02-03 12:24:42 +00:00
aarne 2aa8ad7e76 new overload resolution, taking care of ad hoc overloading. 2014-02-01 13:17:52 +00:00
aarne 6dba4e6f1e ad hoc overloading: a new way to deal with name resolution conflicts. Previously the renamer warned if there was e.g. an unqualified reference to mkAdv, which could come from either Syntax or Paradigms. The renamer picked randomly one of the alternatives, which then often failed in type checking. Now, all candidates are collected into a new structure AdHocOverload [Term], which is accessed by the type checker to make the choice based on the type of the constant. This eliminates some of the warnings and some of the error due to wrong choices. In some rare cases, the inherited constants have the same type, which cannot be resolved by overloading. In such cases, the type checker does the same as the renamer did before: pick the "first" option (i.e. the one that happens to be the first in the list returned by the renamer) and issues a warning. In this patch, only a couple of lines are changed. The typechecker (RConcrete) has more substantial changes, and will be recorded as the next patch. 2014-02-01 13:10:36 +00:00
aarne d90eededaf typo in Concrete type checker: when type checking <e : t>, return annotated e and not e itself. Fixed in RConcrete, which should soon replace Concrete; and hopefully will be replaced by some cleaner code soon, such as ConcreteNew which has been under construction for quite some time. 2014-01-31 21:16:07 +00:00
aarne 6f03e517c8 experimental type checker module GF.Compile.TypeCheck.RConcrete.hs with record updates enabled by ** expressions. Can be changed back to Concrete.hs by just changing one import command in GF.Compile.CheckGrammar.hs. The worst thing that *should* happen with the new type checker is that some old code is detected to be invalid, which happens if it contains a type-incompatible record extension, e.g. {x = "foo"} ** {x = 1}. Previously such errors were silently ignored. A set of test runs detected one such error in the RGL, which was corrected. On the positive side, the new type checker now enables record updates in the natural way: R ** {x = 1} will give value x = 1 overshadowing any value of x in R (provided the expected type of x is Int). lib/src/experimental/PredicationSwe.gf illustrates this, as opposed to PredicationSwO.gf which has to use old-style copying of even the unchanged record fields. 2014-01-31 20:28:25 +00:00
hallgren dbd68b987e gf-server.cabal: flag to include C run-time support in the FastCGI PGF service 2014-01-31 16:11:41 +00:00
kr.angelov e6ab8c4aa4 fix in the bracketedLinearize in Haskell 2014-01-31 08:52:32 +00:00
inari f0ddf0fe72 changes to pools in haskell bindings 2014-01-29 16:02:07 +00:00
hallgren 0386334f49 Wide coverage translation web demo improvements
+ Add lexing/unlexing
+ Add a button to swap input and output
+ Minor layout adjustments
2014-01-28 16:51:21 +00:00
hallgren 06bb2a1dad PGFService.hs: fix a type ambiguity when compiling without C run-time support 2014-01-27 16:46:48 +00:00
hallgren b3251f402d PGFService.hs: add a cache for C run-time parse result and a start offset parameter
Cached parse results are discarded when they have been unused for 10 minutes.
2014-01-27 16:32:09 +00:00
hallgren 88341987a8 gf -server: fix a redirection bug...
...that was introduced with the recent changes to the handling of the
current working directory
2014-01-27 16:30:03 +00:00
hallgren daa48610b5 gf -server: allow multiple PGF service requests to be handled in parallel
PGF service requests are stateless and can run in parallel, but some other
requests handled by the server are not and might even change the current
working directory temporarily, and this affects all threads, so it is
important that the PGF service requests access PGF files by absolute paths.
2014-01-24 13:49:02 +00:00
kr.angelov 55ea6cbec5 fix in the Haskell runtime 2014-01-24 08:34:55 +00:00
hallgren 77150e0b27 gf.cabal: bump version number to 3.5.12 2014-01-21 16:30:01 +00:00
hallgren 0a185814fd demos/translation: add preliminary online demo,
but it is not ready to be widely advertised yet, e.g. lexing and unlexing is
missing.
2014-01-23 14:56:52 +00:00
hallgren 14ce8509f8 simple translator: Replaced 'GF Robust Parser' with 'GF Wide Coverage Translation'
The interface to the wide coverage translation is in js/gftranslate.js
and it assumes that the grammar is installed on the cloud server
as /robust/Translate8.pgf.

The list of supported languages is hardwired in gftranslate.js, since
there is no support for obtaining this info from the C run-time system
at the moment.
2014-01-21 16:47:23 +00:00
hallgren 9d71ffc831 Optionally include C run-time support
If the C run-time library is compiled and installed on your system, you can now
do 'cabal configure -fc-runtime' to get the following extras:
  + The haskell binding to the C run-time library will be included in the
    PGF library (so you can import it in Haskell applications).
    Documentation on the new modules will be included when you run
    'cabal haddock'.
  + The new command 'pgf-shell', implemented on top of haskell binding to
    the C run-time system.
  + Three new commands in the web API: c-parse, c-linearize and
    c-translate. Their interfaces are similar to the corresponding commands
    without the "c-" prefix, but they should be considered preliminary.
2014-01-20 17:06:11 +00:00
hallgren 801a20d27a haskell-bind: add an export list to hide internal stuff
It also makes the generated haddock documentaiton more structured.
2014-01-20 14:40:38 +00:00
hallgren d2d57a9210 haskell-bind.cabal: relax overly restrictive version bounds and add cc-options 2014-01-17 14:18:20 +00:00
hallgren 045eeeb280 haskell-bind: add a cabal file and examples/pgf-shell.hs
* The haskell-bind.cabal file makes it easy to build the haskell binding and
  use it in ghci.
* pgf-shell.hs is a simple example of how to use the haskell binding.
2014-01-17 14:02:35 +00:00
hallgren b0a40d82b9 haskell-bind: change the type of CRuntimeFFI.getConcr
Change the type of getConcr from

    getConcr :: PGF -> Language -> Concr

to

    getConcr :: PGF -> Language -> Maybe Concr

This is to prevent programs from crashing later if you try to select a
concrete syntax that is not present in a grammar.
2014-01-17 13:58:48 +00:00
hallgren 41e3b28bfa examples/Phasebook/Makefile2: Lativan is fixed, include it again 2014-01-13 14:18:32 +00:00
normundsg d89b5bd8c1 Phrasebook: Latvian is fixed (according to the latest RG) 2014-01-11 20:26:44 +00:00
aarne b9a91b3c34 removed the generated html files 2014-01-10 14:55:21 +00:00
aarne 8b85e07561 started demo pages for translation and resource grammars 2014-01-10 14:54:21 +00:00
hallgren ac33c8a851 examples/Phasebook/Makefile2: Lativan is broken, omit it for now
Also rewrote Makefile2 in a more compact way.
2014-01-10 13:26:42 +00:00
hallgren ed3d30e3d1 Check file datestamp before creating PGF file when compiling grammars
When running a command like

	gf -make L_1.gf ... L_n.gf

gf now avoids recreating the target PGF file if it already exists and is
up-to-date. 

gf still reads all required .gfo files, so significant additional speed
improvements are still possible. This could be done by reading .gfo files
more lazily...
2014-01-09 17:30:24 +00:00
hallgren 768d9de668 Check file datestamps before unioning PGF files (fix)
Also check that no additional output formats have been selected.
2014-01-09 15:14:35 +00:00
hallgren ed1e662dea Check file datestamps before unioning PGF files
When running a command like

 gf -make -name=T L_1.pgf ... L_n.pgf

gf now checks if T.pgf exists and is up-to-date before reading and computing
the union of the L_i.pgf files.

The name (T) of the target PGF file has to be given explicitly for this to work,
since otherwise the name is not known until the union has been computed.
If the functions for reading PGF files and computing the union were lazier,
this would not be necessary...
2014-01-09 14:18:21 +00:00
hallgren d8d78b6187 Release note updates and some other minor things 2013-12-18 16:22:59 +00:00
hallgren 52494afc50 PGFtoPython: add Python translations for nonExist, BIND and SOFT_BIND
Someone who is familiar with the Python translation should check this.
2013-12-18 15:31:39 +00:00
hallgren 4012fa15dd GF home page: use the SVG version of the GF logo in browsers that support it
It looks better on high resolution screens.
2013-12-18 12:01:15 +00:00
hallgren e9e919e6e3 src/server/gf-server.cabal: compile it as a common library + executables 2013-12-17 15:55:14 +00:00
kr.angelov c8b8ca33c6 bugfix in the android keyboard for the choice of language 2013-12-17 17:09:53 +00:00
kr.angelov a2526e59cd show progress bar when translating or when reloading a language in the lexical activity 2013-12-17 16:21:56 +00:00
hallgren 9c43c2bae3 examples/phrasebook/Makefile2: Finnish needs a larger stack 2013-12-17 15:13:44 +00:00
kr.angelov ee37c6d34d bugfix for grammar loading if the start and the target language happen to be the same 2013-12-17 14:57:30 +00:00
kr.angelov 0c53711a44 partial grammar loading in the android app. From now on grammars for Android shall be compiled with -split-pgf 2013-12-17 14:00:17 +00:00
kr.angelov a01e248ae6 make sure that pgf_concrete_load has no effect on grammars that are completely loaded 2013-12-17 13:57:16 +00:00
hallgren e0481e3b8a Add backward compatibility for reading old PGF files
Some backwards incompatible changes were made to the PGF file format after
the release of GF 3.5. This patch adds a module for reading PGF files in the
old format.

This means that old PGF files on the grammaticalframework.org server will
continue to work after we install the latest version of GF.
2013-12-17 13:27:37 +00:00
hallgren 2b16962835 GF.Compile.ReadFiles: reduced code duplication 2013-12-16 14:04:57 +00:00
aarne 1010d357c5 ParseFin ProDrop variants ; ParseFre question word order and pronoun gender variants 2013-12-17 09:54:11 +00:00
hallgren 8455435b75 examples/phrasebook/Makefile2: remove duplicated rule 2013-12-16 13:41:29 +00:00
aarne 8736926a9a started DocumentationFre 2013-12-13 08:56:24 +00:00
hallgren 4811de89a4 GF home page: add a link to Grégoire's GF build status page
The link shows the current build status.
2013-12-12 20:54:59 +00:00
kr.angelov 3021570b1b allow the android app to be installed on the SD card 2013-12-10 20:06:39 +00:00
hallgren dd1b474a22 testsuite: fix test of generate_trees
There were two differences between the current output and the old gold file: 

  1. The trees are no longer generated with increasing depth
  2. The meaning of the -depth flag has changed: for example, 
     "gt -cat=Nat -depth=1" used to generate only "zero",
     now you also get "succ zero".
2013-12-10 16:49:40 +00:00
kr.angelov 0851308099 move src/runtime/haskell/CRuntimeFFI to src/runtime/haskell-bind. Don't mess up with the stable Haskell runtime! 2013-12-10 16:11:47 +00:00
kr.angelov 97d56065c4 load/unload in the Java binding 2013-12-10 16:06:34 +00:00
inari d7847f2f13 Haskell bindings for the C runtime
Added Haskell bindings for the C runtime. Work in progress, the files are not (and should not be) included in makefiles or anything.
2013-12-10 15:27:28 +00:00
kr.angelov 0ece8f19ab loading and unloading of languages in the C runtime and in the Python bindings 2013-12-10 15:00:52 +00:00
aarne 8121124d72 French inflection display in android 2013-12-10 13:03:50 +00:00
kr.angelov 4f0246cc12 bugfix in the grammar splitter 2013-12-10 12:31:40 +00:00
kr.angelov 87fffffbdf option --split-pgf replaces option --mk-index. This splits the PGF into one file for the abstract and one more for each concrete syntax. This is a preparation for being able to load only specific languages from the whole grammar. 2013-12-10 10:43:13 +00:00
aarne 2dda42e4d9 new inflection_fi.xml, for stemmed and refactored ParseFin 2013-12-09 14:48:19 +00:00
aarne 30511a600e make ParseFin compile with Construction 2013-12-07 08:01:28 +00:00
hallgren 953c6e8fb5 testsuite: reduced the number of failing tests from 25 to 13
Some tests may fail on Windows because of \ instead of / in paths.
2013-12-06 16:01:13 +00:00
hallgren a98f4aa4be Show relative file paths in error messages
This is to avoid one trivial reason for failures in the test suite.
2013-12-06 15:43:34 +00:00
kr.angelov e2fe50e585 partial reconstruction for sentence structures in Susanne 2013-12-06 15:05:56 +00:00
hallgren 71c1741046 GF.Compile.CheckGrammar: add source path to error message for circular definitions 2013-12-06 13:46:59 +00:00
hallgren d6974a4065 GF shell: fix help text for generate_trees
Trees are not generated with increasing depth.
2013-12-06 13:45:12 +00:00
kr.angelov 0585428018 more on the Susanne treebank 2013-12-05 10:05:33 +00:00
kr.angelov 106b41a2cb added script for reading the Susanne treebank 2013-12-04 12:11:41 +00:00
hallgren f5cda1e6a3 testsuite: Use Cabal's new test suite interface
* The old way: a user hook in Setup.hs
  * The new way: specify it in gf.cabal
  * The test suite is now called gf-tests, and it runs testsuite/run.hs.
  * You can run it manually with 'runhaskell testsuite/run.hs'. It also runs,
    together with rgl-tests, when you do 'cabal test'
  * Currently only 9 of 34 tests pass. Many failures have silly causes:
    - Error messages that look slightly different
    - Same output but in a different order
    - Absolute paths in output
2013-12-03 17:13:39 +00:00
hallgren 6b3ba6d3ba testsuite: use forward slashes in paths 2013-12-03 16:59:33 +00:00
aarne 2ef28487ef removed the unlines-lines wrapper from Lexing.unlexer to prevent empty lines when an unlexer (such as -bind or -unchars) is used as an option in linearization. Don't know really why the input had been broken into lines in the first place. You can see the effect by importing LangEng and running "gr -cat=Cl | l -table -bind" before and after recompiling GF. 2013-12-03 13:27:22 +00:00
kr.angelov 852f7483be fix in inflection_en.xml 2013-12-03 12:15:06 +00:00
aarne fad27b1b4a ui/android/.../Translate.java uses Parse8 (change the name and language list if you need something else) 2013-12-02 13:34:51 +00:00
hallgren 91d8bd8e10 examples/phrasebook/Makefile2: Romanian needs a larger stack 2013-11-29 17:34:09 +00:00
hallgren 7d1c011389 Commment code and options relating to the old partial evaluator
This means that the -old-comp and -new-comp flags are not recognized anymore.

The only functional difference is that printnames were still normalized with
the old partial evaluator. Now that is done with the new partial evaluator.
2013-11-29 16:26:49 +00:00
hallgren 729d04051a Minor release/download/developer doc changes 2013-11-29 16:04:52 +00:00
hallgren 7ffdfe9b3a Move typePredefined from GF.Compile.Compute.AppPredefined to GF.Compile.TypeCheck.Primitives
Also move the list of primitives
2013-11-29 15:47:26 +00:00
hallgren 0a59f95d92 Move checkPredefError from GF.Compile.Compute.ConcreteLazy to GF.Grammar.Macros
Also simplified its type.
2013-11-29 14:43:01 +00:00
kr.angelov 1067d59609 -optimize-pgf should also apply to the linrefs 2013-11-29 14:25:23 +00:00
kr.angelov 870b073891 added caching to be able to quickly generate the inflection table for Finnish 2013-11-28 22:06:55 +00:00
hallgren de33d7dd7c examples/foods: remove all -path flags
All languages n the Foods grammar compile fine with alltenses.
2013-11-29 13:03:19 +00:00
aarne 39cb49b05d added forms to Finnish xml table 2013-11-29 08:21:00 +00:00
aarne f21928802f html templates for Finnish noun and verb inflection started 2013-11-28 22:04:30 +00:00
kr.angelov ab0cd56b40 bugfix in the android app 2013-11-28 20:00:17 +00:00
kr.angelov 123d2098dd now the TTS is used only if there is actually a language model. this is better than using English for speaking Swedish 2013-11-28 19:59:03 +00:00
kr.angelov 2bc2dc750f a bit of cleanup in the Android app 2013-11-28 19:57:45 +00:00
kr.angelov 74de6c1097 extension in the template format for inflection tables. This makes it possible to use the templates with Finish 2013-11-28 19:52:31 +00:00
hallgren ead60581af GFI: adapt to character encoding changes
GF.Compile.Coding is not used any more.
2013-11-28 13:55:08 +00:00
hallgren 29b1607f93 SimpleEditor.Convert: adapt to recent character encoding changes
Things got simpler!
2013-11-28 13:27:45 +00:00
kr.angelov 5475dd7613 the Android App now show the valency patterns for verbs in English, Bulgarian and Swedish 2013-11-28 12:48:55 +00:00
aarne 63e338cb80 Translate grammar for Ger and Hin added. Some functions in Ger phrasebook 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. 2013-11-28 08:03:50 +00:00
kr.angelov f5ec987c5d better dictionary visualization in the Android App 2013-11-27 22:16:05 +00:00
hallgren eea636966d Adding an alternate style for the GF home page 2013-11-27 15:32:25 +00:00
kr.angelov 47182d4045 minor tweaks in the Android UI 2013-11-27 12:37:55 +00:00
kr.angelov d3e56a6e7e fix the character encoding problem in the web view in the Android UI 2013-11-27 12:37:15 +00:00
kr.angelov b0a74ddc59 added API in the C runtime and the Java binding for checking whether a given function is linearizable in a given language. This is used in the Android UI for better vizualizations 2013-11-27 12:35:11 +00:00
kr.angelov eeec31cbab update the project files for the Java binding 2013-11-27 12:34:33 +00:00
kr.angelov 7a428198c6 space leak in the Java binding 2013-11-27 12:34:06 +00:00
hallgren 3f57151cc3 Represent identifiers as UTF-8-encoded ByteStrings
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
2013-11-26 16:12:03 +00:00
hallgren 9d7fdf7c9a Change how GF deals with character encodings in grammar files
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.
2013-11-25 21:12:11 +00:00
hallgren 3210a50648 examples/phrasebook: add Makefile2 for parallel grammar compilation
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.
2013-11-26 16:32:38 +00:00
hallgren bfea06561d examples/letter: convert grammar files to UTF-8 2013-11-26 12:52:05 +00:00
hallgren 24a10d20a0 GF home page: mention upcoming default character encoding change 2013-11-25 20:11:11 +00:00
hallgren cb27ed0a67 Setup.hs: avoid a problem with Cabal-1.18
In Cabal-1.18, the build command takes some new arguments. The Setup.hs script
should not die if these are present.
2013-11-25 20:03:57 +00:00
hallgren 9541668f76 Document the upcoming default character encoding change in the release notes 2013-11-25 19:47:05 +00:00
hallgren 4a82481a1f examples/phrasebook: adding --# -coding=latin1 to 18 modules
Adding coding pragmas
  
	--# -coding=latin1
    
so that grammars will continue to work when we change the default character
encoding to UTF-8.
2013-11-22 17:47:50 +00:00
hallgren 9c479393f6 examples/foods: add --# -coding=latin1
Adding coding pragmas

	--# -coding=latin1

so that grammars will continue to work when we change the default character
encoding to UTF-8.
2013-11-22 17:21:36 +00:00
kr.angelov 22fe61b533 fix in the GF keyboard for Android 2013-11-22 13:37:12 +00:00
kr.angelov 8cc6be0152 fix the export for CFG grammars with BIND, SOFT_BIND and nonExist 2013-11-22 13:36:14 +00:00
kr.angelov 8bcc70eac8 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. 2013-11-22 13:30:18 +00:00
kr.angelov 1d2786f7da bugfix in the debug mode for the parser 2013-11-22 12:26:49 +00:00
hallgren 260c0dfedc Some refactoring in GF.Compile and GF.Compile.GetGrammar
Move source transcoding function GF.Compile to GF.Compile.GetGrammar, in
preparation for doing transcoding before lexing.
2013-11-21 16:27:26 +00:00
hallgren fe065b5ee4 Some more monadic lifting changes 2013-11-21 15:01:04 +00:00
kr.angelov aad6a1c4bb bugfix in the C runtime 2013-11-21 14:31:28 +00:00
kr.angelov a50724ca2c the Java binding for lookupMorpho should release the local references created in a loop 2013-11-21 14:29:47 +00:00
gregoire.detrez 57a48fea59 Add a test runner and a test suite fore the rgl
The test suite tests the French Bescherelle paradigms.
2013-11-21 09:55:30 +00:00
aarne 2b1794010e more stack in Translate Makefile 2013-11-20 12:48:53 +00:00
kr.angelov 9a2725279e fix in the Python binding 2013-11-20 09:54:37 +00:00
hallgren 308421789a Removed some code duplication in GF.Compile.Update 2013-11-20 01:26:41 +00:00
hallgren 018c9838ed Reduced clutter in monadic code
+ 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.
2013-11-20 00:45:33 +00:00
hallgren ddac5f9e5a GF shell: improved system_pipe (aka "?") command
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
2013-11-19 15:18:58 +00:00
kr.angelov 5b83da5583 bugfix in the robust parser 2013-11-18 09:05:27 +00:00
kr.angelov edb4f7320d add gu_buf_insert in libgu 2013-11-18 09:05:09 +00:00
kr.angelov a6d60f9c8d fixes in the C runtime to avoid warnings when compiling on MacOS 2013-11-15 10:03:22 +00:00
kr.angelov d997df2864 pgf_read should open the grammar file in binary mode to prevent the Windows runtime from messing up the content. 2013-11-15 09:04:00 +00:00
kr.angelov b3149b7897 pgf_reader_done should do nothing if the reading has failed 2013-11-15 08:59:18 +00:00
kr.angelov 2dadc3aa4c add additional options for compiling the Java binding on Windows (suggested by Normunds) 2013-11-15 07:48:02 +00:00
hallgren 982befac20 gfse: re-enable example-based grammar construction 2013-11-14 12:54:25 +00:00
kr.angelov 198f527255 add two files from the Android app that were forgoten 2013-11-13 17:27:11 +00:00
kr.angelov 126d5e0278 bugfix in the C runtime which had made the parser up to 200 times slower for some sentences 2013-11-13 15:15:28 +00:00
kr.angelov 7417326795 the dictionary view in the Android app now shows both the source and the target linearizations 2013-11-13 12:29:10 +00:00
kr.angelov 5f60445d2c minor bugfix in the translator keyboard 2013-11-13 10:59:03 +00:00
kr.angelov ab1856046f now the Android App has a translation keyboard which allows the translations to be done from inside another application 2013-11-13 10:45:20 +00:00
hallgren fa4c327463 Fix Issue 60: Weird output when executing system commands from the gf shell
The system_pipe (aka "?") command creates a temporary file _tmpi containing
the input of the system command. It *both* appends _tmpi as an extra argument
to the system command line *and* adds an input redirection "< _tmpi". (It
also uses and output redirection "> _tmpo" to captures the output of the
command.)

With this patch, the _tmpi argument is no longer appended to the command line.
This allows system_pipe to work with pure filters, such as the "tr" commands,
but it will no longer work with commands that require an input file name.
(It is possible to use write_file instead...)

TODO: it would also be fairly easy to eliminate the creation of the _tmpi and
_tmpo files altogether.
2013-11-12 18:07:38 +00:00
kr.angelov 0090b85002 document the four new language features in the reference manual 2013-11-12 16:05:02 +00:00
hallgren 709b2bb067 Fix Issue 68: Cannot use an overloaded operator in table defined using square brackets
Add proper type checking of course-of-values tables:

 + Make sure that all subterms have the same type.
 + Resolve overloaded operators.

Note though that the GF book states in C.4.12 that the "course-of-values
table [...] format is not recommended for GF source code, since the
ordering of parameter values is not specified and therefore a
compiler-internal decision."
2013-11-12 13:55:38 +00:00
hallgren 31d7a9f73c GF.System.Chatch: remove redundant #include 2013-11-12 13:51:11 +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 b111b476a7 Fix Issue 41: "," in context-free rules causes parsing failure
The CF parser in GF.Grammar.CF assigns function names to the rules, but they
are not always unique, causing rules to be dropped in the follwing CF->GF
conversion. So a pass has been added before the CF->GF conversion, to make
sure that function names are unique.

A comment says "rules have an amazingly easy parser", but the parser looks
like quick hack. It is very sloppy and silently ignores many errors, e.g.
- Explicitly given function names should end with '.', but if the do not, the
  last character in the function name is silently dropped.
- Everything following a ';' is silently dropped.
2013-11-11 16:50:43 +00:00
hallgren 47e04656fb Fix issue 61: GF shell cannot parse a system command ending with a space
Trailing spaces caused the command line parse to be ambiguous, and
ambiguous parses were rejected by function readCommandLine, causing
the cryptic error message "command not parsed".
2013-11-11 15:13:24 +00:00
kr.angelov af4a1f628d factor of 3 speedup for the translation without slowing down the grammar loading. The parser still seems to be 8 times slower than before I introduced the BIND. At least the Android UI now feels a lot more comfortable 2013-11-07 11:14:32 +00:00
kr.angelov 3f5ae22a0c bugfix in the binary search implementation in libgu 2013-11-07 11:13:47 +00:00
kr.angelov 7160a06a30 remove redundant type signature in gu/seq.h 2013-11-07 09:47:07 +00:00
kr.angelov 71744f7642 fix for the memory allocation in the jitter which should work for Windows. 2013-11-07 08:47:35 +00:00
kr.angelov 89ff9a0db4 the 'Release' configuration in Eclipse is renamed to 'Release (posix)'. In addition now there is 'Release (mingw)' for Windows. 2013-11-07 08:36:17 +00:00
kr.angelov 62dee6c805 added #ifdef to detect MinGW in the Java binding and to import the right header for alloca 2013-11-07 08:08:41 +00:00
kr.angelov e79f39b774 more compact inflection tables for Swedish 2013-11-06 20:24:36 +00:00
aarne fe4242275a changed startcat in Translate to get robustness; typo in DictEngSwe 2013-11-06 17:25:39 +00:00
aarne a927944c80 added robustness flags to Translate; added or fixed a number of words in DictEngSwe detected in PhD regulations 2013-11-06 16:26:58 +00:00
hallgren 667a1c0ef0 minibar: fix a mistake the previous bracket fix 2013-11-06 16:54:21 +00:00
hallgren 72a58a8114 minibar: adapt to changed bracket structure in linearization output 2013-11-06 16:45:24 +00:00
kr.angelov f9d044d294 fix in the parsing with pre 2013-11-06 16:25:25 +00:00
kr.angelov 2aea7ae3d5 added inflection_sv.xml 2013-11-06 14:46:57 +00:00
kr.angelov 7caf89b382 bugfix in the Java binding 2013-11-06 14:41:42 +00:00
hallgren 48660c219a Make PGF.Tree internal
The only use of PGF.Tree outside the PGF library was in GF.Command.Commands,
and it was eliminated by using PGF.Expr directly instead.
PGF.Paraphrase still uses PGF.Tree.
2013-11-06 14:29:17 +00:00
hallgren 7a41b45f13 Remove PGF.Signature
This module should not be part of the public PGF library API, and it was only
used in GF.CompileToAPI, so the code was moved there. The module defined
constFuncs and syntaxFuncs, but only syntaxFuncs was used.
2013-11-06 13:27:29 +00:00
kr.angelov a710e90c0b fix the deserialization of flags from the GFO files 2013-11-06 13:05:51 +00:00
kr.angelov b8fd12e5e4 use the inflection_cmn.xml in the Android translator 2013-11-06 11:00:39 +00:00
kr.angelov 2483dc7728 the content of ParseEngAbs3.probs is now merged with ParseEngAbs.probs. The later is now retrained. Once the grammar is compiled with the .probs file now it doesn't need anything more to do robust parsing. The robustness itself is controlled by the flags 'heuristic_search_factor', 'meta_prob' and 'meta_token_prob' in ParseEngAbs.gf 2013-11-06 10:21:46 +00:00
kr.angelov 84ef5fa5fa when printing floating literals use %lg instead of %lf for better output 2013-11-06 09:46:29 +00:00
aarne e4c6ca41a7 added a -treebank option to the lc command 2013-11-05 20:42:22 +00:00
aarne 027ea81552 restored old language codes in android/.../Translator.java (committed by accident in previous patch) 2013-11-05 17:36:21 +00:00
aarne aba666c5bc linearization by chunks in the GF shell: a new command 'lc' needed because 'l' requires type checking and trees with metavariable function heads don't type check. This will hopefully be a temporary command. 2013-11-05 17:28:47 +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 74357cdedf fix in gf.cabal. Data.Binary.IEEE754 needs to be in the other-modules list for the PGF library since otherwise building GF applications will fail 2013-11-05 09:42:22 +00:00
kr.angelov 6e1451e142 fix the debug mode of the JIT compiler after the refactoring in libgu 2013-11-04 19:33:29 +00:00
kr.angelov 546c7ac859 A simple type checker in the C runtime. Dependent types are not supported yet but HOAS is implemented. The API is accessible from Python as well 2013-11-04 17:10:46 +00:00
kr.angelov 585a192d0b bug fix in the linearizer 2013-11-04 12:40:53 +00:00
kr.angelov a7d245fb25 linearization for HOAS trees. It should word but we need a type checker in order to test it properly 2013-11-02 12:34:00 +00:00
kr.angelov 4e7781b606 remove the include of lexer.h from pgf-parse 2013-11-02 11:28:55 +00:00
kr.angelov 523259b06d fix the parseval metric after the redesign in the C runtime 2013-11-01 17:36:22 +00:00
kr.angelov fda1416c4d bugfix in the linearizer 2013-11-01 17:26:35 +00:00
kr.angelov 8073f9abf5 make gu_exn_is_raised non inlined. this is useful to make it callable from Haskell 2013-11-01 16:38:16 +00:00
aarne d454165f24 left AR's translation project names in android/.../Translator.java as comments instead of leaving the changes uncommitted 2013-11-01 13:46:51 +00:00
kr.angelov 981a728d13 fix the robust parser for unknown tokens 2013-11-01 13:05:17 +00:00
kr.angelov ad7d18a448 bugfix in linearizer.c 2013-11-01 11:02:12 +00:00
kr.angelov a0505da063 remove the include to mman.h in jit.c since it doesn't seem to be used 2013-11-01 07:46:24 +00:00
kr.angelov e1710542b4 add the forgoten close_arrow.png 2013-10-31 19:04:53 +00:00
kr.angelov 8325802c22 trim the input string in the conversation view for better lexical matching 2013-10-31 18:04:02 +00:00
kr.angelov 594c71f35d make the input mode in the Android translator persistent 2013-10-31 17:34:01 +00:00
hallgren 83a10ce25a Add a cabal flag to use the standard binary package
The standard binary package has improved efficiency and error handling [1], so
in the long run we should consider switching to it. At the moment, using it is
possible but not recommended, since it results in incomatible PGF files.

The modified modules from the binary package have been moved from
src/runtime/haskell to src/binary.

[1] http://lennartkolmodin.blogspot.se/2013/03/binary-07.html
2013-10-31 15:43:12 +00:00
kr.angelov a7a1563b79 update the TAG for the MainActivity 2013-10-31 14:18:39 +00:00
kr.angelov 80143459c6 store the source and target languages for the Android UI in a preference file 2013-10-31 14:16:37 +00:00
kr.angelov 5e584c5c3f when the phone is in silent mode the UI should not use the TTS 2013-10-31 13:38:39 +00:00
kr.angelov 3e556355b0 fix the parsing error in the Android app 2013-10-31 13:22:53 +00:00
kr.angelov 20d465ca8c fixed utf-8 decoding problem in libgu 2013-10-31 13:20:12 +00:00
kr.angelov 050ebd469c bracketedLinearize in Python is now using the linref 2013-10-31 09:04:07 +00:00
kr.angelov fed16ca9e5 use linref in the C linearizer. The robust linearization is now fully supported 2013-10-30 21:43:52 +00:00
kr.angelov 48b639e64e fix the debug mode in the linearizer after the refactoring in libgu 2013-10-30 21:06:55 +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
hallgren 5bc9e959d0 GF home page: comment out news from 2012-11 and older 2013-10-30 13:52:42 +00:00
hallgren bef74249cb release-next.t2t: add your notes for the next release of GF here
The file will be renamed when the release is made.
2013-10-30 13:44:10 +00:00
kr.angelov 042243f08a added the linref construction in GF. The PGF version number is now bumped 2013-10-30 12:53:36 +00:00
kr.angelov 122c40bb3b missing binary serialization for PImplArg in the .gfo files 2013-10-30 12:48:58 +00:00
gregoire.detrez 2e9992a9b3 Add Estonian to Setup.hs 2013-10-29 18:17:12 +00:00
kr.angelov c60a019b70 another fix for 'pre' 2013-10-28 13:54:06 +00:00
kr.angelov 2355e32db8 fix inflection_en.xml 2013-10-28 12:37:37 +00:00
kr.angelov 151f86c1e9 fix the handling of 'pre' in the C runtime 2013-10-28 12:35:37 +00:00
kr.angelov cd5a0de253 bugfix in gu/seq.h 2013-10-28 08:58:36 +00:00
aarne 9ff8c28676 Make entry for TranslateEngChiFinSwe 2013-10-27 16:34:05 +00:00
aarne 5be985f0c8 Phrasebook lin's that create punctuation and "please" for NP's overridden, to give uniformity to Translate translations 2013-10-27 15:42:54 +00:00
aarne ccc18da2d4 added TranslateSwe to the Parse+Phrasebook translators 2013-10-27 15:17:10 +00:00
hallgren 9410c6b141 Functions merge trees into tries in the GF Shell and the PGF web service
* In the shell, the new command tt (to_trie) merges a list of trees into a
  trie and prints it in a readable way, where unique subtrees are marked with
  a "*" and alternative subtrees are marked with numbers.
* In the PGF web service, adding the parameter trie=yes to the parse and
  translate commands augments the JSON output with a trie.

Example to try in the shell:

	Phrasebook> p -lang=Eng "your son waits for you" | tt
2013-10-24 17:29:02 +00:00
hallgren c2e977c67a Commands.hs: fix a copy-paste error in the documentation of put_tree 2013-10-24 14:32:11 +00:00
kr.angelov ecaa05a3db added dummy inflection template for Chinese. It needs better names for the different inflection forms 2013-10-23 15:23:54 +00:00
kr.angelov 10fa2baa56 the first version of the Android's morphology browser 2013-10-23 15:10:13 +00:00
kr.angelov 0882396875 tabular linearization in the C and Java runtimes 2013-10-23 14:49:28 +00:00
hallgren 51bf4e0380 GF home page: update PGF library API link
GF 3.5 is now on Hackage and the automatic generation of Haddock documentation
succeeded for the first time in a long time!
2013-10-23 14:24:04 +00:00
kr.angelov e408f0a0db clumsy fix for nonExist in pgf-translate 2013-10-21 12:35:34 +00:00
kr.angelov 53631576dc bugfix for the custom literals in the C runtime 2013-10-21 12:34:57 +00:00
kr.angelov 1d2bf1cea8 fix the grammar serialization for nonExist and BIND 2013-10-21 10:03:43 +00:00
aarne df2e91154c news about Estonian 2013-10-18 12:02:00 +00:00
aarne 8e43ac968f completed PhrasebookChi with many expressions, using Google translate as main source 2013-10-12 20:32:05 +00:00
aarne e50594a83c added TranslateChi and TranslateFin 2013-10-12 18:54:47 +00:00
kr.angelov 99309cf8fd add keyboard input in the android app 2013-10-12 12:28:23 +00:00
aarne 8fe119b4cc added links to main index.html 2013-10-11 12:58:53 +00:00
aarne 7f74cdcb76 Chi phrasebook bootstrapped from Tha; far from finished 2013-10-11 12:16:03 +00:00
aarne 75380bc0e4 harmonized the paths of Translate*.gf to guarantee the usage of the same DictEngAbs 2013-10-11 11:24:58 +00:00
aarne 3ca480f57d added TranslateBul and translator/Makefile 2013-10-11 08:36:09 +00:00
aarne 824cf32226 integration of Parse with Phrasebook, to get idiomatic translations whenever possible 2013-10-11 08:19:04 +00:00
kr.angelov f358d37c4e synchronize the target languages in the main activity with the one in the lexicon activity 2013-10-11 08:16:51 +00:00
kr.angelov c40c5022ca better lexicon view 2013-10-11 08:15:33 +00:00
kr.angelov 4d50c08714 make MorphoAnalysis serializable 2013-10-11 08:10:58 +00:00
kr.angelov f7fb6fa5bc readExpr in the Java binding 2013-10-11 08:10:04 +00:00
aarne a0e6576e45 added 'make ParseFre' and 'make ParseEngFre' to lib/src/Makefile; added the script french/MkWikt.hs 2013-10-10 23:32:05 +00:00
kr.angelov 482e8ef8cd an improvised dictionary mode in the Android translator 2013-10-10 15:39:52 +00:00
kr.angelov c9b2e11782 added lookupMorpho in the Java binding 2013-10-09 19:39:50 +00:00
kr.angelov f58d684ab4 fix in the Java binding 2013-10-09 19:37:57 +00:00
kr.angelov 268e9a7960 avoid warning in parser.c when debugging is OFF 2013-10-09 13:41:02 +00:00
kr.angelov 5dbed2d79b lexer.c is now exluded from the makefile for Android since the new runtime doesn't need lexing 2013-10-09 12:11:37 +00:00
kr.angelov 8cf03bc5b6 a major redesign in the C runtime. The parser and the linearizer now fully support BIND. The following things are still broken: parseval, word completion, handling 'pre', the robust mode 2013-10-09 12:08:51 +00:00
kr.angelov 20e4970ec1 added gu_is_space in gu/utf8.h. this helps to avoid the dependency on the broken unicode library for C. 2013-10-09 08:37:42 +00:00
kr.angelov e7749d4a5b remove libjpgf.so from darcs 2013-10-08 14:13:00 +00:00
kr.angelov ebb5737c0e fix the robust parser after the change of GuString 2013-10-08 15:00:42 +00:00
kr.angelov 977d309e3c rename the Android translator from GFVoiceExample to GFTranslator 2013-10-08 14:10:17 +00:00
kr.angelov c63ca25a72 a quick hack in the Android translation for parsing Chinese 2013-10-08 14:08:40 +00:00
kr.angelov 4a50440db9 bugfix in GNU lightning for ARM 2013-10-08 13:33:18 +00:00
kr.angelov 7261134ad8 ensure that the grammar is loaded only once even if the main activity is recreated 2013-10-07 11:50:58 +00:00
kr.angelov 5041984e2d ensure that the grammar is loaded only once 2013-10-07 11:26:53 +00:00
kr.angelov d327697605 in case of parse error report the token on Android 2013-10-07 10:11:41 +00:00
kr.angelov 8efe22542a remove the binaries for the grammar, the .so file and .jar file in the Android App. These should be compiled from sources 2013-10-07 09:58:47 +00:00
kr.angelov dee84de3d6 remove the custom background in activity_main.xml since it is not backward compatible with older versions of Android 2013-10-07 09:57:24 +00:00
kr.angelov c8df5997a7 fix the grammar printer after the change of GuString in libgu 2013-10-07 09:46:35 +00:00
kr.angelov c015af71a1 remove the grammar copying from the Android UI since now we can load grammars from InputStream 2013-10-04 20:31:58 +00:00
bringert a35b286ce0 Add new Android voice translator sample app
This adds a simple voice translator Android app that uses
the JNI bindings to the PGF C runtime.

Caveats:

- Since the C runtime doesn't compile for Android right now,
  I've bundled an old copy, along with its Java bindings.
  That should be removed once the C runtime compiels for Android
  again.

- Adding an automated build would be nice.

- Replacing the grammar requires editing a Java file, that should 
  really be more dynamic.
2013-10-04 16:26:46 +00:00
kr.angelov f156a5e8f9 fixes in the Java binding after the refactoring of GuString 2013-10-04 19:53:19 +00:00
kr.angelov 73fa1ec0e6 suppress warning in graphviz.c 2013-10-04 12:56:45 +00:00
kr.angelov e8335806af GuString is now an ordinary C string - it makes live easier. In addition PgfSymbolKS, PgfExprFun and PgfLiteralStr now keep their strings as embedded flexible arrays. The latest change gives us the same compactness as the old representation but it is a lot easier to use. 2013-10-04 12:04:39 +00:00
kr.angelov 27091048ce space leak in the Java binding 2013-10-03 21:00:45 +00:00
kr.angelov 71868fa053 the symbol for nonExist in the GF runtime should be the last. this simplifies the binary search in the C runtime 2013-10-03 08:21:31 +00:00
kr.angelov bbf6bd52c0 something in the typeinferencer of the latest GHC has changed. I need to add a type signature for GF.Compile.GrammarToPGF.genCncFuns in order to compile. 2013-10-02 19:04:30 +00:00
kr.angelov 9303fe100f fix the bracketed linearization in Python after the introduction of nonExist and BIND 2013-09-30 11:49:51 +00:00
kr.angelov f5d7b4787c fix the graphviz visualization after the introduction of nonExist and BIND 2013-09-30 10:38:28 +00:00
kr.angelov 4a06a6ecf2 the compiler now sorts the list of sequences in the PGF files 2013-09-23 13:13:59 +00:00
kr.angelov 13822c9a2d better handling for nonExist in the C runtime. BIND is also supported in the linearizer but not in the parser yet 2013-09-30 10:25:39 +00:00
hallgren 7c0936b7ce GF home page: minor style changes
+ Split the list of languages into several columns if space permits
  (in supported browsers, currently Firefox).
+ Limit the size of the GF logo to 75% of width the window. Looks better on
  small screens.
2013-09-29 16:25:16 +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
john.j.camilleri b138899512 Rename README to READ_ME so that Apache doesn't hide it 2013-09-27 09:31:20 +00:00
john.j.camilleri 8f23ced7ad Remove empty contrib folder and place README in examples 2013-09-27 09:18:08 +00:00
kr.angelov 780ba65c25 remove pgf/edsl.h from the C runtime 2013-09-26 11:59:35 +00:00
kr.angelov 216490f275 add gu_variant_close in libgu 2013-09-26 10:41:52 +00:00
kr.angelov 2e2f74741a fix the debug mode of the parser after the refactoring in libgu 2013-09-25 10:21:35 +00:00
kr.angelov 4f05852b22 added assertion in the JIT compiler which checks that we are not going outside of the compilation window 2013-09-25 07:53:10 +00:00
kr.angelov 82815c8262 fix a typo in src/runtime/javascript/translator.html 2013-09-25 07:13:50 +00:00
kr.angelov 4baae48178 a small fix in the python binding after the refactoring in the C runtime 2013-09-24 09:14:43 +00:00
hallgren 95424190d1 Link to GF source code browser
And the summers chool and the Interactive map are not new anymore.
2013-09-23 13:07:24 +00:00
kr.angelov 1402225a6e GrammarToPGF now looks only at the top modules for the PGF flags 2013-09-23 09:30:45 +00:00
kr.angelov 54c3924a11 fix a warning in the compiler 2013-09-23 09:20:55 +00:00
kr.angelov 14061ef4df GF.Grammar.Grammar.allExtends now returns a list of source modules instead of just the module names. This saves extra lookups later 2013-09-23 09:18:27 +00:00
hallgren 9cbd28e9ce Comment out identifier refreshing code only used by the removed refresh pass 2013-09-20 16:36:24 +00:00
kr.angelov 9e148280c5 work on the translation dictionaries and the statistical model 2013-09-20 12:09:54 +00:00
hallgren 021b5f06d3 Introduce type RawIdent; only 9 imports of Data.ByteString.Char8 remain
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.
2013-09-19 20:48:10 +00:00
hallgren 3d5b9bd1fd Make Ident abstract; imports of Data.ByteString.Char8 down from 29 to 16 modules
Most of the explicit uses of ByteStrings were eliminated by using identS,

	identS = identC . BS.pack 

which was found in GF.Grammar.CF and moved to GF.Infra.Ident. The function

	prefixIdent :: String -> Ident -> Ident

allowed one additional import of ByteString to be eliminated. The functions

	isArgIdent :: Ident -> Bool
	getArgIndex :: Ident -> Maybe Int

were needed to eliminate explicit pattern matching on Ident from two modules.
2013-09-19 18:23:47 +00:00
kr.angelov c08f42ce9f the PGF reader now releases strings that are not used after the loading 2013-09-18 08:26:11 +00:00
john.j.camilleri 2767e814f9 Add news item for gf-contrib on homepage 2013-09-18 08:20:47 +00:00
kr.angelov a42cbb84ff add type signature for gu_string_length in the headers of libgu 2013-09-18 08:03:37 +00:00
kr.angelov 99985843d1 bugfix in the ordering of strings in libgu 2013-09-17 19:05:54 +00:00
kr.angelov 237c2af7fc gu_buf_binsearch -> gu_seq_binsearch. Improved API 2013-09-17 19:04:46 +00:00
kr.angelov d1e6a9c2ba added order and equality for strings in libgu 2013-09-17 13:45:37 +00:00
kr.angelov 2a49e4e1d6 a major refactoring in the C runtime. GuList is now removed and replaced with GuSeq. The GuSeq/GuBuf API is simplified 2013-09-17 12:45:00 +00:00
john.j.camilleri f5461eb3d4 Remove contribs and examples
Everything has now been moved to a separate repository at
https://github.com/GrammaticalFramework/gf-contrib
The contents of the examples folder are build during SetupWeb
2013-09-16 07:17:27 +00:00
kr.angelov 8e1c6cca40 added BSD licenses to the Java binding and the android UI 2013-09-16 06:54:55 +00:00
kr.angelov 470eb46e96 remove leftcorner_cat_idx which is now redundant 2013-09-13 13:49:17 +00:00
kr.angelov c721c5548e minor optimization/refactoring in the grammar reader 2013-09-13 11:02:17 +00:00
kr.angelov df91908e63 the leftcorner indexing is now completely removed since it slowed down the loading without speeding up parsing a lot 2013-09-13 10:26:33 +00:00
kr.angelov 4eb9aa3911 fix the debug mode of the parser after the changes in the libgu API 2013-09-13 09:58:20 +00:00
kr.angelov ba60e6f0e4 tiny optimization in pgf/reader 2013-09-13 09:50:44 +00:00
kr.angelov 9da5ca7f81 bugfix in utf8.c 2013-09-13 09:50:04 +00:00
kr.angelov d10a3830b8 fix a warning in utf8.c 2013-09-13 08:30:57 +00:00
kr.angelov 2e8f055164 optimize the reading of strings in the grammar loader. 2013-09-13 08:28:20 +00:00
kr.angelov 4d8ed02f6d more UTF8 cleanup 2013-09-13 08:12:19 +00:00
kr.angelov c469ae9091 clean up the UTF8 API in libgu 2013-09-13 07:44:45 +00:00
kr.angelov c684ab30a7 fix in Android.mk to make sure that the Android build will always see the ARM headers of GNU lightning 2013-09-12 12:55:55 +00:00
kr.angelov 9c3dd1e1e1 remove the logging from libgu 2013-09-12 09:30:02 +00:00
kr.angelov 2105188bd0 enable the PGF JIT compiler for Android 2013-09-12 09:05:43 +00:00
kr.angelov bfafdbfec3 rewrite the ARM port of GNU lightning to a form compatible with the versions for the other CPUs 2013-09-11 20:17:50 +00:00
hallgren 8a3b97e6a5 Some code verbosity reduction 2013-09-10 14:19:11 +00:00
hallgren aa9280b287 Workaround for a problem with lock fields
This problem showed up after delaing eta expansion until just before partial
evaluation
2013-09-10 13:43:59 +00:00
hallgren b93f817058 new-comp: delay eta expansion until just before partial evaluation
This seems to work for the most part, but a problem showed up in WordsCat.gf in
the phrasebook.
2013-05-30 16:01:12 +00:00
hallgren bf5dfb2293 Nonlinear patterns in concrete syntax are now detected and reported as errors
Before, they were silently converted to linear patterns.
Nonlinear patterns in MorphoCat.gf, ParadigmsGre.gf and ParadigmsFin.gf have
been make linear by renaming pattern variables.
2013-09-09 19:52:08 +00:00
hallgren 3543cb7a16 partial evaluator: prettier complaint about nonlinears patterns 2013-09-09 16:23:01 +00:00
hallgren 990789eb91 partial evaluator: complain about nonlinear patterns 2013-09-09 15:53:14 +00:00
hallgren 83283b0d6a Fix an old name shadowing bug in concrete syntax by removing the refresh pass
The refresh pass does not correctly keep track of the scope of local variables
and can convert things like \x->(\x->x) x into \x1->(\x2->x2) x2. Fortunately,
it appears that the refresh pass is not needed anymore, so it has been removed.
2013-09-09 14:29:57 +00:00
kr.angelov 5a4454aa8f added exhaustive generation in the Java binding 2013-09-06 07:21:38 +00:00
kr.angelov 14f8b96b56 remove the string internalization since it slows down grammar loading with little benefit 2013-09-05 13:34:49 +00:00
kr.angelov 46f2460a92 move src/runtime/android to src/ui/android/jni 2013-09-05 12:19:59 +00:00
hallgren d7916c1b08 Fix an old bug that prevented pattern matching agains values containg tables
The function GF.Grammar.PatternMatch.isInConstantForm returned False for all
tables, causing matchPattern to fail, claiming that "variables occur in" the
term if it contains tables.

This problem is several years old, confirmed present in GF 3.2.10 (Oct 2010).
2013-09-05 15:20:41 +00:00
kr.angelov f190e349c2 added version readPGF in Java which takes as argument InputStream. This makes it easier to load grammars from the assets folder in Android 2013-09-05 12:12:01 +00:00
kr.angelov ebc3fc51d0 fix gu_in_bytes_ to use buffering 2013-09-05 12:10:55 +00:00
kr.angelov 7c0bad5092 remove the read and write modules from libgu. this simplifies the i/o layer 2013-09-05 11:20:39 +00:00
kr.angelov 504341dfba remove dump and yaml from libgu 2013-09-05 10:01:47 +00:00
kr.angelov 8f975239c6 bugfix for gu_buffered_in 2013-09-05 09:50:57 +00:00
kr.angelov 9b97346c07 add gu and pgf in the library path for building the Java binding 2013-09-04 20:30:43 +00:00
kr.angelov bd2666eab4 added description file for building jpgf.jar 2013-09-04 18:48:51 +00:00
kr.angelov 1fdf0cbcfb fix the warnings from the Java binding 2013-09-04 18:23:49 +00:00
kr.angelov b129eedcfa now it is possible to compile the C code for the Java binding from Eclipse. The old and broken Makefile is now removed 2013-09-04 18:09:06 +00:00
kr.angelov 2f02340d0d added Eclipse project for building the Java binding 2013-09-04 14:06:06 +00:00
kr.angelov 9f0f99bba4 fix a few warnings in the Java binding 2013-09-04 13:37:40 +00:00
kr.angelov 7c000467c9 updated files src/ui/android 2013-09-04 13:34:44 +00:00
kr.angelov 35a98594be added make file for compiling the C runtime for Android. The JIT compiler for Android is temporary disabled 2013-09-04 11:56:47 +00:00
kr.angelov c837f3927e the code in the C runtime is now complete independent from config.h 2013-09-04 11:51:05 +00:00
kr.angelov 93cbfd31d1 remove the dependency on the CHAR_ASCII flag 2013-09-04 10:27:08 +00:00
kr.angelov 805f95eac6 remove the dependency on the HAVE_STATEMENT_EXPRESSIONS flag. This reduces the dependency on the ./configure script 2013-09-04 10:06:07 +00:00
kr.angelov ae87c3d272 avoid using nan() in libgu for portability with Android 2013-09-04 07:36:39 +00:00
kr.angelov 0aef8d1c72 slight optimization for the linearizer in the C runtime 2013-09-04 07:11:14 +00:00
kr.angelov 69e71b6a4e bugfix in the robust linearizer 2013-09-04 07:05:27 +00:00
kr.angelov 027fd911b6 fix for linearization with 'pre' 2013-09-03 08:58:04 +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
hallgren d626a194de gf.cabal: version: 3.5-darcs 2013-09-02 20:27:47 +00:00
kr.angelov eb013c0b06 almost functional version of the javascript runtime 2013-08-29 20:36:06 +00:00
kr.angelov 1da6b2a34a the PGF class is now using the new Pool class to manage the life time of the memory allocated in C. 2013-08-29 05:38:07 +00:00
kr.angelov bb007630d7 more carefull tracking of references in the Java binding 2013-08-29 05:35:45 +00:00
kr.angelov 430e9c1b49 now Concr.parseBest throws ParseError 2013-08-28 15:35:57 +00:00
kr.angelov 69007cc661 bugfix which caused the runtime to crash on Android 2013-08-28 15:19:39 +00:00
kr.angelov e1362fdb83 fix the error handling in the Java binding 2013-08-28 08:51:53 +00:00
kr.angelov 1c7a64acee make the Expr constructor private 2013-08-28 07:09:31 +00:00
kr.angelov 5a24be9735 fixes in the Java binding 2013-08-28 00:04:50 +00:00
kr.angelov e3bd66cc78 added PGF.getStartCat() 2013-08-27 23:02:00 +00:00
kr.angelov 3494107994 added method for best first parsing in the Java binding 2013-08-27 22:54:10 +00:00
kr.angelov e3c5882721 bugfix in the java binding 2013-08-27 22:53:38 +00:00
kr.angelov e274cce213 linearization in the Java binding 2013-08-27 22:39:26 +00:00
kr.angelov e1df8e713c small refactoring in the Java binding 2013-08-27 22:37:31 +00:00
kr.angelov d3631d918d parsing from the Java binding 2013-08-27 21:53:13 +00:00
kr.angelov d4289a6654 comparison for strings in libgu 2013-08-27 08:07:18 +00:00
kr.angelov 297587fa38 quicksort and binary search for buffers in libgu 2013-08-27 08:06:34 +00:00
gregoire.detrez b94fd42957 Remove script (moved to an other repository) 2013-08-26 12:30:47 +00:00
kr.angelov a20cd77d25 nonExist now does the expected thing 2013-08-23 13:17:45 +00:00
john 7c98267193 Add INSTALL file for python bindings. Add note about libtool to INSTALL of c runtime 2013-08-23 13:06:58 +00:00
hallgren 018b43837b Demo page: added a link to Phrasomatic 2013-08-22 19:27:33 +00:00
gregoire.detrez 8d873c8a32 Add vim and eclipse in the page about editor modes (fix) 2013-08-22 15:26:26 +00:00
gregoire.detrez 179143ae31 Add vim and eclipse in the page about editor modes 2013-08-22 15:17:30 +00:00
hallgren 9efb9ce2fb gfse: don't use multiline text boxes everywhere, just for concrete syntax 2013-08-21 14:19:05 +00:00
kr.angelov 8f58dcdf63 change the locale in the test script for the Python binding 2013-08-21 13:17:39 +00:00
kr.angelov fa32a6290e fix in the C parser 2013-08-21 13:09:21 +00:00
ramona.enache 9f1a2e5b67 added Facebook grammar from SummerSchool tutorial on best practices for grammar writing 2013-08-21 13:05:22 +00:00
kr.angelov 1f4b55735e fix a crash in the python binding 2013-08-21 12:47:40 +00:00
hallgren 08766585e6 gf -server: fix for directory URLs without a trailing slash
When a browser requests a URL that refers to a directory, web server usually
redirect the browser to the same URL with a trailing '/' added, if one was not
already present. This is to prevent relative links in the returned document
from being interpreted relative to the parent directory instead of the current
document. This type of redirection was missing in gf -server.
2013-08-20 15:38:26 +00:00
aarne cbe2cb9908 new Foods for Chi, Gla, Ori 2013-08-20 13:27:16 +00:00
hallgren 4e7be49927 download page: link to Inari's notes on installing GF on windows 2013-08-20 08:09:58 +00:00
kr.angelov d1368c3519 word completion in the C runtime now returns multi-word expressions and the category for every expression 2013-08-19 15:34:19 +00:00
hallgren 2aa14bfef8 gfse: only try to upload/compile grammars when browser is online
Show error message "Offline" if browser is offline.
2013-08-19 15:00:55 +00:00
hallgren 029f1d40e5 gfse: always open a resizable text box when editing concrete syntax
(Also fixed a broken link in gf-web-api-examples.html)
2013-08-19 14:19:18 +00:00
kr.angelov e9eeefa6f0 fullFormLexicon in C and Python 2013-08-19 12:16:30 +00:00
kr.angelov 308e1445ca added GuEnum interface for iterating over maps in the C runtime 2013-08-19 12:13:47 +00:00
kr.angelov 87e34b11dc implemented lookupMorpho for C and Python 2013-08-16 15:02:24 +00:00
kr.angelov 662a35bbb3 provide API to access the language code for the concrete language 2013-08-16 12:54:16 +00:00
kr.angelov 1e44fdb3d3 fixes in the C and Python API to make them closer to the Haskell API 2013-08-16 12:44:37 +00:00
kr.angelov fc7e77bf50 added graphvizParseTree in the C and Python runtimes 2013-08-15 15:10:28 +00:00
kr.angelov 5337b4bef7 graphvizAbstractTree in the C and Python runtimes 2013-08-15 08:06:37 +00:00
john.j.camilleri bce1dff728 Syntax editor: minor CSS fix 2013-08-13 09:30:13 +00:00
john.j.camilleri 892596d7d6 Correct #chaptwo to #chapfour URLs in tutorial
Thanks to "drbean" from the IRC channel for pointing this out!
2013-08-12 06:55:08 +00:00
hallgren 8a81641b00 doc/gf-developers.t2t: add some notes on how to create .deb and .rpm packages 2013-08-08 12:51:24 +00:00
hallgren fad63a14be Better error messages for attempts to redefine predefined constants
Instead of just "syntax error", you now get e.g.

   PType is a predefined constant, it can not be redefined

This is a simple change in the parser.
2013-08-07 19:36:09 +00:00
aarne a05856ec93 finished the refactoring of Fin with unstemmed (for library use) and stemmed (for large-scale parsing use). All differences are located in the file StemFin. 2013-08-07 09:52:40 +00:00
hallgren 824fbee593 Update to version 3.5 in gf.cabal and debian/changelog 2013-08-06 15:42:57 +00:00
hallgren 4dd9a42f4a Move GF 3.5 download page into place. Update home page. 2013-08-06 15:32:20 +00:00
hallgren 2b3854b635 Finalize GF 3.4 download page and release notes 2013-08-06 15:28:53 +00:00
john.j.camilleri 5fd0dbfd7c Add more info about RGL browser to release notes 3.5 2013-08-06 13:32:13 +00:00
hallgren f0cded5f53 Next release will be GF 3.5, release notes moved to download/release-3.5.t2t.
Some more work on the 3.5 release notes and download page.
2013-08-05 12:38:38 +00:00
hallgren 3be7ab3f49 Update shell reference manual 2013-08-05 11:47:17 +00:00
kr.angelov 8dc7d6c094 added untested port of GNU lightning to ARM 2013-08-01 12:07:06 +00:00
kr.angelov bf04d9fce7 a bit more on the Java to C binding. Now it is possible to load a grammar and query for the list of languages 2013-08-01 10:48:19 +00:00
kr.angelov 102994144b add two more bullets about the Python and the Java bindings 2013-07-30 11:54:20 +00:00
kr.angelov 80dbbb88b8 added release notes for the C runtime 2013-07-30 11:51:49 +00:00
kr.angelov 383d829d5a the first approximation for a statistical model consistent with dependent types in the abstract syntax 2013-07-30 07:29:11 +00:00
hallgren 27da46a79d Cloud & PGF service: use Content-Type application/json for JSON output
This is in accordance with RFC 4627. http://tools.ietf.org/html/rfc4627
Use application/javascript for JSONP output.
2013-07-29 16:05:54 +00:00
hallgren ecfcaa5395 Adding download page and release notes for the next release of GF
The suggested next release is 3.4.8 in early August.
Feel free to add things in download/release-3.4.8.t2t.
2013-07-29 13:26:22 +00:00
hallgren 3b334b5707 minibar: more robust test for availability localStorage
Minibar should now work if localStorage is disabled or unavailable.
(In Firefox, disabling cookies also disables localStorage.)
2013-07-29 11:58:17 +00:00
aarne 03db087e38 pointer to RGL publications as main index news item 2013-07-26 08:45:53 +00:00
hallgren e07a74df01 Allow cross origin requests to GF cloud & PGF services
By adding a header

	Access-Control-Allow-Origin: *

to the HTTP responses, web browsers are informed that it is OK to call the
services from web pages hosted on other sites.

This is apparently supported in most modern browsers, so it should no longer
be necessary to resort to JSONP.

See https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS
2013-07-25 16:04:43 +00:00
aarne 0087456c7a updated the number of PhD thesis and publications in index.html; started an RGL publications page 2013-07-25 15:24:22 +00:00
john.j.camilleri 99cfb34639 RGL Browser: now includes Syntax Editor tab! 2013-07-25 07:36:34 +00:00
aarne 850e02cb6e hs datatype generation for empty abstract types added 2013-07-24 08:11:16 +00:00
gregoire.detrez 5a6f4c3d52 Script to compute predictability of smart paradigms 2013-07-20 20:24:24 +00:00
kr.angelov 666def3789 bugfix for parsing floating point numbers in the C runtime 2013-07-18 14:29:58 +00:00
hallgren fe79e8cd25 gf-server.cabal: same changes as in gf.cabal for ghc-7.6 compatibility 2013-07-15 17:07:51 +00:00
kr.angelov d7e42f00c5 the hash function for pgf.Expr is now really added 2013-07-05 05:35:22 +00:00
kr.angelov 8f2032a07d the parser in the C runtime now checks for duplicated results 2013-07-03 12:30:30 +00:00
kr.angelov f0c703d42f complete pgf_expr_eq in the C runtime 2013-07-02 20:12:57 +00:00
kr.angelov 2948231e0f hash function for abstract syntax trees 2013-07-02 19:12:53 +00:00
kr.angelov c0a0859566 C runtime: fix the debug modes in the parser and in the reasoner after the changes in the printer 2013-06-27 11:00:26 +00:00
kr.angelov 478b46be87 typos in the documentation for the Python binding 2013-06-27 10:11:49 +00:00
kr.angelov 155afdf9b7 a complete Python API for reading, printing and manipulation of abstract trees and types. This includes dependent types, high-order abstract syntax and implicit arguments 2013-06-27 09:39:15 +00:00
kr.angelov f4f76e4638 dummy compute function in the Python binding 2013-06-26 10:36:42 +00:00
kr.angelov d1410aba22 we no longer maintain an explicit list of functions per category since now it is implicitly kept in the JIT compiled code 2013-06-26 09:35:50 +00:00
kr.angelov fcd2a2b12a forgot to add reasoner.h 2013-06-26 09:09:54 +00:00
kr.angelov cf0bc127af forgot to add jit.h 2013-06-26 09:08:47 +00:00
kr.angelov a2af8e216f an optimization in the jitter for generating more compact code 2013-06-26 09:03:51 +00:00
kr.angelov 3c2d1890d0 patch for adjustable heuristics from Python 2013-06-26 07:36:03 +00:00
kr.angelov d94b6146f2 compatibility issue for MacOS X 2013-06-26 07:03:32 +00:00
kr.angelov 3a22258109 fix for x86_64 2013-06-26 06:43:33 +00:00
john.j.camilleri ebc4d2173b GF homepage: Add section for "getting help" (mentioning IRC channel)
and remove "fragments" from Maltese
2013-06-26 06:28:54 +00:00
kr.angelov d553cb165a Now there is a just-in-time compiler which generates native code for proof search. This is already used by the exhaustive generator. The time to generate 10000 abstract trees with ParseEng went down from 4.43 sec to 0.29 sec. 2013-06-25 19:22:42 +00:00
kr.angelov 09a42bbab0 bugfix for the linearizer in the C runtime 2013-06-24 07:56:42 +00:00
john.j.camilleri 526bfff57d Add news about Maltese RG, IRC channel to homepage 2013-06-24 07:49:30 +00:00
kr.angelov 9058ccb3eb bugfix for the word completion in the C runtime 2013-06-22 15:39:47 +00:00
kr.angelov fa7ac00838 add x86_64 support to GNU lightning 2013-06-20 08:27:04 +00:00
kr.angelov f8073ea1cd fíx in the Python binding for compatibility with Python<2.7 2013-06-19 19:31:55 +00:00
kr.angelov 0ad4c9bf65 fix an issue in the Python binding related to the 32 vs 64 bit compatibility 2013-06-19 18:47:52 +00:00
kr.angelov e65bbb0713 fix for a couple of warnings that are generated when GNU lightning is used 2013-06-17 07:32:41 +00:00
kr.angelov 407f680bae add the source code for GNU lightning in the source directory for the C runtime 2013-06-17 07:26:00 +00:00
virk.shafqat 8abd16bace added Sindhi Phrasebook 2013-06-15 20:12:48 +00:00
virk.shafqat d1d5543c26 Improvements In Sindhi RG 2013-06-15 20:02:00 +00:00
kr.angelov b0b4f57775 bugfix in the python binding 2013-06-14 07:02:53 +00:00
hallgren bdfd663e91 Fix UTF-8 decoding problem in gf -server
The package network-2.4.1.1 thoughlessly introduced a backward incompatible
change to the function Network.URI.unEscapeString, see

    https://github.com/haskell/network/commit/f2168b1f8978b4ad9c504e545755f0795ac869ce

This also affects the function Network.Shed.Httpd.queryToArguments, which is
used in GFServer.hs.

To remain compatible with older and newer versions of the network package,
we need to stay clear of queryToArguments and unEscapeString. A replacement
function has been added to server/URLEncoding.hs.
2013-06-13 08:23:48 +00:00
john.j.camilleri 51ece66688 Syntax editor: minor CSS tweak to resemble Minibar more 2013-06-13 07:34:16 +00:00
john.j.camilleri c505747492 Syntax editor: AST string always shown, remove export button 2013-06-13 07:26:10 +00:00
john 3bf505d375 Update Maltese Foods grammar
In preparation for presentation at Maltese Linguistics conference next week.
2013-06-11 09:05:13 +00:00
john dafc992b7e Maltese RG: first proper release
Of course some bugs remain and more testing is needed,
but all functions are complete and Maltese now builds as part
of the normal GF install.
2013-06-10 21:37:10 +00:00
hallgren d010dfdcfa Update the usage text for the --output-format option
It needs to be updated manually when the list of available output format
changes.
2013-06-10 12:00:14 +00:00
hallgren 5b36461c1d GF.Text.Transliterations: avoid error prone function Data.Map.fromAscList 2013-06-02 10:10:46 +00:00
aarne f33059ae39 Prasad's sanskrit transliteration ; MiniresourceSan now compiles but is mostly incorrect due to missing paradigms 2013-05-31 16:25:42 +00:00
kr.angelov 54a0642bee now the call Expr.unpack("? e1 e2") in Python returns a pair with None as the first element and a the list [e1,e2] as the second. This makes it easier to decompose partial abstract trees 2013-05-31 09:24:15 +00:00
kr.angelov 1ce5fa3663 improved error message in the Python binding 2013-05-31 09:13:16 +00:00
aarne 0ede1365dc started MiniresourceSan ; doesn't compile yet 2013-05-31 08:00:09 +00:00
kr.angelov aa644169c2 bugfix for the grammar printer in the C runtime 2013-05-30 20:20:02 +00:00
aarne a5a269ac35 phrasebook Nor compiles again; added make ParseChi and ParseEngChi 2013-05-30 15:08:45 +00:00
aarne 1507881cb4 added VW foundation as sponsor and made the title conformant to funding decision on summer school web page 2013-05-28 14:59:15 +00:00
normundsg f2ffe8bc7d PhrasebookLav is now compatible with the latest resource grammar 2013-05-30 14:48:21 +00:00
kr.angelov 51ae8bbce1 the Bulgarian phrasebook works again 2013-05-30 13:16:35 +00:00
john.j.camilleri 0893473aac Remove summer school page from darcs
It is now in www/school/2013 and should be edited directly on server
2013-05-30 09:48:00 +00:00
john 12424fe1f2 Summer school page: add link to Google Group 2013-05-30 07:01:18 +00:00
john 261594cc5a Summer school page: udpate with directions from Hans 2013-05-30 06:56:55 +00:00
kr.angelov 739b10f2a8 a simple refactoring in the Python runtime 2013-05-29 11:02:18 +00:00
kr.angelov 43bffd3f7d readPGF in the Python runtime now throws "No such file or directory" exception if the grammar is missing 2013-05-29 10:49:56 +00:00
john.j.camilleri ef2a875116 Summer School page: minor adjustments 2013-05-29 06:37:23 +00:00
john.j.camilleri d49d8f56ed Update Summer School page with sponsorship info (Aarne's changes) 2013-05-29 06:29:25 +00:00
kr.angelov bae05df3b0 added a test class for the Java API plus a small refinement in the implementation for the binding 2013-05-28 13:32:32 +00:00
kr.angelov 3147e16453 an initial skeleton for building a Java binding to the C runtime 2013-05-28 12:59:19 +00:00
hallgren 29f1487aa4 Demo page: add a version of the minibar that shows just the MOLTO Application grammars 2013-05-24 14:20:36 +00:00
kr.angelov b7cbee7940 fix the encoding problem with unicode literals in the Python binding 2013-05-21 10:53:20 +00:00
aarne 3e30dd78ec annotated Adv's in SentencesI to Syntax.Adv to avoid some clashes 2013-05-20 06:40:40 +00:00
kr.angelov 517b8ff1ee bugfix for bracketedLinearize which was causing crash if the tree cannot be linearized 2013-05-07 08:35:33 +00:00
kr.angelov 687b326ed0 bug fix in the management of memory pools in the statistical parser 2013-05-07 08:30:32 +00:00
kr.angelov 7ba27229b3 the statistical parser is now using two memory pools: one for parsing and one for the output trees. This means that the memory for parsing can be released as soon as the needed abstract trees are retrieved, while the trees themselves are retained in the separate output pool 2013-05-06 15:28:04 +00:00
kr.angelov 520c2fb59d fix the leftcorner filtering after the addition of word completion 2013-05-05 10:30:06 +00:00
kr.angelov b8d61fcbb2 bugfix in the C runtime which was causing an infinite loop while linearizing partial trees 2013-05-04 13:32:57 +00:00
hallgren da577d15ef Download page: the .deb packages also work on Ubuntu 13.04 2013-05-03 13:14:27 +00:00
gregoire.detrez 08a67b9f34 [haskell runtime] Remove trailing whitespaces in VisualizeTree.hs 2013-05-03 09:42:29 +00:00
hallgren e44580aced Setup.hs: comment out ineffective parallelisation 2013-05-02 12:36:16 +00:00
kr.angelov 22f44ef61f word completion in the C runtime. The runtime/python/test.py example is now using readline with word completion 2013-05-01 06:09:55 +00:00
hallgren 41bccf5737 Download page & developers guide: add a section about known problems with Cabal 2013-04-29 13:12:37 +00:00
aarne 4f831291b1 miniresource functor 2013-04-28 09:42:56 +00:00
kr.angelov 85efdf81e7 finally the statistical parser is able to return all possible abstract trees 2013-04-26 20:44:01 +00:00
hallgren 8d866541d3 gfse: use alltenses/ instead of present/ when looking up RGL oper types 2013-04-26 15:01:11 +00:00
hallgren b88065e250 Add greek to Setup.hs and the web apps 2013-04-26 13:42:01 +00:00
hallgren c841c2c3c9 minibar: remove two more uses of with() 2013-04-25 15:08:26 +00:00
hallgren 7fe4ff8c46 minibar: fix bug that prevented minibar from working in Webkit browsers
The with(...) {...} statement has different scoping rules in Webkit browsers
and Gecko browsers, so it is better to avoid it.
2013-04-25 14:55:24 +00:00
aarne 6d6c565f98 Greek by Ioanna Papodopoulou - complete, 27th RGL language 2013-04-25 13:22:28 +00:00
hallgren 5fe680c837 PGF service: apply the token binding operator &+ to all linearizations
The &+ operator is now consistently eliminated from the output of commmands
that produce linearizations. Before, only the commands translate and
translategroup did this.
2013-04-24 18:32:53 +00:00
hallgren 7f0f91a54b js/localstorage.js: don't throw an exception if JSON parsing fails
Return the given default value instead.
2013-04-23 14:14:38 +00:00
hallgren 1146b94685 gfse: add access to the syntax editor
via the minibar
2013-04-23 13:55:00 +00:00
hallgren 2639dc67b1 js/gfrobust.js: don't try to translate sentenses that are too long
The C run-time responds badly to input that is too long, so we return an
error message here instead.
The limit is 200 URL-encoded characters.
2013-04-23 13:40:38 +00:00
hallgren ba1bdaa3dc js/localstorage.js: improved faked localStorage if real localStorage is missing 2013-04-23 12:44:12 +00:00
hallgren bcf8346716 minibar: use the common interface to localStorage
...for more streamlined code and better browser compatibility.
2013-04-23 12:39:18 +00:00
kr.angelov aad274022a a trivial refactoring of the reasoner in the C runtime 2013-04-23 06:40:14 +00:00
aarne 67f33e5f24 new-gf-bib fixes 2013-04-22 20:48:50 +00:00
inari.listenmaa 20afaf9fbc new source to new-gf.bib
in addition to the previous ones, added also a source that isn't related to GF, but is used as a source in the sublanguage paper.
2013-04-22 17:22:11 +00:00
inari.listenmaa e7f1bea55e new sources to new-gf.bib
Including sources needed in MTsummit paper about sublanguage. MOLTO deliverables and some conference papers.
2013-04-22 17:19:29 +00:00
kr.angelov 6481f448fc bug fix in pgf-translate which was hiding that there are more than one trees per sentence 2013-04-22 13:02:43 +00:00
kr.angelov 4394b8a3bc a bit more informative error message in GrammarToPGF 2013-04-22 12:14:39 +00:00
kr.angelov b1b68bf6b4 reverse the direction of the arcs in the dependency trees 2013-04-21 19:20:08 +00:00
virk.shafqat 3e453b44be refinementsDiffHindustani 2013-04-20 09:15:49 +00:00
hallgren a0bcea3076 gfse: don't add --# -path=.:present
Nowadays GF includes alltenses by default in the grammar search path.
2013-04-20 07:25:38 +00:00
hallgren 4ca26b8734 simple translation tool: minor documentation fix 2013-04-19 14:10:03 +00:00
hallgren 8f187584e9 gf-cloud-api.html: fixed a typo
in the documentation of command=remake.
2013-04-19 12:17:27 +00:00
hallgren 27545f6d18 gf-cloud-api.html: clarification
Unrecoginzed parameter in cloud service requests are silently ignored.
2013-04-19 12:06:00 +00:00
kr.angelov 09c1bd662d the option -old for the vp command is now redundant 2013-04-19 11:15:18 +00:00
kr.angelov 4e2044ab99 remove the dead code left behind by Peter Ljunglöf in VisualizeTree 2013-04-19 11:13:07 +00:00
kr.angelov a591160b94 fix the command options for the vd command in the shell 2013-04-19 11:11:57 +00:00
kr.angelov 542dcaa0ec the C runtime and the Python binding now have an API for parser evaluation. The API computes PARSEVAL and Exact Match for a given tree. As a side effect the abstract trees in Python are now compared for equality by value and not by reference 2013-04-19 10:57:46 +00:00
kr.angelov f050609101 added API for computing bracketed strings from Python and C 2013-04-18 13:37:09 +00:00
hallgren ff691dee7b simple translator: improved translation with the GF robust parser
by separate punctuation from the string sent to the robust parser.
Also added buttons to view parse trees from the robust parser.
2013-04-18 13:11:46 +00:00
hallgren 5f35a59b95 gfrobust.js: add a method for constructing parse tree image URLs. 2013-04-18 13:11:05 +00:00
hallgren 6ae28fc693 GF home page: add "machine translation" in a meta keywords tag
GF does not show up if you google for machine translation. This meta tag might
help, but in general I think it is better for SEO to mention relevant keyword
in the body text than to rely on meta tags.
2013-04-18 12:02:32 +00:00
hallgren 563299085d minibar: syntax editor integration bug fix
The minibar has the alternative "All" in the target language menu. This should
not be included when transfering to the syntax editor.
2013-04-17 08:49:31 +00:00
hallgren b037fa2b32 minibar: fixes for phrasebook
Add minibar option to_multiple to be able to turn off selection of multiple
target languages.
2013-04-17 08:39:39 +00:00
kr.angelov b49b9d459a added a malt_tab format to the vd command in the GF shell 2013-04-16 18:22:37 +00:00
kr.angelov f6d675c34b the generation of dependency trees in the Haskell runtime is now finally working with bracketed strings. This also fixes some errors in the old implementation 2013-04-16 13:10:48 +00:00
kr.angelov 2f35964871 the compiler now sorts the list of functions per category in probability order. this ensures probability order search in the C runtime 2013-04-15 19:58:57 +00:00
john b9f530a805 Update summer school page 2013-04-13 13:21:03 +00:00
hallgren d35790e656 GF cloud: work on syntax editor integration
+ The syntax editor is now accessible from the Simple Translaton Tool.
+ The minibar now automatically provides access to the syntax editor (provided
  the necessary JavaScript files and style sheets have been loaded).
+ Preparations for making the syntax editor accessible from the grammar editor.
2013-04-12 18:29:15 +00:00
hallgren 1d0f9372f4 syntax editor: fix references to global object 'server' 2013-04-12 17:50:44 +00:00
hallgren eb941d6eac minibar/syntax editor integration fixes
When starting from the minibar, the selected set of target languages is now
preserved when switching back and forth.
2013-04-12 14:30:27 +00:00
hallgren a0d785610d Simple Translation Tool: eliminate &+ in translations from GF
Also fixed a bug introduced in previous refactoring.
2013-04-12 13:00:05 +00:00
hallgren 40e9fe30c3 gfrobust.js: adding a JavaScript API to the GF Robust Parser translation service
Factored out from the Simple Translation Tool.
2013-04-12 12:47:13 +00:00
hallgren 59f9f9dd17 minibar.html: add debug element
to allow debug output from the syntax editor when it is started from the
minibar.
Also fix broken markup.
2013-04-11 11:47:06 +00:00
hallgren 5bce1d7a16 gf -s/-q now silences "no linearization of" warnings 2013-04-10 23:00:01 +00:00
hallgren b8ce5ef5b3 PGF.hs: export function missingLins
Also in Commands.hs: be explicit about things imported from the PGF library
that are not in the public API.
Also a couple of haddock documentation fixes.
2013-04-08 15:38:11 +00:00
hallgren 35b47968d2 minibar: add a visual hint that linearizations can be expanded into tables 2013-04-07 12:06:12 +00:00
hallgren cc0743ade1 Compiler.hs: ghc 7.6.2 compatibility 2013-04-05 20:37:37 +00:00
hallgren 5a7e8cc601 Simple Translator: add GF Robust Parser to the menu for individual segments 2013-04-05 20:32:20 +00:00
hallgren 0bbbda0911 Simple Translator: use lextext/unlextext for translations with the robust parser 2013-04-05 15:15:40 +00:00
hallgren fca0a00c81 Simple Translator: initial support for translation with the GF robust parser 2013-04-05 13:25:09 +00:00
kr.angelov 1f91928606 now the web service to the robust parser can to translations also 2013-04-05 12:22:52 +00:00
kr.angelov 9e741cfe30 a bugfix which was causing an infinite loop in the C linearizer for some sentences 2013-04-05 09:11:24 +00:00
kr.angelov a449a240de a very simple linearization for partial abstract trees in the C runtime 2013-04-05 08:42:56 +00:00
hallgren 3c244ff27f minibar/syntax editor integration improvements
Work in progress on preserving the start category and selected target languages
when switching between the minibar and the syntax editor.
2013-04-04 14:04:31 +00:00
hallgren a22a419bc7 Simple Translation Tool: initial support for editing source segments in the minibar 2013-04-03 20:24:57 +00:00
hallgren 0568a1a32a Adding src/www/js/localstorage.js
A common interface to localStorage, to store JSON data under a unique prefix.
2013-04-03 20:23:32 +00:00
hallgren c02d5b188b Prevent Unicode characters in warning messages from stopping grammar compilation
When compiling a grammar containing characters that are not supported in the
current locale, warning messages could cause GF fail with 

  hPutChar: invalid argument (Invalid or incomplete multibyte or wide character)

With this quick fix, warning messages that can not be displayed are silently
truncated instead, and compilation continues.
2013-04-03 06:42:08 +00:00
john.j.camilleri 458ffc42d1 Replace "CId" with "Language" in type signature for PGF.tabularLinearizes 2013-04-02 09:19:08 +00:00
hallgren 078edf3e6b gf.cabal: fix tab char problem 2013-04-02 14:53:15 +00:00
hallgren eb3fc960d5 gf.cabal: gf depends on utf8-string even when compiled without server support 2013-04-02 14:50:01 +00:00
hallgren f26778feb0 minibar: remember the selected set of target langauges 2013-04-02 13:49:50 +00:00
hallgren 4e40fd5697 minibar: abstract syntax trees are now shown with or without category names
Function names are always shown.
2013-04-02 11:56:10 +00:00
aarne e56bfe8811 option pt -funs to show all fun's in a tree 2013-03-29 11:45:42 +00:00
hallgren 63c0b7ae5d minibar: show abstract syntax trees without or with function names
Click once to show abstract syntax trees without function names. Click again
to add function names.
2013-03-28 16:00:04 +00:00
hallgren 08046137cb PGF web API: command=abstrtree not supports the nocat and nofun options 2013-03-28 15:57:17 +00:00
kr.angelov 74a16273b9 added simple script for estimating the coverage on the PennTreebank 2013-03-28 09:15:38 +00:00
kr.angelov 17fc938c20 added a few more multiword expressions in DictEng and a few words in the abstract syntax are not tagged with their senses. There is a new statistical model too 2013-03-27 20:46:42 +00:00
hallgren be1d380ea5 minibar: fix problems with the To: menu
Automatically expanding the menu when the mouse is over it seems to cause wierd
scrolling behavior in Chrome (and also in Firefox but less severe).
2013-03-27 23:39:35 +00:00
hallgren 323982b0ea minibar: documentation update 2013-03-27 16:45:09 +00:00
hallgren 8b06936c01 minibar: click on a linearization to obtain a table with all variants and forms
Click again to hide the table.
2013-03-27 16:35:56 +00:00
hallgren 7e214fee01 support.js: add function replaceNode 2013-03-27 16:35:32 +00:00
hallgren 1ff78dae97 PGF web API: add comand linearizeTable
The new command linearizeTable outputs linearizations as tables containing all
variants and forms, labelled by parameters
2013-03-27 16:31:52 +00:00
hallgren 060e3147e8 minibar: fix buttons for abstract syntax trees and word alignment diagrams
They stopped working after yesterday's changes.
2013-03-27 14:07:16 +00:00
inari.listenmaa 8c8c63b2e9 Copula and lexical corrections to PhrasebookCat 2013-03-26 16:47:36 +00:00
hallgren 2cb7ed5734 minibar: documentation update 2013-03-26 14:38:10 +00:00
hallgren 155c559e5f minibar: show parse trees without or with function names
Click once to show the parse tree without function names. Click again to
add function names.
2013-03-26 14:24:22 +00:00
hallgren 1962574941 PGF service: support all parse tree visualziation options in the web API
The new options are

  * noleaves, nofun, nocat (booleans, false by default)
  * nodefont, leaffont, nodecolor, leafcolor, nodeedgestyle, leafedgestyle
    (strings, empty by default)
2013-03-26 14:17:24 +00:00
hallgren 9faa3407ab haddock bug workaround 2013-03-26 13:14:37 +00:00
hallgren dca51e7417 minibar: initial support for selecting an arbitrary subset of target languages
This affects which translations are shown and which languages are included in
the word alignment diagrams.
2013-03-25 17:43:12 +00:00
hallgren 3ae3df209e Setup.hs: paralell RGL module compilation experiment
For this to have any effect, Setup.hs has to be compiled with -threaded, which
cabal-install doesn't do, unfortunately...
2013-03-25 14:03:10 +00:00
kr.angelov 885a14e64d added the file treebanks/PennTreebank/ParseEngAbs3.probs which is used by the statistical parser for robust chunking 2013-03-25 10:28:53 +00:00
kr.angelov 40fb775a79 a long list of prepositions from Wikipedia is now imported in DictEng in addition there are a number of small other changes in the dictionary. The statistical model is updated and is now moved to treebanks/PennTreebank/ParseEngAbs.probs 2013-03-25 10:24:24 +00:00
kr.angelov d1866472eb added configuration file which defines the heads for all syntactic functions in ParseEng 2013-03-21 13:39:24 +00:00
kr.angelov c6e4db8f4a the calculation of lexical_prob in the statistical parser doesn't work properly. It should be fixed but for now I just disabled the optimization 2013-03-20 12:28:52 +00:00
kr.angelov 2aacbb0c46 replace #if with #ifdef when checking for the optional bottom up filtering in the C runtime 2013-03-20 10:47:47 +00:00
kr.angelov 770b1af6d9 the bottom up filtering in the C runtime is temporary disabled. It takes too much memory and even makes it impossible to load the Finnish and the German parsing grammars. 2013-03-19 10:59:44 +00:00
hallgren 80fe693546 Fix a problem with pattern macros in pre { } expressions
The old partial evaluator has special rules to convert pattern macros in
pre { } expressions. These rules were missing in the new partial evaluator.
2013-03-16 13:36:23 +00:00
kr.angelov 411d91d410 bug fix in the linearizer in the C runtime 2013-03-14 12:31:49 +00:00
kr.angelov d018502fca update the pgf-service tool from the C runtime after the changes in the API 2013-03-14 10:37:01 +00:00
hallgren 66dae1fe17 Update shell reference manual 2013-03-14 08:08:51 +00:00
hallgren 07f958a9b7 PGF web API: add 'to' parameter to the 'alignment' command
Word alignment diagrams can now be restricted to a subset of the languages
supported by the grammar.
2013-03-13 15:56:03 +00:00
hallgren d4fc60f260 PGF web API: generalize the 'to' parameter to accept a list of languages
Some commands (linearize, linearizeAll, random, generate, translate and
translategroup) by default produce output in all languages supported by the
grammar and the 'to' parameter could be used to restrict output to a single
language. Now you can restrict the output to a list of languages. Languages
should be separated by spaces.

Also removed an unnecessary LANGUAGE pragma and reduced code verbosity.
2013-03-13 15:25:28 +00:00
aarne 7d1040ffb9 pt -nub to remove duplicate trees from a list returned e.g. by a parser 2013-03-13 13:43:30 +00:00
hallgren e5ce4d4b1e partial evaluator: push predefined functions inside variants
This should prevent errors like

Internal error in Compute.ConcreteNew:
    Applying Predef.drop: Expected a value of type String, got VFV [VString "gewandt",VString "gewendet"]
2013-03-12 16:36:58 +00:00
aarne 78b3487cb7 command pt -subtrees that analyses a tree into the set of subtrees. Using pt -subtrees <bigtree> | l -treebank for debugging the lin of a big tree 2013-03-12 14:58:06 +00:00
kr.angelov ca3716857c bugfix in the statistical parser 2013-03-11 14:47:43 +00:00
hallgren d1c5fafc69 Additional changes for GHC 7.4 & 7.6 compatibility 2013-03-11 12:57:09 +00:00
Sergei Trofimovich 0173b5f4ff ghc-7.6: allow directory-1.2
Get rid of old-time depend (and ClockTime in favour of UTCTime).
time-compat helps to retain backward compatibility with directory-1.1
and lower.
2013-03-09 21:38:43 +00:00
Sergei Trofimovich 576b19aab5 ghc-7.6: fix src/server/PGFService.hs (use catch from base-4 Control.Exception) 2013-03-09 21:38:14 +00:00
Sergei Trofimovich 5b688b6359 ghc-7.6: add missing Num instance for Bits
Fixes the following build failure:
    src/runtime/haskell/Data/Binary/IEEE754.lhs:256:17:
        Could not deduce (Num a) arising from a use of `mask'
        from the context (Bits a)
          bound by the type signature for
                     clamp :: Bits a => BitCount -> a -> a
2013-03-09 21:19:53 +00:00
Sergei Trofimovich 523633a092 Setup.hs: switch to base-4 exceptions
Fixes build failure on ghc-7.6:
    $ runhaskell Setup.hs configure
    Setup.hs:394:14: Not in scope: `E.try'

base-4 is available/default since ghc-6.10.
2013-03-09 21:18:03 +00:00
inari.listenmaa 921951a5e2 Small corrections in Spa files
* WordsSpa: Married with state copula; Warm from "tibio" to "caliente"; corrected a typo in Romania
2013-03-08 12:33:21 +00:00
hallgren 8200145513 Fix a bug that could cause "Prelude.head: empty list"
In Data.Operations, the function topoTest2 assumed too much about the form of
the input, compared to the older function topoTest.
2013-02-28 17:46:13 +00:00
hallgren 95d77e3c37 pattern match length estimation code simplication 2013-02-28 15:13:20 +00:00
hallgren 0feb386691 Faster regular expression pattern matching in the grammar compiler.
The sequence operator (x+y) was implemented by splitting the string to be
matched at all positions and trying to match the parts against the two
subpatterns. To reduce the number of splits, we now estimate the minimum and
maximum length of the string that the subpatterns could match. For common
cases, where one of the subpatterns is a string of known length, like
in (x+"y") or (x + ("a"|"o"|"u"|"e")+"y"), only one split will be tried.
2013-02-27 20:59:43 +00:00
hallgren 95c4cbb8f5 GF grammar pretty printer improvements
Allow line breaks in more places to make large terms more readable.
2013-02-27 14:22:47 +00:00
kr.angelov 026c198974 added gu_buf_flush in seq.c which removes all elements from a buffer 2013-02-26 09:48:09 +00:00
john.j.camilleri 30db411075 GFEP: update readme 2013-02-22 15:33:52 +00:00
aarne 88d7adfa85 fixed details of Romance clitics for reflexives, imperatives, infinitives. A change in the type of VP.clit3 was needed. 2013-02-20 19:34:20 +00:00
kr.angelov 9cb0b580d3 the parser in the C runtime should not crash if the start category is not defined 2013-02-19 12:08:48 +00:00
kr.angelov 13de2fafb4 bugfix in the grammar reader in the C runtime 2013-02-19 12:04:10 +00:00
kr.angelov 9940fe392e bugfix in the linearizer for the C runtime 2013-02-13 15:39:01 +00:00
hallgren 4f243fbf12 Fix for a PGF portability problem
GF produced slightly different PGF files on 64-bit systems and 32-bit systems.
This could cause problems when a PGF was produced on a 32-bit system and used
on a 64-bit system.

To fix this, the GF compiler and the Haskell PGF run-time library now reads
and writes PGF files like the 32-bit version even when compiled on a 64-bit
system.

Note: the Haskell type Int is still used internally in GF, which could be
32 bits or 64 bits...
2013-02-13 14:28:06 +00:00
kr.angelov 4922ab6cc4 now the beam size for the statistical parser can be configured by using the flag beam_size in the top-level concrete module 2013-02-12 10:53:13 +00:00
kr.angelov a4c9d20fc3 the statistical parser now uses a baseline lexical estimation of the beam size 2013-02-12 09:41:32 +00:00
hallgren e5231eebbd translator: add some menu padding for touch devices 2013-02-11 16:46:43 +00:00
hallgren ae16e48d0d translator: small style change 2013-02-11 16:33:48 +00:00
hallgren 4ee6a83369 translator: remove debug code 2013-02-11 16:13:39 +00:00
hallgren 0a8ccfe912 translator: "Open..." doesn't discard the current document anymore
It shows available documents and a Cancel button on top of the current
document.
2013-02-11 16:03:17 +00:00
hallgren 234572b556 gf.cabal: version 3.4-darcs 2013-02-11 16:02:50 +00:00
kr.angelov 6a36ce77ff the class PgfConcr from the Python binding now has a property name which returns the name of the concrete syntax 2013-02-11 15:51:26 +00:00
kr.angelov d124fa9a12 refactoring: now all named objects in the C runtime have an explicit name field 2013-02-11 14:10:54 +00:00
kr.angelov 90c3304147 remove the pgf2yaml tool which was both broken and redundant. The declarations for generic programming from data.c are removed as well 2013-02-11 13:51:12 +00:00
kr.angelov 10ef298fa0 the grammar reader in the C runtime is completely rewritten and it doesn't use the generic programming API 2013-02-11 10:16:58 +00:00
hallgren 88d20ca612 GF home page style update 2013-02-07 13:11:09 +00:00
aarne f9a32dca3b pg -lexc now writes a list of multichar symbols and a title ("Root") for the lexicon, as required by Xerox lexc 2013-02-03 10:03:15 +00:00
kr.angelov 5e2474e346 This patch removes Gregoire's parse_tokens function in the python binding and adds another implementation which builds on the existing API for lexers in the C runtime. Now it is possible to write incremental Lexers in Python 2013-02-01 09:29:43 +00:00
kr.angelov c99ab058ea implement gu_exn_caught in gu/exn.c. It was missing 2013-02-01 09:26:30 +00:00
kr.angelov eda1058441 fix the Windows link 2013-01-31 15:06:42 +00:00
kr.angelov e2d0ab8c62 added a link to the Windows binary from the download page 2013-01-31 15:03:35 +00:00
hallgren 74c5bdbafc download page: add link to Fedora RPMs, mention GitHub 2013-01-31 13:03:37 +00:00
hallgren 1393f0519f GF 3.4 download page: add binary packages for Mac OS X and Ubuntu 2013-01-31 00:49:13 +00:00
hallgren c57fcca3d1 Update download page to GF 3.4 2013-01-30 23:34:50 +00:00
hallgren 38fbd142a0 This is GF 3.4! 2013-01-30 23:27:06 +00:00
hallgren 9c63cb9e2c debian/changelog: updated for GF 3.4 2013-01-30 17:20:46 +00:00
aarne 374441ad8c updated resource synopsis and the scripts creating it; added Swahili to main index list 2013-01-30 17:01:22 +00:00
aarne e20a62366f commented out some old history from index.html, and completed the list of languages 2013-01-30 16:54:51 +00:00
hallgren 6c7948fa24 download/index-3.4.t2t: download page for GF 3.4
Will be renamed to index.t2t when the release is official.
2013-01-30 16:44:16 +00:00
hallgren d149dd8a58 doc/gf-developers.t2t: updated 2013-01-30 16:32:44 +00:00
hallgren 3cd71e7c0d gf.cabal: Tested-with GHC==7.4.2 only, older versions cause minor problems 2013-01-30 15:57:35 +00:00
hallgren f0de776045 Setup.hs: eliminate "minimal" mode, fix darcs version info
The reported number of recorded changes since the last tagged version was off
by one (because it counted the change that set the tag).
Also added a note that -K32M is not needed when using new-comp. But -old-comp
is still available as a configuration option, so I'm keeping -K32M for now.
2013-01-30 15:48:36 +00:00
hallgren 3ebf878281 release-3.4.t2t updates
Don't include names of contributors, link to additional info instead.
2013-01-30 15:08:26 +00:00
hallgren 602cbc953c Add note about RGL Browser to 3.4 release notes
Also fixed a smalll typo
2013-01-29 20:51:42 +00:00
aarne c3430f3e24 more on RGL languages in release notes 2013-01-29 17:50:27 +00:00
aarne f2650007c7 updated the lists of notPresent languages 2013-01-29 16:53:15 +00:00
hallgren d4b6d1b6fe Better error message for unsupported token gluing
Instead of "Internal error in ...", you now get a proper error message with
a source location and a function name.
2013-01-29 16:25:03 +00:00
hallgren 14c8da214c Fix a bug with record extension
Add a conversion rule for ({ l1 = e } ** x).l2 in PMCFG generation. (A rule
for the symmetric case (x ** { l1 = e }).l2 was added some time ago.)
2013-01-29 14:59:16 +00:00
hallgren 211cd9bb25 Avoid crash in random generation with probabilities 2013-01-29 13:59:20 +00:00
kr.angelov 84fa796de4 bugfix in the reference counting for Python 2013-01-29 09:41:12 +00:00
kr.angelov 05cb74d14a the Python binding is in pure C again 2013-01-29 09:20:32 +00:00
kr.angelov b524c5d8b5 added an API for composing and decomposing abstract trees from Python 2013-01-29 09:07:41 +00:00
kr.angelov 8846648393 fixed typos in the python binding: in a few places pgf_ExprType was used instead of pgf_ExprIterType 2013-01-29 09:06:23 +00:00
aarne e1a92efd76 added Heb = Hebrew to the incomplete languages that can be compiled 2013-01-28 18:03:35 +00:00
hallgren a559e51608 Quick fix to render some parser error messages from UTF-8-encoded source files correctly.
The parser works on raw byte sequences read from source files. If parsing
succeeds the raw byte sequences are converted to proper Unicode characters 
in a later phase. But the parser calls the function buildAnyTree, which can 
fail and generate error messages containing source code fragments, which might
then containing raw byte sequences. To render these error messages correctly, 
they need to be converted in accordance with the coding flag in the source 
file. This is now done for UTF-8-encoded source files, but should ideally also
be done for other character encodings. (Latin-1-encoded files never suffered 
from this problem, since raw bytes are proper Unicode characters in this case.)
2013-01-28 17:23:02 +00:00
hallgren 713e883ad7 Better error message for Predef.error
+ Instead of "Internal error in ...", you now get a proper error message with
  a source location and a function name.
+ Also added some missing error value propagation in the partial evaluator.
+ Also some other minor cleanup and error handling fixes.
2013-01-28 16:12:56 +00:00
hallgren 3360cc904c Setup.hs: add some incomplete languages to the list compiled languages
To be specific: Amh, Ara, Lat, Tur and Mlt.
2013-01-28 16:07:44 +00:00
aarne 1eb45d955b improved error message for overloading in case the given signature looks the same as one of the expected ones: it shows full records rather than just lock fields. 2013-01-28 14:00:23 +00:00
aarne 899d03d05b some additions to new-gf-bib.bib 2013-01-28 08:42:00 +00:00
gregoire.detrez 0aae4702ed Python binding: add a parsing function that accepts directly a list of tokens.
Is allows to define a tokenizer in python (or use an existing one, from nltk for instance.)
2013-01-24 13:31:34 +00:00
aarne e7db50b9bd fixed the construction for English indirect questions of name in Phrasebook 2013-01-23 09:29:39 +00:00
john.j.camilleri 3d5d424fef Add fun/cat printnames to PGF web service
This is accessible vis the `browse` command, by adding the flag `printnames`
e.g.: .../Letter.pgf?command=browse&id=Recipient&format=json&printnames=1
2013-01-18 09:39:50 +00:00
hallgren 35aedadc83 gf -server: fix bug in bug fix for current directory 2013-01-13 12:36:58 +00:00
hallgren 68c04cdd63 gf -server: small logging improvements 2013-01-12 18:48:23 +00:00
hallgren b0228af26d gf -server: defend against problems with the current directory caused unhandled errors 2013-01-12 17:11:31 +00:00
hallgren 4f4c4e4107 GF 3.4 release notes update 2013-01-11 15:43:32 +00:00
john.j.camilleri b8e3fe7bc0 Syntax editor: initial support for string literals
Also a bug fix when switching to editor, although this still messes up
when using the letters grammar.
Also updated readme with options, and some style improvements.
2013-01-11 15:33:17 +00:00
john.j.camilleri be5a313372 Syntax editor: add tooltips to buttons 2013-01-11 12:45:24 +00:00
john.j.camilleri b5e8d06fba Syntax editor: remove beta label 2013-01-11 11:38:45 +00:00
hallgren a8f281491c partial evaluator: fix token glueing bug
"a"+("b"++"c") was simplified to "bb"++"c" instead of "ab"++c.
2013-01-11 15:14:42 +00:00
john.j.camilleri 28020fdf80 GFEP: update readme for 1.5.2 release 2013-01-11 10:18:13 +00:00
john.j.camilleri 625430fa9c GFEP: remove doc makefile, updated index.html 2013-01-10 16:19:27 +00:00
john.j.camilleri fb644d57b7 GFEP: remove doc images and include redirection file (.htaccess) 2013-01-10 10:41:01 +00:00
hallgren f2751ff9e1 Fixes for minibar offline
Tested it in Firefox 18 (which has the new Ionmonkey JavaScript engine).
Still get stack overflows.
2013-01-09 16:44:18 +00:00
hallgren 1497fd863a PGF service: new command: download
This makes it possible to download PGF files from servers where the PGF service
is installed.

I am also considering making commmand=download the default instead of
command=grammar.
2013-01-09 13:28:45 +00:00
kr.angelov 580e443a5e fix warnings in pgf-parse.c 2013-01-08 12:53:49 +00:00
peter.ljunglof f74155ef6a PGF installation instructions for Mac OSX 2013-01-08 10:23:25 +00:00
peter.ljunglof 49022f5849 Made meta probs an optional argument instead of hard-coded in pgf-translate 2013-01-08 10:20:46 +00:00
peter.ljunglof 599b51830f New PGF utility: pgf-parse 2013-01-08 10:19:53 +00:00
kr.angelov 9b78da5357 now the Python binding has an alternative representation for abstract trees which is composed of Python objects. The new representation is not integrated with the core runtime yet 2013-01-07 15:11:12 +00:00
kr.angelov 2c169406fc a new reasoner in the C runtime. It supports tabling which makes it decideable for propositional logic. dependent types and high-order types are not supported yet. The generation is still in decreasing probability order 2013-01-07 12:50:32 +00:00
kr.angelov cade578d04 bugfix in the strings library from the C runtime 2012-12-27 21:18:46 +00:00
Nikita Frolov 67380fa398 RG and Phrasebook fixes
- added a paradigm for alternative plurals
- fixed usage of alternative plurals in Numerals
- added a distinction between numerals and posessive pronouns
- verb omission and appropriate cases in some uses of to be/to have 
- fixed declination of personal names
- added a gender parameter to pronouns (similar to Polish RG)
- vowel insertion before short adjective suffix
- don't generate short forms for relative adjectives (might need lexicon update)
- minor Phrasebook fixes
2012-12-27 21:04:26 +00:00
aarne 4eef06e38e started GF FAQ; not yet publishable 2012-12-28 10:57:46 +00:00
hallgren 12dec2503d bug fix in the new partial evaluator
It can leave wildcard tables in their origial form, but it easy to handle
them in the unfactor function in GeneratePMCFG.
2012-12-20 16:41:43 +00:00
aarne 5ff33f47be added alltenses to the default search path (just like prelude) 2012-12-20 16:05:34 +00:00
hallgren d968503d90 PGFService.hs: code duplication reduction 2012-12-20 00:15:18 +00:00
hallgren ece3e33c52 partial evaluator bug fix
It failed to delay table selection when the selector contains a run-time
variable, causing "gf: Prelude.(!!): index too large" instead.

Also:
  + Show better source locations on unexpected errors, to aid bug hunting.
  + Removed unused SourceGrammar argument to value2term.
2012-12-19 23:12:37 +00:00
hallgren b4207d1b00 GF.Grammar.Lookup: new function lookupResDefLoc
It's like lookupResDef but it includes a source location in the output.
2012-12-19 23:08:56 +00:00
kr.angelov 75696808a7 bugfix: the linearizer should not generate extra space at the end of the sentence 2012-12-19 11:18:34 +00:00
kr.angelov 87360ccc34 bugfix for linearization of metavariables at the root of a tree 2012-12-19 10:03:05 +00:00
kr.angelov a28ccc965c rename linearize.{h/c} to linearizer.{h/c} which follows the convention used in parser.c and reasoner.c 2012-12-19 09:17:24 +00:00
kr.angelov 490a3f2286 a major reimplementation of the linearizer in the C runtime 2012-12-19 09:07:05 +00:00
kr.angelov ff49d21d13 fixed accidental bug in pgf-parse.c 2012-12-18 15:42:04 +00:00
hallgren c3beefba47 partial evaluator bug fix
Int was missing from the list of predefined canonical constants.
2012-12-18 13:03:20 +00:00
kr.angelov 403420be2b the C runtime now can read abstract expressions with literals and meta variables 2012-12-18 12:29:30 +00:00
normundsg cf0d94c1b0 Some fixes to the Russian Phrasebook 2012-12-17 09:57:13 +00:00
kr.angelov d12c604f9a debugging infrastructure in the reasoner 2012-12-14 21:25:00 +00:00
kr.angelov 16a2c38f38 bugfix for the reasoner in the C runtime 2012-12-14 21:24:17 +00:00
kr.angelov 8ec7ecacca a bit more flexible API for parsing in Python 2012-12-14 16:00:52 +00:00
kr.angelov 20aaa4a989 The first prototype for exhaustive generation in the C runtime. The trees are always listed in decreasing probability order. There is also an API for generation from Python 2012-12-14 15:32:49 +00:00
hallgren 9ab3a6034d Add language extension for ghc<7.4
FlexibleInstances does not imply TypeSynonymInstances, apparently.
2012-12-14 14:21:46 +00:00
hallgren d7e3c869c2 More work on the new partial evaluator
The work done by the partial evaluator is now divied in two stages:
 - A static "term traversal" stage that happens only once per term and uses
   only statically known information. In particular, the values of lambda bound
   variables are unknown during this stage. Some tables are transformed to
   reduce the cost of pattern matching.
 - A dynamic "function application" stage, where function bodies can be
   evaluated repeatedly with different arguments, without the term traversal
   overhead and without recomputing statically known information.

Also the treatment of predefined functions has been reworked to take advantage
of the staging and better handle partial applications.
2012-12-14 14:00:21 +00:00
kr.angelov f7a5eb0df1 bugfix in the lexer from the C runtime. the input sentence doesn't have to terminate with whitespace 2012-12-13 16:45:44 +00:00
kr.angelov 0f0b7158c9 added simple error handling in the Python test 2012-12-13 16:44:39 +00:00
kr.angelov 75c544027b added a simple test for the Python binding 2012-12-13 16:19:56 +00:00
kr.angelov 836b953b9d an initial API for parsing and linearization from Python 2012-12-13 15:39:07 +00:00
kr.angelov 14e721dda9 a top-level API for parsing in the C runtime 2012-12-13 14:44:33 +00:00
kr.angelov 68249a11d2 bugfix: the outside probability of a PgfItemConts must always be initialized to zero 2012-12-13 11:11:45 +00:00
kr.angelov 2dc8236170 bugfix: pgf_read_expr no longer requires a semicolon at the end of an abstract expression 2012-12-13 11:09:26 +00:00
kr.angelov 0891ef3f0f an initial Python binding to the C runtime 2012-12-12 11:29:39 +00:00
kr.angelov aa13090b66 started an official API to the C runtime 2012-12-12 11:25:58 +00:00
hallgren 5e091d2e3d partial evaluator work
* Evaluate operators once, not every time they are looked up
* Remember the list of parameter values instead of recomputing it from the
  pattern type every time a table selection is made.
* Quick fix for partial application of some predefined functions.
2012-12-11 15:37:41 +00:00
john.j.camilleri 2623925e67 Syntax editor: unwrap feature 2012-12-11 15:09:16 +00:00
john.j.camilleri 6ef74e13d6 Syntax editor: link to about page 2012-12-11 09:48:44 +00:00
john.j.camilleri ba3a497e41 Syntax editor: add about.html (and a Makefile for generating it) 2012-12-11 09:42:57 +00:00
kr.angelov 5779887f96 bugfix for robust parsing with multi-word units 2012-12-11 12:57:22 +00:00
hallgren 93da60fa04 GF home page: link to the Resource Grammar Library coverage map by Tommi Nieminen 2012-12-10 15:17:55 +00:00
hallgren 621291a575 Compute.ConcreteNew: add missing case for variant functions
Also adding a test case in the test suite for this.
2012-12-10 13:25:32 +00:00
aarne 45a2629ee5 added functions to Ron and Chi needed for YAQL 2012-12-09 19:01:19 +00:00
aarne 768bec4073 superlative agreement and position in PhrasebookFre 2012-12-07 15:37:37 +00:00
john.j.camilleri 953b6b573a Syntax editor: change startcat when wrapping top node 2012-12-07 15:32:31 +00:00
aarne c4931fccaf fixed external case for countries in PhrasebookFin 2012-12-07 15:25:27 +00:00
hallgren 46b634f256 update debian/changelog 2012-12-07 14:22:14 +00:00
hallgren db7063ebcc Make -new-comp the default and bump the version number to 3.3.11-darcs
* -new-comp (the new partial evaluator) is now chosen by default when you run
  cabal install (or cabal configure). To revert to using the old partial
  evaluator by default, use "cabal install -f-new-comp" (or
  "cabal configure -f-new-comp").

* Regardless of the configured default, you can choose which partial evaluator
  to use when you invoke gf by using the -new-comp or -old-comp command line
  option.

* The cc command in the GF shell uses the chosen partial evaluator by default,
  but you can override this by using "cc -new" or "cc -old".

The plan is that these flags will be romeved in a future version.
2012-12-07 14:01:42 +00:00
john.j.camilleri 904e8029fe Syntax editor: various small improvements...
- separate tree edit buttons from option buttons
- fix bug when wrapping on freshly imported ast
- add interface for import & export of ast
- cleaner internal implementation of Editor.add_refinement
- small style updates
2012-12-07 12:55:17 +00:00
hallgren 81f843ac06 Compute.ConcreteNew: bug fix for indirectly defined pattern macros
More changes are probably needed to make pattern macros first class values.
Also includes minor changes related to variants and error messages.
2012-12-06 16:44:03 +00:00
john.j.camilleri 32f085a4b5 Syntax editor: wrap now handles multiple possible positions for subtree 2012-12-04 15:45:41 +00:00
aarne f5e4385fdd MiniresourceChi added as a cloud demo grammars 2012-11-27 13:27:07 +00:00
john.j.camilleri 314052f8d3 Syntax editor: add wrap feature 2012-12-03 14:02:47 +00:00
kr.angelov e174f37940 added experimental script for chunking in the C runtime 2012-12-03 10:07:54 +00:00
kr.angelov 6e3321d712 added INSTALL file and updated README file for the C runtime 2012-12-03 09:09:08 +00:00
aarne 03c3c57290 produce error message instead of failure of irrefutable pattern Ok ty_C in GrammarToPGF, to help find compilation errors; the ones I've found are because an inherited abstract excludes something that the inherited concrete does not exclude. 2012-12-02 19:40:45 +00:00
john.j.camilleri 0ac61fefba Syntax editor: internal optimizations by pre-computing certain stuff 2012-11-30 15:08:46 +00:00
john.j.camilleri 58c3e3db85 Syntax editor: in-place replacement of functions
When at a non-leaf node, refinements with identical type signatures
are highlighting and can re placed without destroying the children.
If not, the refinement is greyed and the user is asked to clear
the current subtree first if they wish to replace it.
This aspect of the UI should be polished, but at least it is obvious.
Also, some substantial optimizations can still be made to cache
the processed type signatures (which determine what can be replaced
in-place)
2012-11-30 10:56:42 +00:00
hallgren 3c900ee6a3 minibar: add a button to get detailed grammar info
After pressing the "i" button to view grammar info, there is now a
"More info" button to get more detailed information about all categories and
functions in the grammar.
2012-11-29 19:15:30 +00:00
hallgren 8c22a380f7 minibar: add tool tips to some of the buttons
Also move the functions title and attr from editor/editor.js to js/support.js.
Also mention recent changes in minibar/about.html.
2012-11-29 16:05:42 +00:00
john.j.camilleri 8cefec807a Syntax editor: internal improvements. re-introduce initialize_from function 2012-11-29 15:40:18 +00:00
john.j.camilleri c3f82bf10f Syntax editor/minibar integration fix 2012-11-29 15:18:02 +00:00
hallgren 351661f427 Convert some documentation to UTF-8
Using

	%!encoding:utf-8

in txt2tags files ensures that the generated HTML includes an appropriate
charset declaration. This way we avoid relying on browser defaults, which can
be wrong.
2012-11-27 16:03:29 +00:00
hallgren 78216222f1 some documentation updates and fixes
doc/Makefile: add a rule to regenerate gf-help-full.txt
gf-help-full.txt: updated (new parse tree visualization options)
demo & cloud index: clarifications
minibar documentation: better layout on mobile devices
GF 3.4 release notes: reorganized & updated
2012-11-27 14:11:47 +00:00
john.j.camilleri 59b9676fd1 Syntax editor; add new helper for parsing type signatures (not complete) 2012-11-27 12:00:41 +00:00
john.j.camilleri e9e29aab67 Syntax editor: add options for GM in editor_online.js 2012-11-27 11:21:28 +00:00
john.j.camilleri 45179a580a Syntax editor: avoid server calls for each refinement by using cached data 2012-11-27 11:19:12 +00:00
john.j.camilleri b3c1177f9e Syntax editor: improvements and fixes with grammar manager 2012-11-27 10:09:40 +00:00
hallgren def375e588 gfse: add Prelude to the list of RGL modules that can be opened 2012-11-26 15:08:16 +00:00
hallgren 818faee27e gfse: more readable layout for not so simple grammars + bug fix
To make definitions that span multiple lines more readable in guided mode,
preserve line breaks and indentation when lin and oper definitions are
displayed and edited in guided mode.

Bug fix: moving the cursor by clicking and selecting text by dragging did
not work in textareas and input fields, because those mouse event were
intercepted by the sort-by-drag-and-drop handler.
2012-11-26 14:11:12 +00:00
hallgren 18c8ff3579 gf -server + gfse: show modification time of public grammars 2012-11-23 23:21:17 +00:00
hallgren bdaf7a8772 gf -server: support overloaded opers in gfse 2012-11-23 19:59:39 +00:00
hallgren e0e8f89484 gfse: use POST requests when parsing grammar modules after editing as text
instead of GET, to avoid the Apache httpd URI length limitation.

This means that gfse can no longer use JSONP when parsing grammars, so it
has to be located on the same host as the cloud service.

Also clean away trailing white space in support.js.
2012-11-23 18:51:44 +00:00
hallgren 53858fbc81 Fix a prededence bug in GF grammar pretty printer
The pretty printer produced

	mkDet pre {"a"; "an" / vowel} Sg

which is not accepted by the parser. The parser assigns pre { ... }, to
prededence level 4, and this is now reflected in the pretty printer, so
it prints

	mkDet (pre {"a"; "an" / vowel}) Sg

(This caused a problem in GFSE since it parsers pretty printed grammars...)
2012-11-23 18:44:08 +00:00
aarne 4432d7c36c miniresource with one module per language for a web IDE demo 2012-11-23 15:57:00 +00:00
john.j.camilleri 22aeb04704 minibar_online.js: updated to launch Editor using a GrammarManager object 2012-11-23 15:07:51 +00:00
john.j.camilleri d9867893f8 Syntax editor: now uses common GrammarManager object 2012-11-23 15:03:36 +00:00
hallgren 9e430184ba syntax editor + minibar: fix bug with repeated switching back and forth
By avoiding "this" in callback functions, the code can be kept cleaner.
2012-11-23 13:15:16 +00:00
john.j.camilleri ee2f0a7487 Syntax editor: return to editor after having switched to minibar 2012-11-23 08:25:00 +00:00
john.j.camilleri 4e00ddea08 Minibar: call abstract_action with 'this' bound to minibar object 2012-11-23 08:21:00 +00:00
john.j.camilleri c94e34d4e4 Minibar: add show/hide functions 2012-11-23 08:08:13 +00:00
hallgren 24bf1f0d0e minibar: can now switch back to the minibar after switching to the syntax editor
This is done by including a lin_action when starting the syntax editor from
the minibar.
Also: added some minibar options in the syntax editor for consistency...
2012-11-22 16:42:39 +00:00
hallgren db544b1cc9 PGFService.hs: fix type error caused by change to PGF.graphvizParseTree
Note that some of the graphviz functions have backwards incompatible changes
that might also affect other clients of the PGF run-time library.

Also added graphvizDefaults and export it together with GraphvizOptions from 
the PGF run-time library.
2012-11-22 15:27:16 +00:00
john.j.camilleri bac6b7fe64 Syntax editor: can now load minibar (in-place) from a linearised tree 2012-11-22 12:45:20 +00:00
peter.ljunglof 486a510611 better visualization of parse trees 2012-11-22 08:50:37 +00:00
peter.ljunglof eebae7591c Added C compilation notes for Mac OSX 2012-11-22 08:50:49 +00:00
hallgren 7bcf05e3e7 minibar: fix bug introduced in previous update
It could case JavaScript error

	ReferenceError: initial_grammar is not defined
2012-11-21 19:01:52 +00:00
hallgren e7b14316dd minibar+syntax editor integration, work in progress 2
+ Transfer current astract syntax tree when activating the syntax editor
  from the minibar.
+ Add options to start the minibar with given input. You need to include
  the current grammar url, the current language and the input, like this:

    initial_grammar: "/grammars/Foods.pgf",
    initial: { from: "FoodsEng", input:["that","fish","is","fresh"]}

+ Fix a style sheet clash.
2012-11-21 17:13:21 +00:00
john.j.camilleri 381dc3900c Syntax editor: start with initial AST
Note that the argument has been renamed to initial.abstr
(Where abstr means an abstract syntax tree in string form, NOT an AST object)
2012-11-21 15:24:44 +00:00
hallgren 8bd58a0297 minibar+syntax editor integration, work in progress 2012-11-21 15:07:59 +00:00
john.j.camilleri 051b7b0d21 Syntax editor: start with initial grammar, startcat, to: languages 2012-11-21 11:22:35 +00:00
john.j.camilleri 0f59b25d8a support.js: elem() returns false when as is undefined 2012-11-21 11:13:46 +00:00
hallgren 29d8b182ab gfse: remove obsolete files 2012-11-20 15:31:31 +00:00
hallgren 2ee6211fe1 GF cloud: move gf-web-api-examples.html out of minibar directory 2012-11-20 15:18:05 +00:00
john.j.camilleri 3f88302035 Update gf.cabal to copy new common js files 2012-11-20 14:04:09 +00:00
john.j.camilleri 09c4f8410e Syntax editor: update to use common js files 2012-11-20 13:56:56 +00:00
hallgren 3eaeaed8fd GF cloud: move support.js and pgf_online.js
Created the folder js and moved minibar/support.js and minibar/pgf_online.js
there, to emphasize their status as app independent support libraries.

There are probably more files that should be moved here.

The cloud apps have been updated, externally hosted apps that link directly
to our server need to be updated too.
2012-11-20 12:56:48 +00:00
john.j.camilleri 27beb9a3f8 Syntax editor: random generation of trees (and subtrees!) 2012-11-20 09:36:50 +00:00
kr.angelov 5e3b23325e remove the duplicated definition of PgfProductionIdx in parser.c 2012-11-19 14:16:31 +00:00
john.j.camilleri bbd81b5d65 Fix date of 2013 summer school on home page (it said 2011) 2012-11-19 10:58:09 +00:00
aarne 61276878f6 index: news on summer school and Chinese 2012-11-19 09:58:26 +00:00
hallgren 889d7db76d GF web service API examples: update examples of the browse command
Also some style tweaks.
2012-11-17 17:42:30 +00:00
hallgren ca5b066588 PGF service: command=browse&format=json returns info on all cats and funs
The browse command used to have a required parameter id=... and it returned
info on the given identifier only. Now, if format=json, the id=... parameter
can be omitted to get info on all identifiers at the same time. The returned
JSON structure in this case is

        {cats:{...},funs:{...}}

where the inner objects contain one field per category and function,
respectively, in the same format as when you request info on one category or
function.
2012-11-17 14:22:30 +00:00
hallgren 73c78c8840 GF web service API examples: added the "abstrjson" command
It converts an abstract syntax tree (represented as a string) to a JSON
structure.
Also some HTML code cleanup.
2012-11-17 11:55:32 +00:00
john.j.camilleri 3e5dac8ed4 Syntax editor: work on importing AST as string (eg for generate random)
But it's still not complete. Need an efficient way of getting the cat info to accompany funs.
2012-11-16 14:35:37 +00:00
kr.angelov 954d7a7ff5 bugfix for the building of bottom-up filter in the C runtime 2012-11-16 13:27:15 +00:00
hallgren 7d616c01b4 new-comp: rewrite f (x|y) into (f x|f y)
With this change, all languages in molto/mgl/mixture except German and Polish
can be compiled.
2012-11-16 13:47:10 +00:00
john.j.camilleri 67ca0a1eae Syntax editor: select subset of available languages
Also added a basic readme file with a list of todo's
2012-11-16 09:33:55 +00:00
hallgren 225cebf121 Updated summer school links
You can now use the following links to refer to GF Summer School web pages:

- Latest summer school: http://school.grammaticalframework.org/
- 2009 summer school: http://school.grammaticalframework.org/2009
- 2011 summer school: http://school.grammaticalframework.org/2011
- 2013 summer school: http://school.grammaticalframework.org/2013

This is accomplished with DNS and web server configuration. No files have
been moved, so this does not break any existing links (except that
http://school.grammaticalframework.org/ now refers to the latest summer school
instead of the 2011 summer school).
2012-11-15 21:05:10 +00:00
hallgren 9a49825d55 download/release-3.4.t2t: starting to prepare for the next release of GF
Feel free to add to the release notes.
The file can be renamed if the next release will not be called GF 3.4.
2012-11-15 19:33:42 +00:00
john.j.camilleri f815b2850b Syntax editor: jump to next hole in tree 2012-11-15 15:38:17 +00:00
john.j.camilleri dc0f333fec Syntax editor: fix bug in Firefox, Seamonkey 2012-11-15 12:40:14 +00:00
hallgren 2cc39661d9 Add flag --document-root for user with gf --server
This can make it easier to test cloud service updates before installing them.
2012-11-14 13:52:45 +00:00
hallgren 595a69ba0c GF usage message fixes
Change the command name from gfc to gf in the usage message header.
Correct spelling of "overide" to "override" in -gf-lib-path description.
2012-11-14 13:49:10 +00:00
kr.angelov 5c52eaf0b7 revised heuristic in the statistical parser 2012-11-14 12:34:22 +00:00
john.j.camilleri 5c8c1f768f Add first demo of new syntax editor
As part of the GF cloud stuff, it can be accessed from
http://cloud.grammaticalframework.org/syntax-editor/editor.html
2012-11-13 15:14:49 +00:00
hallgren 27e675910a Adding a new experimental partial evalutator
GF.Compile.Compute.ConcreteNew + two new modules contain a new
partial evaluator intended to solve some performance problems with the old
partial evalutator in GF.Compile.Compute.ConcreteLazy. It has been around for
a while, but is now complete enough to compile the RGL and the Phrasebook.

The old partial evaluator is still used by default. The new one can be activated
in two ways:

  - by using the command line option -new-comp when invoking GF.
  - by using cabal configure -fnew-comp to make -new-comp the default. In this
    case you can also use the command line option -old-comp to revert to the old
    partial evaluator.

In the GF shell, the cc command uses the old evaluator regardless of -new-comp
for now, but you can use "cc -new ..." to invoke the new evaluator.

With -new-comp, computations happen in GF.Compile.GeneratePMCFG instead of
GF.Compile.Optimize. This is implemented by testing the flag optNewComp in
both modules, to omit calls to the old partial evaluator from GF.Compile.Optimize
and add calls to the new partial evaluator in GF.Compile.GeneratePMCFG.
This also means that -new-comp effectively implies -noexpand.

In GF.Compile.CheckGrammar, there is a check that restricted inheritance is used
correctly. However, when -noexpand is used, this check causes unexpected errors,
so it has been converted to generate warnings, for now.

-new-comp no longer enables the new type checker in
GF.Compile.Typeckeck.ConcreteNew.

The GF version number has been bumped to 3.3.10-darcs
2012-11-13 14:09:15 +00:00
kr.angelov 468464faca bugfix in the statistical parser 2012-11-13 09:48:23 +00:00
kr.angelov d1044b202a two simple heuristics which speed up the statistical parser more than seven times. 2012-11-12 22:17:40 +00:00
kr.angelov 182e366f5d a simple refactoring in the statistical parser 2012-11-12 21:48:22 +00:00
kr.angelov 7ad4436502 more counters in the profiler for the statistical parser 2012-11-12 15:36:21 +00:00
kr.angelov 9b2487243e now we store the state instead of the offset for every continuation in the chart for the statistical parser 2012-11-12 14:04:52 +00:00
kr.angelov c28056c4e5 in the statistical parser: move the outside probability from the parse items to their continuation. this makes the value slot shared between many items 2012-11-12 13:43:43 +00:00
kr.angelov 56f3ff8202 small refactoring in the C runtime 2012-11-12 13:05:35 +00:00
kr.angelov cce22a7f7a use size_t consistently as the type for constituent indices in the C runtime 2012-11-12 12:51:27 +00:00
kr.angelov 6784a4c76e implemented gu_map_count in runtime/c/gu/map.c 2012-11-12 12:42:19 +00:00
hallgren 63093c32f3 Eliminate warnings about deprecated use of catch and try
This is also needed for compatibility with GHC 7.6.
2012-11-08 15:53:46 +00:00
hallgren 1c0429c322 GF.Grammar.PatternMatch: relax overly restrictive type signatures 2012-11-07 17:23:08 +00:00
hallgren 8e6c81fe5a Some changed/new utility functions
GF.Data.Utilities:  Rename mapFst to apFst, mapSnd to apSnd.
		    Add apBoth, mapFst, mapSnd, mapBoth.
GF.Data.Operations: Remove onSnd (same as apSnd)
2012-11-07 15:31:45 +00:00
hallgren 1dbf575a71 gf -server: make it possible to pass arbitrary flags/options to gf when compiling grammars
For example, you can add -optimize-pgf:

  http://localhost:41296/cloud?dir=...&command=remake&-optimize-pgf=&Foods2Eng.gf=&Foods2Swe.gf=
2012-11-06 15:29:38 +00:00
virk.shafqat cfcf7cbc7f unicode4k-changed 2012-11-05 16:44:31 +00:00
normundsg 17c6b26728 PhrasebookLav: synchronised with the latest changes in the resource grammar 2012-11-01 02:36:29 +00:00
hallgren 680d536279 TransQuiz: use the grammars from the same server
Unlike the other web apps in the cloud, the translation quiz was configured
to use the grammars at http://www.grammaticalframework.org/grammars.
2012-10-30 14:36:55 +00:00
john.j.camilleri 8a718d6945 Small update to summer school 2013 page 2012-10-30 13:41:20 +00:00
john.j.camilleri 372dc0b566 Add initial page for 2013 summer school 2012-10-30 13:32:42 +00:00
kr.angelov c679b08b38 use prob_t instead of float in a few places 2012-10-29 08:52:56 +00:00
john.j.camilleri 377ce1732d Minibar: cursor over editable words is now a "hand"
This had been bugging me for ages!
2012-10-26 15:00:19 +00:00
hallgren 672584c048 GF home page: avoid line breaks in dates in the news section 2012-10-26 14:05:27 +00:00
hallgren 140f237736 gf.cabal: version of parallel needs to be >=3 2012-10-26 09:25:45 +00:00
john.j.camilleri 97f6e4b409 Added my name to authors list 2012-10-26 08:47:00 +00:00
kr.angelov 118333eee8 forgot to add one #ifdef 2012-10-25 18:37:22 +00:00
hallgren b2965730f1 GF.Grammar.Macros: add function collectPattOp
collectPattOp :: (Patt -> [a]) -> Patt -> [a]
2012-10-25 16:12:21 +00:00
kr.angelov d185938952 a major refactoring in the robust parser: bottom-up filtering and garbage collection for the chart 2012-10-25 14:42:53 +00:00
hallgren 619c341ee9 GF.Grammar.Macros: add function composPattOp
For Patt, analogous to composOp for Term.
2012-10-24 22:40:18 +00:00
hallgren 9f8c0f86f1 Compute.ConcreteNew: support variants
Also add a missing check for Predef values in apply.
2012-10-24 17:49:20 +00:00
hallgren 6fcd435cd9 GeneratePMCFG: prefix messages about "impossible" errors with 'Internal error:'
Just to make them easier to spot when wading through thousands of lines of
warnings...
2012-10-24 17:08:52 +00:00
hallgren 61647b1dac Link to the GF Developers Guide from the download page 2012-10-24 15:08:20 +00:00
hallgren f7cb80008b gf-cloud-api.html: document the new command=remake
Also improve the documentation of the responses to the upload and make
commands.
2012-10-23 21:16:31 +00:00
hallgren b810b5000c gf -server: introduce command=remake for recompiling previously uploaded grammars
Also remove some old commented out code.
2012-10-23 20:23:01 +00:00
hallgren f273c643b5 fracas: code to generate HTML treebank 2012-10-23 12:55:32 +00:00
hallgren bb93e18ec1 cleanup
Simplify the implementation of writeUTF8File and use it in one more place.
Remove unused imports left over after a previous change.
2012-10-23 11:48:23 +00:00
hallgren 0bf9627d79 Add Chinese to the list of installed RGL languages and support it in the web apps
Aarne says the Chinese resource grammar is complete, but not yet completely
correct.
2012-10-22 10:16:10 +00:00
hallgren be75546965 Refactor compileSourceModule
There was 55 lines of rather repetitive code with calls to 6 compiler passes.
They have been replaced with 19 lines that call the 6 compiler passes
plus 26 lines of helper functions.
2012-10-19 20:14:11 +00:00
hallgren 1195db1da3 Consistenly use SourceGrammar instead of [SourceModule] when calling compiler passes 2012-10-19 19:56:00 +00:00
hallgren 921b37834c Phrasebook: make clean 2012-10-19 14:08:09 +00:00
inari.listenmaa db81099c4f fixes to previous 2012-10-19 11:52:54 +00:00
inari.listenmaa 2c2c83f11c spanish_catalan_corrections 2012-10-19 11:45:45 +00:00
hallgren 584b6ba86d Use NOINLINE for build info and darcs version info
... to avoid unnecessary recompilation of other modules.
2012-10-18 20:01:22 +00:00
hallgren 9a022a141e gfse: grammars can now contain one-line descriptions
Also fixed two small problems with public grammars.
2012-10-18 12:48:39 +00:00
peter.ljunglof 36dd5502aa added autogenerated files for the FraCaS treebank 2012-10-17 08:49:34 +00:00
hallgren 7ca6426807 gfse: small fix 2012-10-16 23:06:37 +00:00
hallgren d01e790d95 gfse: identify inherited grammars by their unique id
This helps avoiding problems if an inherited grammar is renamed, or if there
is more than one grammar with the same name.
2012-10-16 22:10:49 +00:00
hallgren 4c0c7a994b GF.Command.Command: turn CommandOutput into a newtype
The output from commands is represented as ([Expr],String), where the [Expr] is
used when data is piped between commands and the String is used for the final
output. The String can represent the same list of trees as the [Expr] and/or
contain diagnostic information.

Sometimes the data that is piped between commands is not a list of trees, but
e.g. a string or a list of strings. In those cases, functions like fromStrings
and toStrings are used to encode the data as a [Expr].

This patch introduces a newtype for CommandOutput and collects the functions
dealing with command output in one place to make it clearer what is going on.
It also makes it easier to change to a more direct representation of piped
data, and make pipes more "type safe", if desired.
2012-10-16 13:01:03 +00:00
aarne e2817244a2 some fixes to make Phrasebook compilable more easily 2012-10-15 09:02:39 +00:00
hallgren a3aa54a746 demo page: adding a link to the question answering demo from the ICFP 2012 GF tutorial 2012-10-12 15:33:38 +00:00
kr.angelov 93e3356d02 add teyjus/simulator/builtins/builtins.h 2012-10-11 11:10:17 +00:00
kr.angelov b22075e15a added the forgoten libteyjus.pc.in file in the C runtime 2012-10-11 04:22:38 +00:00
hallgren be84d37c41 gfse: adding a section about public grammars in about.html 2012-10-09 14:54:50 +00:00
hallgren 4c0b6f29f2 gfse: show the grammar list if the currently selected grammar can not be loaded
Avoid showing a blank page if there is an unexpected problem with the grammars
in localStorage.
2012-10-09 13:44:34 +00:00
hallgren f53ab8b353 gf -server: /parse command now supports input with character codes > 255
This enables the use of arbitrary Unicode character in text mode in GFSE.
2012-10-09 13:14:18 +00:00
Normunds Gruzitis c4faf2dddd PhrasebookLav: few more improvements
- Alternative variants in AScared.
- The order of adv. modifiers: first time, then place (PSeeYouPlaceDate).
- Fixed: the object valence in QWhatAge; Day.point linearization.
- PSeeYouPlaceDate is now less formal.
- Open/Closed and SeeYou functions are ok now, except that the word order in Open/Closed is a bit clumsy. TODO: "<what> <when> is open/closed" (currently not supported by the RG).
2012-10-08 07:30:16 +00:00
Normunds Gruzitis 5835c8ad58 PhrasebookLav: fixed four more functions and introduced few typical alternatives (paraphrases)
Fixed QWhatName, QWhatAge, HowMuchCost and ItCost, however, the solutions have to be reviewed.
Introduced a Lav-specific type for Language (affected also NPNationality etc.) to support a different realization of ASpeak.
Introduced alternative realizations for AHasName and ASpeak (the most typical/simple variant is the default one).
2012-10-06 21:16:46 +00:00
hallgren b5bf276e9c Factor out code for setting the console encoding
Moved similar low-level code blocks in Main and GFI for setting the console
encoding to the new module GF.System.Console.
2012-10-05 12:54:49 +00:00
hallgren 2d371b7681 simple translator: make it usable on iOS devices
To make the popup menus accessible, use a simple trick to activate the
simulate-hovering-by-tapping behaviour.
2012-10-04 22:29:42 +00:00
hallgren 2afa20f197 simple translator: bug fix
"Edit/Add a segment..." stopped working at some point.
(Importing text still worked.)
2012-10-04 18:02:31 +00:00
hallgren 1eef49ac93 gfse: various code improvements and prelimiary support for public grammars 2012-10-04 15:21:30 +00:00
hallgren ec9dc23f46 gfse: fix a bug caused by sharing when copying a linearization function in the row view
Functional programming is easier than imperative programming!
2012-10-03 13:54:35 +00:00
hallgren 3582ae6e08 gfse: some refactoring 2012-10-03 13:22:50 +00:00
hallgren a1d2d11057 gfse: row view: add a button to copy a linearization
When adding a new function, you can enter a linearization for one language
and then copy it to the other languages with one button click.
2012-10-03 12:37:47 +00:00
hallgren a47d2da448 gfse and cloud service documentation update 2012-10-02 17:32:52 +00:00
hallgren 92acb3691b index.html: better news formatting 2012-10-02 14:19:33 +00:00
hallgren 38f899350a index.html: change to and explicitly declare that the character encoding is UTF-8
...to avoid complaints from HTML validators and potential problems in browsers
with different default character encodings.
2012-10-02 13:57:10 +00:00
hallgren 63e589372e gfse: you can now add new functions from the matrix view 2012-10-02 13:50:35 +00:00
hallgren 357b8b33ba gfse: more intuitive buttons for switching between the column, matrix & row views 2012-10-02 13:09:56 +00:00
hallgren 24f362ec00 gfse: adding a "row" view
Accessed by clicking on a function in the Abstract column in the matrix view.
2012-10-01 21:08:09 +00:00
hallgren a782207841 gfse: matrix view improvements
+ You can click on a column header to switch to column view (i.e. the
  corresponding abstract/concrete syntax tab).
+ The categories and functions in the abstract syntax can be edited directly
  in the matrix view.
2012-10-01 16:29:59 +00:00
hallgren 0790af56a8 demo page: update the links to Mathbar and GFSE to point to the latest version 2012-10-01 11:22:29 +00:00
kr.angelov 6e3503bb7b move examples/PennTreebank to /treebanks/PennTreebank 2012-10-01 08:52:54 +00:00
kr.angelov de679b400a typechecking and better error reporting in the training script for PennTreebank 2012-10-01 08:45:46 +00:00
kr.angelov 6daeecb6d9 added the GF version of Talbanken which was imported by Malin 2012-10-01 08:33:43 +00:00
hallgren 00490c07dd gfse: small linearization type display adjustment 2012-09-30 19:53:57 +00:00
hallgren 5f3e3e8fa2 gfse: display "??" instead of "null" in linearization types when lincats are missing 2012-09-30 19:47:30 +00:00
hallgren 996f79f875 gfse: show the types of linearization functions when hovering over their names 2012-09-30 19:33:25 +00:00
hallgren ca58233bf7 PGF service & minibar: put a limit on the number of parse trees
+ In the PGF web service API, the commands parse, translate and translategroup
  now accept a limit parameter. It limits the number of parse trees returned.
  If no limit is given, the behaviour is backwards compatible, i.e. no limit
  is applied.
+ In minibar, the limit is now set to 25 by default.

This change is based on a suggestion by Kaarel Kaljurand.
2012-09-30 15:35:25 +00:00
hallgren 94e6ee62ec Make two more page more mobile friendly 2012-09-28 20:55:30 +00:00
hallgren ac6c8971fc Make the GF web site more mobile friendly
Most of the pages on the GF web site have an exemplary simple design,
with just one column of text. This make them adapt exceptionally
well to screens of different sizes. In particular, they should be
easy to read even on smartphones.

However, smartphone browsers like Mobile Safari and the default
Android Browser assume that pages do *not* adapt well to small
screens, so by default they emulate a big screen, forcing the user
to zoom in to a part of the page to be able to read it. By adding
the meta tag

  <meta name = "viewport" content = "width = device-width">

the big screen emulation can be turned off, allowing pages to be
formatted to fit the actual screen size and text to be displayed
at a readable size.
2012-09-28 20:26:13 +00:00
hallgren 999d02eb30 gfse & cloud improvements
+ Added "Symbolic" to the list of resource modules that can be opened.
+ Clicking on the name of an opened resource module now displays the list
  operations it provides. (Implemented using show_operations in the GF shell.)
+ Added a GF version info link to the cloud service start page.
2012-09-28 14:27:18 +00:00
hallgren 86d17827ee GF shell, show_operations: nicer looking types for linearization functions
Adding a lock field to the result type of linearization functions.
TODO: figure out how to add a lock field to the argument types too.
2012-09-28 12:38:26 +00:00
hallgren 8154e480dd GF shell, show_operations: also show the types of linearization functions
This is a simple change in GF.Grammar.Lookup.allOpers, which is used only in
the implementation of the show_operations command in the shell.

This is useful when importing a concrete syntax (like LexiconEng) as a resource.
However, the types don't always look as nice as I hoped...
2012-09-27 15:55:20 +00:00
hallgren 7e8bab04c5 Setup.hs: add Maltese to the list of known RGL languages, but don't compile it by default 2012-09-27 14:28:59 +00:00
hallgren 5e71c365d1 SIO bug fix
Line breaks were missing when capturing stdout. (putStrLn acted like putStr.)
2012-09-26 18:13:47 +00:00
hallgren 1b359acbf2 phrasbook/Compile.hs: make it work with ghc>=7.2 2012-09-26 15:37:37 +00:00
hallgren 63214d2bf6 gf -server: add a GF version info request
GF version info can now be obtained from http://localhost:41926/version
Also removed some unused imports.
2012-09-26 15:23:29 +00:00
hallgren 82c9354e0d Setup.hs: Persian does not support mkPresent 2012-09-26 15:21:34 +00:00
hallgren 81895ad067 Add Persian to the list of installed RGL langauges 2012-09-26 13:04:18 +00:00
hallgren 43d5016996 Use the SIO monad in the GF shell
+ The restrictions on arbitrary IO when GF is running in restricted mode is now
  enforced in the types.
+ This hopefully also solves an intermittent problem when accessing the GF
  shell through the web API provided by gf -server. This was visible in the
  Simple Translation Tool and probably caused by some low-level bug in the
  GHC IO libraries.
2012-09-25 19:08:33 +00:00
hallgren 1adc0ed9f7 GF.Infra.SIO.hs: adding the SIO monad (where S = Shell or Safe)
The SIO monad is a restriction of the IO monad with two purposes:

+ Access to arbitrary IO operations can be turned off by setting the environment
  variable GF_RESTRICTED. There is a limited set of IO operations that are
  considered safe and always allowed.

+ It allows output to stdout to be captured. This can be used in gf -server
  mode, where output of GF shell commands is made part of HTTP responses
  returned to clients.
2012-09-25 18:38:13 +00:00
hallgren 69de623c17 GF.Command.Commands: allCommands is now a constant
The dependency on PGFEnv has been moved from the list to the exec function of
the commands in the list. This means that the help command no longer needs
to generate a new list of commands and that the state of the shell
(type GF.Command.Interpreter.CommandEnv) no longer needs to contain the list
of commands.
2012-09-25 11:42:32 +00:00
kr.angelov bf49f3c246 now the meta probability for a category is explicitly specified in the statistical model instead of computed internally. this avoids rounding errors while computing the sum of a large number of small values. 2012-09-24 09:37:21 +00:00
kr.angelov 8b28b89ffc in the robust parser we don't have to care about trees which yeld empty strings. this makes the parser a lot faster 2012-09-24 09:30:20 +00:00
aarne 0345bb5d7a refactoring German VP 2012-09-23 07:46:43 +00:00
hallgren 2f500e521d GFServer.hs: code improvements
Use a monad in the request handler to make the code a bit more modular and
readable.
2012-09-22 22:10:10 +00:00
hallgren a9476634a4 gf -server: also restrict the paths of uploaded files 2012-09-21 14:53:11 +00:00
hallgren d7890b628f gfse: added a new "matrix view" of grammars 2012-09-21 10:45:10 +00:00
hallgren b3f6d3612b simple translator: make it possible to delete documents 2012-09-21 09:07:31 +00:00
hallgren db39fdaa68 gf -server: improved security checks
+ More restrictive limits on which file paths can be downloaded and removed.
+ Add more extensions to the list of file types that may be removed. In
  particular, allow documents created by simple translation tool to be removed.
2012-09-21 09:00:48 +00:00
hallgren 6d24f74393 simple translator: bug fix
A bug in the line break change prevented text import from working.
2012-09-20 07:49:13 +00:00
aarne c71c5b2140 link to ICFP slides, part 1 2012-09-18 13:44:36 +00:00
kr.angelov fe3b5c1360 the Haskell runtime now exports 'functionsByCat' which returns the list of all functions for a given category 2012-09-18 09:48:21 +00:00
kr.angelov a307ed6c75 the C runtime now has a type prob_t which is used only for probability values 2012-09-18 09:18:48 +00:00
kr.angelov 91ca7c9a1b catch all case in GenerateBC.genFun 2012-09-18 08:32:21 +00:00
aarne ab173e4adc negative patterns in gfmorpho 2012-09-14 08:56:09 +00:00
hallgren decefce6bc simple translator: accept DOS, Mac and Unix line breaks when importing text 2012-09-17 15:58:40 +00:00
hallgren fa3c87fb64 minibar-api.html: documentation fixes 2012-09-17 15:52:57 +00:00
Normunds Gruzitis 900067b109 PhrasebookLav: the word order generated by "action" functions (ALike, ALive etc.) is now natural 2012-09-17 13:45:22 +00:00
hallgren 597a3d7573 doc/icfp-2012: adding a link to my slides 2012-09-14 21:18:36 +00:00
aarne e4948050f5 make Lang for languages that have complete morphology when running make in lib/src 2012-09-13 07:20:57 +00:00
aarne 560bc7d38e example with computer terminology from the Wikipedia 2012-09-12 14:04:39 +00:00
aarne acb3fa961e First version of a web server for morphological paradigms. 2012-09-12 12:52:03 +00:00
hallgren 38db61e34f doc/gf-developers: a few more small fixes 2012-09-11 19:08:50 +00:00
hallgren 8323e78b99 doc/gf-developers: fixed a typo 2012-09-11 18:43:40 +00:00
hallgren 8f85daa94a simple translator: export GlobalSight Download Files
TODO: consider using a better way to save to a local file
2012-09-11 14:30:09 +00:00
hallgren 0cc0a03ac9 simple translator: more work on GlobalSight support
Disable editing source segments in GlobalSight documents
2012-09-11 13:23:05 +00:00
hallgren 1874e932e3 simple translator: more work on GlobalSight support
+ Retain metadata from GlobalSight Download Files.
+ Disable adding&removing segments when editing a GlobalSight documents.
2012-09-10 21:16:58 +00:00
hallgren ae528954a0 minibar: fix links to Wikipedia article on JSONP
Wikipedia moved it.
2012-09-09 23:06:26 +00:00
hallgren c7fd975c77 simple translator: support for importing GlobalSight Download Files
TODO: support for export translations in the same format.
2012-09-09 21:17:31 +00:00
kr.angelov a34e9482e7 The training script for the PennTreebank is updated to compute more statistics 2012-09-07 08:18:11 +00:00
kr.angelov 86b5ec7447 bugfix in the C parser 2012-09-06 14:52:19 +00:00
hallgren 997734c8ba Add type info to "Warning: ignoring lock fields in resolving..." 2012-09-06 13:15:48 +00:00
hallgren ffd59fc226 simple translator: make it work even if Apertium is unavailable
Since Apertium is unavaiable at the moment, I can't check that things
still work properly when Aprtium *is* availalbe.
2012-08-30 13:09:22 +00:00
kr.angelov 545e48e881 another fix for teyjus 2012-08-30 08:09:30 +00:00
kr.angelov 3f0b8c55ec the loading of PGF files was broken by the Teyjus patch. Now this is fixed 2012-08-30 07:41:49 +00:00
peter.ljunglof b416f5bbf7 Use nub' instead of nub in some places, remove some unused nub imports 2012-08-29 21:48:34 +00:00
peter.ljunglof a7de16c34b Added an O(n log n) version of nub
The new nub is called nub', and it replaces the old sortNub which was 
not lazy and did not retain the order between the elements.
2012-08-29 21:45:10 +00:00
peter.ljunglof e2ecdfed1f Emacs only recognizes utf-8, not UTF-8, in file headers 2012-08-29 21:40:49 +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
aarne 27196778ac added Lav in compilation; commented out extensions of Words that are only available for a fraction of languages; fixed a couple of type errors in WordsLav, to be checked 2012-08-28 11:29:54 +00:00
hallgren 7862bfb15b minibar documentation URL typo fix 2012-08-27 15:00:37 +00:00
hallgren dfcd61de00 minibar documentation updates 2012-08-27 14:56:10 +00:00
aarne a15e907e80 typo in extmini 2012-08-24 12:31:32 +00:00
aarne 2b77d3e0b0 extended mini resource grammar in examples, with Eng, Ita, Cmn (Mandarin Chinese by Jolene) 2012-08-24 06:30:10 +00:00
Normunds Gruzitis 57b260508c Improvements to PhrasebookLav
AHasAge, AHasChildren, AHasRoom, AHasTable, ALike - "almost" done: phrases (cases) are grammatically correct, but the word order has to be changed (TODO in the resource grammar).
2012-08-23 13:12:08 +00:00
hallgren 098ddc129e Add 'make deb' to Makefile, for creating Debian packages
Also updated the debian/* files.
It should now be easy to create Debian packages under Ubuntu 11.10 & 12.04.
See also the notes in the Makefile.
2012-08-22 17:25:10 +00:00
Normunds Gruzitis 59c97c72b0 First (public) version of PhrasebookLav
Tested on Actions:
- Temp: AHasName, ALike.
- ToDo: AHasAge, AHasChildren, AHasRoom, AHasTable.
- FixMe (in the resource grammar):
+ YouPolMale/YouPolFemale agreement (AHungry, AIll, AMarried, AReady, AScared, AThirsty, ATired);
+ Missing commas in multiple ObjAndObj constructions (AWant);
+ Use (the currently missing) Irreg_Give (AWantGo).
2012-08-18 05:07:10 +00:00
hallgren 06c9e4999f Updated the GF Developers Guide
+ The instructions have been modernized and simplified slightly and should now
  work again. (I have not verified it on Windows.)
  Using 'cabal' instead of 'runghc Setup.hs' avoids some problems.
+ Also, download/index.html has simpler installation instructions sufficient
  for many users, so mention it in the main README file.
+ Also adjusted the main Makefile.
2012-08-06 16:14:47 +00:00
kr.angelov 3601b796e5 fix some warnings in teyjus 2012-08-03 12:30:01 +00:00
hallgren 7f6c248bf1 translator: keep cloud docs and local docs apart
+ show a cloud icon next to the document name if it is stored in the cloud
+ in addition to the name of the current document, remember if it is stored in
  the cloud, so that the right document is loaded next time you open the
  translator.
2012-08-02 12:54:15 +00:00
hallgren 2e968a01fa gfse: matching colors in cloud download/upload icons 2012-08-02 12:12:59 +00:00
hallgren 700982076c GFServer.hs: binary files can now be uploaded to the cloud
Karel wants to upload PGF files.
2012-08-01 18:10:00 +00:00
hallgren 89026eb963 gf-cloud-api.html: markup fix 2012-08-01 15:39:30 +00:00
kr.angelov 9fc7cac46f the first draft of GF.Compile.Instructions 2012-08-01 09:21:59 +00:00
kr.angelov 83b321d862 An initial import of the teyjus source code in the C runtime for GF. The two runtime are still not connected but the source code compiles. 2012-07-31 15:16:04 +00:00
hallgren 314662dd09 translator: code cleanup and bug fixes 2012-07-27 15:06:02 +00:00
hallgren 50c1635e34 translator: remove debug logging 2012-07-25 14:31:39 +00:00
hallgren 5c03e5f963 translator: per segment translation method selection 2012-07-25 14:27:27 +00:00
john.j.camilleri 9e3b89a2a8 GFEP: updated readme 2012-07-10 12:16:28 +00:00
john.j.camilleri 62b295aaee GFEP: added images for ontology grammar plugin 2012-07-10 12:15:28 +00:00
peter.ljunglof 94e2999ac5 Minor changes in Python export 2012-07-02 21:11:20 +00:00
aarne a99eaa74ec github news, new languages in the list on index 2012-06-29 09:57:36 +00:00
peter.ljunglof a162488b05 Fixed minor bug in prolog export 2012-06-28 07:01:29 +00:00
peter.ljunglof 7fb35be6e3 major changes to the prolog export 2012-06-27 23:29:05 +00:00
peter.ljunglof 97df099d07 cleanup in the python export 2012-06-27 23:27:01 +00:00
hallgren 241bef8a51 Experiment with parallel grammar checks
Introduced the function

	parallelCheck :: [Check a] -> Check [a]

that runs independent checks in parallel, potentially allowing faster grammar
compilation on multi-core computers, if you run gf with +RTS -N.

However, on my dual core laptop, this seems to slow down compilation somewhat
even though CPU utilization goes up as high as 170% at times.
(This is with GF compiled with GHC 7.0.4.)
2012-06-26 17:01:15 +00:00
hallgren 82a5c574b6 GF.Infra.CheckM: comment out unused Context argument 2012-06-26 15:08:18 +00:00
hallgren b094274c0e Report many type errors instead of stopping after the first one
In GF.Compile.CheckGrammar, use a new topological sorting function that
groups independent judgements, allowing them all to be checked before
continuing or reporting errors.
2012-06-26 14:46:18 +00:00
hallgren a38efe70c6 Fix for warning messages from checkMapRecover
Reimplemented it with the new function accumulateError.

Also keeping the formatting of errors and warnings unchanged for now, to avoid
potentially causing problems in the GF Eclipse Plugin.
2012-06-25 15:55:59 +00:00
aarne bc8ce3f7ca removed spurious empty warnings 2012-06-25 14:47:09 +00:00
hallgren 382f472731 GF.Compile.Rename: report many errors instead of stopping after the first one
Using accumulated errors in the Check monad.

TODO: some errors are still not accumulated, but thanks to checkMapRecover
at least one error per judgement is reported.
2012-06-25 14:15:02 +00:00
hallgren 0a09f3e0b2 Check monad: support for accumulated errors
In addition to warnings, the Check monad in GF.Infra.CheckM can now accumulate
errors. There are two new functions

	checkAccumError: Message -> Check ()
	accumulateError :: (a -> Check a) -> a -> Check a

The former (with the same type as checkWarn) is used to report an accumulated
(nonfatal) error. The latter converts fatal errors into accumulated errors.

Accumulated errors are reported as regular errors by runCheck.

Also, the Check monad type has been made abstract.
2012-06-25 14:01:58 +00:00
peter.ljunglof deec2d4ecf Export PGF in Python format 2012-06-25 14:16:24 +00:00
aarne 98a967a173 warnings shown in checkMapRecover 2012-06-25 11:49:50 +00:00
aarne d15e0f775d checkMapRecover: find undefined idents in all jments in Rename 2012-06-25 11:14:52 +00:00
aarne 3dc2e55949 printing ResValue judgements as comments, to provide useful information when a conflict is found between parameter constructors 2012-06-25 09:24:04 +00:00
ramona.enache 43065d2ccf cleaned up the patents query grammar 2012-06-25 10:34:55 +00:00
aarne 4a778acdad overload problem in Phrasebook fixed 2012-06-22 09:02:13 +00:00
hallgren 650abc4aff translator: parallel text view layout adjustments
And some other small code changes.
2012-06-21 23:06:07 +00:00
hallgren cd2601bd84 translator: bug fix for copy/paste import 2012-06-21 23:03:12 +00:00
hallgren b12e6ec1e4 gfse/sort.js: make it more resusable
Move the gfse-specific list of sortable tags and class names from sort.js
to editor.js.
2012-06-21 15:39:31 +00:00
ramona.enache ffa1e7731d added French grammar for patent queries 2012-06-21 14:21:18 +00:00
hallgren 6e2c7623fd translator: insert and delete segments
You can now insert new segments anywhere, now just at the end.
You can now delete any segment, not just the last one.
2012-06-21 14:14:36 +00:00
ramona.enache 5a8c8de789 added patents queries in new_patentsQuery 2012-06-21 11:17:34 +00:00
ramona.enache 7af649f278 fixed and completed the patent query grammr for English 2012-06-21 10:45:05 +00:00
aarne 92a106339f QueryFre instances, don't compile yet because of type discrepancies 2012-06-21 06:22:47 +00:00
aarne f8e74c50e2 factored Query by taking our Proton parts and introducing an interface 2012-06-21 06:06:05 +00:00
aarne 18c08fdac1 removed gfo files from query dir 2012-06-21 06:05:27 +00:00
hallgren aa1cd0e490 gf-people.html: updated some broken links
www.cs.chalmers.se -> www.cse.chalmers.se
2012-06-20 20:40:26 +00:00
ramona.enache f819b20ab2 added first draft of patents query grammar 2012-06-20 14:33:55 +00:00
hallgren 2df13efeea GF home page: link to PGF library API documentation 2012-06-20 12:04:04 +00:00
hallgren 9d9c453a45 translator: style adjustments 2012-06-19 14:45:50 +00:00
hallgren b84f6cc3fc translator: expanatory text for local file import 2012-06-19 14:09:24 +00:00
hallgren 9bee6a9050 translator: import text from local files
It works in Chrome, Firefox and Opera, but not Safari.
(The browser must support the File, FileList and FileReader APIs.)
2012-06-19 13:59:19 +00:00
hallgren 3d5efdd2d2 GF cloud api doc fixes 2012-06-18 15:18:02 +00:00
hallgren 71da012626 cloud service: add preliminary cloud service API documentation 2012-06-18 13:08:32 +00:00
hallgren c3a5840ef9 transaltor: reduce code duplication 2012-06-18 13:08:15 +00:00
hallgren b76d1ecdcd Add file name to error message when reading a bad .gfo file (in some cases)
This turns error messages like 

	gf: too few bytes. Failed reading at byte position 1

	gf: /some/path/somefile.gfo: too few bytes. Failed reading at byte position 1

but a better fix would be to ignore bad .gfo files and compile from source.
The problem is the way this decision is made in
GF.Compile.ReadFiles.selectFormat...
2012-06-15 10:15:16 +00:00
hallgren ce21f9bd08 translator: added support for the Apertium translation service
Also added feedback to source & target language menus to indicate which
languages are supported by the selected translation method. For Apertium, the
source language menu shows all possible source languages, and the target menu
shows the possible target languages for the chosen source language.
2012-06-13 21:34:59 +00:00
john.j.camilleri 8538f34ac8 GFEP: updated readme 2012-06-13 11:22:15 +00:00
kr.angelov 3ad5493758 Use a separated tag for meta productions in the robust parser. This cleans up the code a lot 2012-06-13 05:49:30 +00:00
hallgren cc58e2d05f translator: documents can now be saved in the cloud
some other small fixes
2012-06-12 15:36:41 +00:00
hallgren 3af1dbde67 gfse & translator: change language code for Japanese to Jpn 2012-06-12 13:07:54 +00:00
hallgren f5afb024ef gf-help-full.txt: updated with new command option 'ma -known' 2012-06-12 11:34:47 +00:00
kr.angelov c9c5675e1d now there is a limit of 2000000 items in the chart of the robust parser. This prevents from explosion in the memory size but it will also prevent us from parsing some sentences. 2012-06-12 11:30:01 +00:00
john.j.camilleri 90306fa926 GFEP: updated readme 2012-06-12 11:27:23 +00:00
john.j.camilleri f5a4514ac6 GFEP: updated readme 2012-06-12 11:04:59 +00:00
kr.angelov 808c52744f improved script for training from PennTreebank 2012-06-12 10:05:17 +00:00
kr.angelov b27a440ef3 now the robust parser is purely top-down and the meta rules compete on a fair basis with the grammar rules 2012-06-12 09:29:51 +00:00
aarne d989005e01 tried to change Jap to Jpn everywhere 2012-06-11 20:08:14 +00:00
hallgren 09f5c2c82b minibar-api.html: small documentation improvements 2012-06-11 16:00:03 +00:00
hallgren 5db5c8a203 GF home page: link to GF clouds service (cloud.grammaticalframework.org)
Also some small cloud service documentation updates.
2012-06-11 15:34:16 +00:00
hallgren a026b93ecb translator: source segments can now be edited 2012-06-11 14:10:26 +00:00
john.j.camilleri 28e11999e2 GFEP: updated readme 2012-06-11 08:32:16 +00:00
john.j.camilleri 8a7fac37f0 GFEP: updated readme 2012-06-11 08:29:52 +00:00
john.j.camilleri a563bf3f20 GFEP: updated readme 2012-06-11 08:29:12 +00:00
john.j.camilleri b478596093 GFEP: updated readme 2012-06-11 08:15:35 +00:00
aarne 191ecc71b8 command option ma -known to drop unknown words 2012-06-10 10:43:57 +00:00
gregoire.detrez 12b2a0d665 Small Setup.hs bug fix
Setup.hs failed to generate DarcsVersion_gf if dist/build/autogen does not exists.g
Added a line to create the directory if absent.
2012-06-09 12:49:01 +00:00
hallgren 302b9f1b13 More detailed version info in the output of "gf -version" 2012-06-08 11:17:46 +00:00
hallgren e9abd71899 translator.css: restore lost width of input field 2012-06-08 11:16:21 +00:00
john.j.camilleri e778619f80 GFEP: updated readme and removed examples folder 2012-06-01 14:21:26 +00:00
john.j.camilleri a86085d8ac GFEP: updated readme 2012-06-01 12:45:39 +00:00
john.j.camilleri 36a5b14cfa GFEP: Updated readme 2012-06-01 12:43:44 +00:00
hallgren 22e1a5b9f7 Setup.hs: fix two problems with querying darcs 2012-05-30 16:15:59 +00:00
hallgren 13cda24924 More detailed version info in the startup message
The Setup.hs script now queries darcs to create more detailed version info
to include in the startup message.

Note thought that with distributed version control systems like darcs,
the only way to uniquely identify a version is by the set of patches included.
Since the patches are not totally ordered, just looking at the last patch is
not enough.

For official releases, we tag the current set of patches so we can refer to
it by name (e.g. RELEASE-3.3.3).
2012-05-30 15:45:45 +00:00
hallgren 7196bc8669 translator: segment imported text based on punctuation 2012-05-29 14:47:59 +00:00
hallgren 9e34a7f7fa translator: better support for ambiguous translations
The translator picks "the first" translation by default, but the user can
choose among the generated translations from a popup menu.
2012-05-28 16:42:02 +00:00
hallgren b19ae37d9c GFServer.hs: apply UTF8 encoding when saving uploaded files
This fixes a bug introduced on May 16.
2012-05-28 11:21:30 +00:00
hallgren 943652a3d2 translator: adding "Parallel texts" view
This is in addition to the existing "Segment by Segment" view.
Also some minor documentation updates.
2012-05-27 19:19:54 +00:00
hallgren 1215f2b951 gf -server: remove debug output 2012-05-27 11:52:15 +00:00
hallgren 9e32e9fde7 translator: you can now import text by copying and pasting 2012-05-25 16:48:03 +00:00
kr.angelov 06f9965d27 the viterbi probability for the epsilon categories is now updated properly 2012-05-25 07:30:35 +00:00
kr.angelov ea5fe32d89 fixed an alignment bug in libgu which leads to crash on some platforms 2012-05-25 07:29:29 +00:00
kr.angelov 92488a6592 fixed memory leak in the pgf-translate tool 2012-05-25 07:28:18 +00:00
kr.angelov 5312ef23c6 added pgf-service.c in the robust parser' 2012-05-25 07:27:29 +00:00
hallgren 215ec25a41 translator: use a more robust test for localStorage support and show a warning if it is missing 2012-05-23 14:39:05 +00:00
kr.angelov f4c17cb7aa another attempt to port the robust parser to MacOS 2012-05-16 15:18:44 +00:00
hallgren 6f328c9040 translator: fix typo 2012-05-16 14:56:32 +00:00
hallgren 7c8a744ad1 translator: update About page 2012-05-16 14:54:16 +00:00
hallgren 5bd17709bf translator: use GF's text lexer/unlexer to obtain more natural looking text
Note though that the unlexer does the wrong thing with initial words that are
supposed to be capitalized, e.g. "I am ready.", "Spanish wine is good.", so
these sentenses are not translated at the moment.
2012-05-16 14:42:26 +00:00
hallgren 114788a3db GFServer.hs: apply UTF8 decoding to all server input 2012-05-16 14:03:09 +00:00
hallgren 5ac7bfc326 translator: file browser shows files alphabetically now 2012-05-16 13:25:18 +00:00
kr.angelov d2e528c7f4 small fix for compiling the robust parser on MacOS 2012-05-16 12:18:50 +00:00
hallgren adffb5f872 translator: bug fix
My menu hiding hack didn't work in Gecko browsers because of a difference in
the behaviour of the JavaScript setTimeout function.
2012-05-16 11:53:27 +00:00
hallgren 66e6b5269d Adding a Simple Translation Tool
It is part of the cloud services available with gf -server.
2012-05-15 15:36:06 +00:00
hallgren e90e1202c4 Integrate Japanese
* Update Setup.hs to build Japanese by default.
* News item about Japanese on the home page.
* Add Japanese to the supported RGL imports in the grammar editor (gfse).
2012-05-15 13:11:32 +00:00
hallgren 74cd9c4979 Quick updates to doc/gf-developers.t2t 2012-05-15 12:51:58 +00:00
aarne a2bae03824 missing case in partial evaluation of + fixed 2012-05-15 11:48:30 +00:00
aarne dcbb31cae2 Emil Djupfeldt's correction to PhrasebookGer 2012-05-08 12:10:36 +00:00
kr.angelov a6800fc0da a new unbiased statistical parser. it is still far from perfect use it on your own risk. 2012-05-08 12:13:28 +00:00
kr.angelov 931066f6fc yet another fix for parsing literals 2012-04-18 15:50:55 +00:00
kr.angelov 17bc8e5c89 some fixes in the robust parser and a new API for literals 2012-04-12 06:55:25 +00:00
hallgren 26ffcdbde8 Demos: add a note that the WebAlt Math translator is out of order 2012-05-04 12:52:05 +00:00
hallgren 841e54e3dc alex 3 incompatibility workaround
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
2012-05-04 12:39:07 +00:00
hallgren 3022c7d08e minibar_offline: fix the link to the regular minibar 2012-04-30 14:03:58 +00:00
hallgren c10bd79e26 minibar_offline: Update the API exported by pgf_offline.js to be compatible with pgf_online.js
This makes the minibar offline demo work again.
2012-04-30 13:53:55 +00:00
hallgren c6c9b994d2 minibar: word-for-word replacements: use concrete syntax for replacement words when possible
Instead of showing the name of a function in the abstract syntax, linearize it
and show the result. For functions with argument, e.g. That : Kind -> Item,
the function is applied to the right number of placeholder arguments: 'That ?'.
If the linearization fails, the name of the function is shown anyway.
2012-04-27 14:00:01 +00:00
hallgren c69f69ee9c minibar&gfse: grammar extension user interface improvements
The grammar extension is now done with a regular HTML form, so you can use the
TAB key to move between the fields and press ENTER to submit the extension when
you are done.
TODO: more immediate error feedback
2012-04-24 17:13:33 +00:00
hallgren 9d47b83e07 minibar & cloud service: minor style changes
Also include the GF logo on the cloud service start page.
2012-04-19 15:34:56 +00:00
hallgren 98ed039498 Minibar documentation update
Document recent additions in minibar/about.html.
2012-04-19 12:36:03 +00:00
john.j.camilleri 78c1af2ad9 GFEP: updated readme for 1.5.0 2012-04-19 09:44:42 +00:00
hallgren ff812613c8 minibar: add buttons to use generated translations as input
This functionality was available in the origial Fridge Poetry app, but has been
missing in minibar until now.
2012-04-18 16:26:49 +00:00
hallgren 6dc12cfed9 download page: fixed a typo 2012-04-14 11:50:11 +00:00
hallgren 13ce1911da download page: added a note that Xcode 3.2.3 or later is needed on Mac OS X
The Haskell Platform page for Mac states that Xcode 3.2 or later is ok, but
there seems to be a problem with Xcode 3.2.2.

Also added some other small clarifications.
2012-04-14 10:03:27 +00:00
hallgren baadce4acd minibar: fix to prevent the typed input field from losing focus when turning word-for-word replacment on or off 2012-04-11 14:03:39 +00:00
hallgren 68e2c0c0eb minibar: internal state type change
The current intput is now represented as an array of words instead of as a
string.
(This is the kind of change is scary to do in a dynamically type language
like JavaScript. In a statically typed language like Haskell you can do it
with confidence, since you know the compiler can help you catch all mistakes...)
2012-04-10 18:00:13 +00:00
hallgren 89b415ac37 minibar_input.js: internal state simplification
Get rid of list of previous states, which was only used to delete the last
word.
2012-04-10 16:49:51 +00:00
hallgren 500daf3bd4 minibar/pgf_online.js: pass arguments to the browse function in the same way as the other functions
Also document it in gf-web-api-examples.html.
2012-04-10 13:33:12 +00:00
hallgren 8b6817754b minibar&gfse: grammar extension user interface fixes
It works OK now, but it could be better, e.g. the number of mouse clicks
required to enter an extension could to be reduced...
2012-04-05 15:25:10 +00:00
hallgren 43c28ad276 minibar&gfse: first working grammar extension interface in minibar
There are still some user interface wrinkles to iron out.
2012-04-04 17:00:25 +00:00
john.j.camilleri 01a0f1d3e6 GFEP: updated readme 2012-04-04 10:19:11 +00:00
john.j.camilleri 57e927df91 GFEP: updated readme 2012-04-04 08:00:56 +00:00
hallgren a4a154e5e2 minibar: remember current input
If you leave the minibar and later return, the previous input will be
restored. One input string per grammar is rememebered, so you can also switch
back and forth between grammars without losing the input.
This is implemented using localStorage, i.e. the data is stored locally on
the user's device.
2012-04-03 14:53:23 +00:00
kr.angelov 6644d93ec2 simple cleanup in the robust parser 2012-04-02 19:01:18 +00:00
hallgren 7ee66302d1 minibar: better implementation of word replacement
Instead of trying to reconstruct the abstract tree from the bracketed string,
use the node numbers (the field called "fid") to identify which node in the
abstact syntax tree a word in the bracketed string corresponds to.
2012-04-02 16:05:11 +00:00
hallgren c2a72daa74 gf-server.cabal: mtl is needed to build pgf-server now 2012-04-02 15:58:21 +00:00
hallgren 1c1679227e PGFService.hs: add web API function "abstrjson"
Abstract syntax trees are represented as strings in the web API. To make them
easier to manipulate in JavaScript, the new function converts them to JSON.

To support structural editing, the nodes are numbered in the same way as in
the bracketed string created when linearizing an abstract syntax tree.

Example: "Pred (That Fish) Fresh" is converted to

	{fun:"Pred",fid:3,
	 children:[{fun:"That",fid:1,
		    children:[{fun:"Fish",fid:0}]},
		   {fun:"Fresh",fid:2}]}
2012-04-02 15:42:43 +00:00
hallgren 1db4fab25c support.js: add an implementation of Array.isArray for older browsers that lack it 2012-04-01 18:23:28 +00:00
hallgren 07b2e41c2c gf.cabal: removing -O2
Removing "ghc-options: -O2" from gf.cabal has the following advantages:

+ Compiling GF is faster (time drops from 182s to 142s on my laptop)
+ Compiling the RGL is faster (time drops from 159s to 155s on my laptop)
+ Without the hardwired optimization level, the 'cabal configure' options
  --enable-optimization=<n> and --disable-optimization work as expected
  (so if you still want -O2, use --enable-optimization=2)
+ GF can be compiled with ghc-7.2.2 and ghc-7.4.1 (-O2 triggers a bug in
  these versions of ghc, it seems. Another workaround, discovered by
  Sergei Trofimovich, is to use -O0 in Data.Binary.)
2012-03-30 15:07:12 +00:00
hallgren e85a3fff56 gfse&minibar: work in progress on grammar extension fromminibar 2012-03-29 17:10:36 +00:00
hallgren a519d01754 gfse: show an informative error message in browsers that lack support for localStorage 2012-03-29 14:11:38 +00:00
john.j.camilleri 0f04d88903 GFEP: page is now valid HTML and uses the gf.org stylesheet 2012-03-28 12:52:12 +00:00
hallgren 47c116b5a6 Workaround for bug in ghc-7.2.2
An apparent bug in ghc-7.2.2 causes the type Value to be exported from PGF.Data.
Workaround: restrict the imports from PGF.Data in GF.Command.Abstract and
GF.Compile.GeneratePMCFG to avoid the clash with locally defined type Value.
(ghc-7.0.4 and ghc-7.4.1 appear to be free from this bug.)
2012-03-26 23:56:56 +00:00
Sergei Trofimovich c015ac77bd compiler/GF/Text/Coding.hs: fix build failure against ghc-7.2 2012-03-26 20:48:57 +00:00
Sergei Trofimovich 24740d250b Fix List.foldl / Map.foldl ambiguosity
Fixes the following error:
src/runtime/haskell/PGF/Expr.hs:111:14:
    Ambiguous occurrence `foldl'
    It could refer to either `List.foldl',
                             imported from `Data.List' at src/runtime/haskell/PGF/Expr.hs:27:1-24
                             (and originally defined in `GHC.List')
                          or `Map.foldl',
                             imported from `Data.Map' at src/runtime/haskell/PGF/Expr.hs:28:1-40
2012-03-26 20:18:23 +00:00
hallgren a8ddb8fe5c minibar: support for adding grammars from several servers to the grammar menu
You can also add grammars from several directories on the same server of course.
The included minibar configuration file adds the user's own grammars from the
grammar editor.
2012-03-26 17:17:54 +00:00
hallgren 9a6887aa49 gfse: enable word replacement in minibar when activated from the editor 2012-03-26 17:13:40 +00:00
hallgren 671c9b5390 gfse&minibar: fix bug caused by function name clash
+ Function div_id was defined in both editor.js and support.js. Solution:
  moved the more general version from editor.js to support.js.
+ Function div_class was defined in both editor.js and support.js. Solution:
  resolv incompatibility with an argument type test and put the generalized
  function in support.js.
2012-03-26 17:08:29 +00:00
hallgren 14e7125958 gf-book: apply GF style sheet
Also brought index.txt and index.html back in sync. (It looks like someone
updated index.html instead of updating index.txt and regenerating index.html.)
2012-03-26 15:02:15 +00:00
hallgren ddf1ae4626 doc/icfp-2012.t2t: link back to ICFP 2012 web site 2012-03-23 13:27:08 +00:00
hallgren 9f6293d314 GF home page: News: GF Tutorial at ICFP 2012 2012-03-23 13:20:58 +00:00
hallgren 4673aeca7b minibar: word-for-word replacement fixes
Check that the reconstructed abstract syntax tree is type correct before
enabling word-for-word replacement. Show an error message if word replacement
nevertheless fails.
2012-03-22 14:33:42 +00:00
hallgren f8ea4b8046 pgf_online.js: error callbacks
To enable customized error handling, the methods in the pgf_online objects and
the AJAX server call functions in support.js accept an error callback function
as an extra argument, in addition to the callback (continuation) for normal
results.
2012-03-22 14:09:53 +00:00
john.j.camilleri 604b1634b4 GFEP: updated readme 2012-03-22 08:51:37 +00:00
john.j.camilleri cc611843a2 GFEP: updated readme 2012-03-21 10:00:24 +00:00
hallgren 38162e0f53 ICFP 2012 tutorial page: use the GF stylesheet for a consistent look 2012-03-20 14:04:57 +00:00
hallgren 0d57b9fa09 minibar: word-for-word replacement fix
Turn off the highlighting that indicates that word-for-word replacement is
enabled when it is no longer available (e.g if a word is deleted and there no
longer is a complete parse).
2012-03-19 15:24:35 +00:00
hallgren 428c2184fa minibar: fix for recently introduced bug affacting Webkit browsers
It seems that in Gecko browsers, the effect of "with(x) stmts" reaches inside
the bodies of local functions in stmts, but in Webkit browers it does not.
2012-03-19 15:15:47 +00:00
john.j.camilleri 5a263337ce GFEP: added more images for readme 2012-03-19 13:45:04 +00:00
john.j.camilleri 7d34f76375 GFEP: Added video tutorial 2012-03-19 12:48:30 +00:00
hallgren 387deecd31 minibar: don't try to select the most recently used grammar if it isn't in the current grammar list 2012-03-19 00:35:10 +00:00
hallgren 0591f77658 minibar: automatically select the most recently used grammar when returning to the minibar 2012-03-18 23:54:50 +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
hallgren 771c1a0ad7 minibar: word-for-word replacement (experimental)
The new functionality also needs some new PGF service functionality, which will
be provided in a separate patch.
2012-03-18 20:02:11 +00:00
hallgren 63e531ad39 Cloud service start page layout fix for small screens 2012-03-17 16:23:54 +00:00
aarne 45b64f5032 icfp tutorial web page 2012-03-17 14:13:42 +00:00
hallgren 13ecc8bdc3 Adding a .ghci file to make it easier to load GF in ghci. 2012-03-16 14:01:29 +00:00
hallgren 7c484aeada PGFService.hs: command=browse can now produce output in JSON format.
To get JSON output, add the parameter format=json. The JSON structure contains
the output from the function PGF.browse.
The default is format=html for backwards compatibility.
2012-03-16 13:55:19 +00:00
kr.angelov 230f309317 libpgf: a new implementation for literals which also allows custom literals. the same mechanism is now used for the metavariables 2012-03-12 14:25:51 +00:00
kr.angelov 1726995921 libpgf: added simple lexer 2012-03-09 09:14:44 +00:00
hallgren d536d02d9b minibar: add an option to make it easy to select png or svg output
for abstract synax trees, parse trees and word alignment diagrams.
2012-03-08 15:30:31 +00:00
hallgren ff7d964e19 GF home page: direct link to Issues
"Wiki" is a word with very low information scent: there is no way to know
what type of informaiton is hiding behind the Wiki link, e.g., that there is
a bug tracker (or an FAQ), so not many users will click on it.
2012-03-08 15:24:26 +00:00
hallgren 53fd2c811b gf.cabal: update version number to 3.3.3-darcs 2012-03-08 13:03:25 +00:00
hallgren 0722f6f444 PGFService.hs: add output format option to the commands abstrtree, parsetree and alignment
Supported output formats: gv, png, svg.
2012-03-08 11:25:15 +00:00
kr.angelov ed5de8335b libpgf: implementation for built in literal categories 2012-03-07 16:39:29 +00:00
kr.angelov 96493c274b libpgf: simple fix in the parser debugger 2012-03-07 12:23:07 +00:00
kr.angelov a96da30489 libpgf: two APIs - one for finding all parse results and another for finding the best parse result 2012-03-07 11:00:17 +00:00
hallgren d6c2943ad1 gfse: small usability improvements 2012-03-06 23:04:36 +00:00
john.j.camilleri 4a4255c1f0 GFEP: updated page 2012-03-06 12:07:51 +00:00
aarne f254312595 added Pes to the list of langs in make Symbolic 2012-03-06 07:20:31 +00:00
hallgren d50c353fd3 gfse: more helpful hints about grammar parts and RGL modules 2012-03-05 21:12:33 +00:00
hallgren 6ee74e5df5 gfse: bug fix: avoid hickup when inhertiting from a missing concrete syntax 2012-03-05 20:47:52 +00:00
hallgren a55588aad5 gf-server.cabal: always build the fastcgi module (pgf-server), lower version requirement on the cgi package
+ The flag fastcgi is removed: building the fastcgi is the main purpose of
  this cabal file again.
+ pgf-http superseded by gf-server, but is still available as an option
+ Require cgi>=3001.7.3 instead of cgi>=3001.8.0.
2012-03-05 16:38:54 +00:00
john.j.camilleri ca58048f28 GFEP: Updated readme, more screenshots 2012-03-05 15:17:15 +00:00
aarne de14021d25 Phrasebook now compiles for Hin and Pes 2012-03-05 15:13:28 +00:00
aarne 66a0fb0732 some additions to help compile PhrasebookUrd and Pes 2012-03-05 13:28:56 +00:00
hallgren 7df6ce1f77 minibar: tool tip on the feedback button and hint in the feedback form
that the user should select a language from the To: menu to suggest a better
translation to a particular language.
2012-03-05 14:54:42 +00:00
virk.shafqat 696e5c290d extrahin 2012-03-05 14:02:15 +00:00
kr.angelov 0e90d1ba1f libpgf: now all concrete functions and categories are explicitly linked to their abstract counter parts 2012-03-05 12:59:31 +00:00
john.j.camilleri 04db5aa045 GFEP: more screenshots 2012-03-05 11:50:20 +00:00
john.j.camilleri 7c00e81fb5 GFEP: updated readme 2012-03-05 10:39:14 +00:00
john.j.camilleri 6f6371e1bf GFEP: updated screenshots 2012-03-05 10:37:25 +00:00
john.j.camilleri f6242702f5 GFEP: updated examples 2012-03-05 09:50:29 +00:00
virk.shafqat f4fb8fe57d HinPesPhrasebook 2012-03-05 09:46:05 +00:00
virk.shafqat 2ffa5f70da refinements 2012-03-05 09:33:23 +00:00
hallgren a5a82556af Update home page and download page for GF 3.3.3 release 2012-03-03 11:53:10 +00:00
kr.angelov 4d1b0859d0 libpgf: preliminary version for the statistical ranking. we use naive statistical model with random weight for the meta variables. 2012-03-02 19:25:01 +00:00
hallgren 3790733e30 GF download page: Windows binary package added 2012-03-02 17:54:38 +00:00
kr.angelov 58b6bbd242 libpgf: simple optimization in the implementation for heaps 2012-03-02 17:43:46 +00:00
hallgren 5983268552 GF 3.3.3 download page: initial set of binary packages added 2012-03-02 16:12:51 +00:00
peter.ljunglof 5625e5f8f7 added HTML readme file to fracasbank 2012-03-02 14:57:44 +00:00
hallgren 0da74edb95 Fix release notes typos 2012-03-02 13:43:02 +00:00
hallgren 4300847117 Updated GF 3.3.3 release notes 2012-03-02 13:33:37 +00:00
hallgren 21c278f28f gf.cabal: update version number to 3.3.3
but I am not tagging it yet, there is still time for some changes
2012-03-02 10:57:08 +00:00
hallgren 0ed816c118 Update doc/gf-help-full.txt
* echo help -full -t2t | gf -run >doc/gf-help-full.txt
* Insert 3 empty lines first in the file.
2012-03-01 19:39:42 +00:00
hallgren 7f4038e0a8 gfse: bug fix
Fix a problem opening grammars created before grammar extension was introduced.
2012-03-01 18:11:58 +00:00
hallgren 1100f87925 WebSetup.hs: avoid ? wildcards because of odd behaviour under Win32
There is some discussion here: http://www.xxcopy.com/xxcopy18.htm
2012-03-01 16:33:32 +00:00
hallgren 4a1fe5012f doc-phrasebook.txt: update link to minibar doc 2012-03-01 15:53:22 +00:00
hallgren 53d57cdb5b doc-phrasebook.txt: update hyperlinks
Link to www.grammaticalframework.org instead of code.haskell.org/gf.
2012-03-01 15:45:05 +00:00
hallgren 24a650be63 GF home page minor style update 2012-03-01 14:51:16 +00:00
hallgren f34b052847 Setup.hs: include Hindi and Thai by default in RGL builds 2012-03-01 14:25:41 +00:00
hallgren 2d58947d92 WebSetup.hs: use </> instead of '/' for Win32 compatibility 2012-03-01 14:21:47 +00:00
hallgren 145d8c149f Rename FoodsThai.gf back to FoodsTha.gf
so that it is included by default when building Foods.pgf for gf -server mode.
2012-03-01 13:53:48 +00:00
kr.angelov 2775faad7a libpgf: an API for building heaps from buffers in gu/seq.c 2012-02-29 18:51:21 +00:00
hallgren b727e676b4 gfse & minibar: minor style adjustments 2012-02-29 17:37:13 +00:00
hallgren 01404e579c gf -server: update start page, add links to some documentation 2012-02-29 17:05:45 +00:00
hallgren 9a6619e819 gfse: add missing file sort.js to the repository 2012-02-29 16:36:28 +00:00
hallgren f573d52b43 PGFService.hs bug fix: pattern match failure in doParse
doParse was missing a branch for PGF.ParseIncomplete.
Also introduced the operator .= to simply the code that builds JSON objects.
2012-02-29 16:21:34 +00:00
hallgren 4052767790 Updated GF 3.3.3 release notes 2012-02-28 17:47:10 +00:00
kr.angelov e31c883075 libpgf: the first prototype for the robust parser 2012-02-29 14:43:08 +00:00
kr.angelov b054549082 libpgf: the choice object should remember integers instead of single bytes 2012-02-29 13:41:59 +00:00
hallgren 6f42f58f71 gfse: Translation Quiz integration
Also moved the translation quiz from demos/TransQuiz to src/www/TransQuiz so
that it will be installed by 'cabal install' along with the other files that
are installed for use by gf -server mode.
2012-02-28 17:24:34 +00:00
hallgren c1c1a73dc3 gf -server mode: JSONP support for grammar lists
Needed by the translation quiz.
2012-02-28 17:20:59 +00:00
kr.angelov 5fa1418194 libpgf: another fix in the parser debugger 2012-02-28 16:37:12 +00:00
hallgren 6a5de9e7d8 GF 3.3.3 release notes: mention the new RGL languages 2012-02-28 15:53:08 +00:00
aarne 69f84defb0 bug fix in AppPredefined: don't compare values that contain variables. this should be checked even more generally. 2012-02-28 15:13:32 +00:00
hallgren c2cf5c48e5 Updates for the GF 3.3.3 download page 2012-02-28 14:51:09 +00:00
kr.angelov 4ddf24429b libpgf: the time measurement in pgf-translate should be made after pgf_parse_result for more accurate timing 2012-02-28 13:14:24 +00:00
kr.angelov dcbeb63849 libpgf: fix in the parser debugger 2012-02-28 13:12:38 +00:00
john.j.camilleri b0ac2fa9ff Updated 3.3.3 release doc
Added link to GFEP page.
2012-02-28 12:56:31 +00:00
hallgren 40148db81d Adding release notes and download page for version 3.3.3
Feel free to add to the release notes!
2012-02-28 11:02:08 +00:00
kr.angelov eb4bfb008e buf fix in the compiler for HOAS 2012-02-28 08:10:47 +00:00
aarne d560a2aa79 fixed Italian loro->li 2012-02-28 07:55:38 +00:00
hallgren 4441c957ea gfse: recognize Predef categories Int, Float and String
but don't show them in the startcat menu.
2012-02-27 17:18:05 +00:00
hallgren c41974422f gfse: text mode improvements
+ Preserve the startcat flag.
+ Preserve judgement order when possible (GF's parser does not preserve order
  and does not record exact source locations, only line numbers)
2012-02-27 16:50:06 +00:00
kr.angelov 686fcca9a4 libpgf: pretty printing for expressions with metavaraibles 2012-02-27 13:50:35 +00:00
hallgren 7145436a0d Phrasebook feedback: hide feedback submitted by Googlebot 2012-02-27 13:18:03 +00:00
aarne dcea5b554f Hin and Snd in MiniGrammar demo 2012-02-25 09:53:09 +00:00
hallgren 03f3baeba3 gfse: text mode editing: accept grammars with printname judgements
But printname judgements are ignored for now.
Also fixed an UTF-8 encoding bug when parsing uploaded grammars in gf -server
mode.
2012-02-24 17:12:38 +00:00
hallgren 92aa961205 GF home page: News: Hindi, Sindhi 2012-02-24 15:42:57 +00:00
hallgren f81e1586f5 gfse: text mode tweaks 2012-02-24 15:16:37 +00:00
kr.angelov 667ca8e5f7 libpgf: fix in pgf_read_into_map 2012-02-24 15:15:07 +00:00
kr.angelov 1d239ab567 libpgf: simple fix in the grammar printer and the reader 2012-02-24 13:52:21 +00:00
aarne aa7668ef75 the Predef function eqVal to compare equality of parameter values 2012-02-24 10:00:27 +00:00
hallgren be76d44b8f demos/index.html: some demos are not new anymore 2012-02-23 16:48:34 +00:00
hallgren e30eeb4918 src/server/ContentService.hs: fix compilaton problem 2012-02-23 16:46:21 +00:00
virk.shafqat 4ba9944663 hindi-resource-grammar 2012-02-23 13:36:50 +00:00
kr.angelov b99fa6aa9a libpgf: now we have both complete bottom up index for robust parsing and fast lexical lookup from the same index 2012-02-22 21:27:54 +00:00
hallgren 26d5bcd394 gfse: layout fix
Style options inteded for some buttons used in example-based editing was
unintensionally applied to some other OK/Cancel buttons as well.
2012-02-22 16:45:46 +00:00
hallgren 9ebc423004 gfse: experimental support for editing concrete syntax in text mode 2012-02-22 16:30:42 +00:00
hallgren 2312b3c9c9 gfse: some refactoring 2012-02-22 14:12:31 +00:00
kr.angelov 42410f80d2 libpgf: two small fixes in the parser debugger 2012-02-22 14:06:49 +00:00
kr.angelov 786bf883b7 libpgf: the map curr_lindefs must be allocated from a temporary pool 2012-02-22 08:49:08 +00:00
kr.angelov 7ddd0d5f3e libpgf: added index for fast lexicon lookup. Still not perfect 2012-02-21 21:17:50 +00:00
kr.angelov a178608f37 utils/pgf-translate now reports the parsing time 2012-02-21 20:17:18 +00:00
kr.angelov e725b10d66 fixes in the script for the conversion of PennTreebank 2012-02-21 17:26:04 +00:00
hallgren 2eddc116e6 gfse: edit abstract syntax in text mode with instant syntax error reporting
This is an experimental feature. It requires server support for parsing and is
thus not available while offline, unlike most other editing functionality.
2012-02-21 16:58:18 +00:00
virk.shafqat 5403e31264 sindhipatch 2012-02-21 09:02:42 +00:00
hallgren 94685d184d GF.Inra.UseIO: add instance Functor IOE, add method fail to instance Monad IOE 2012-02-20 17:26:49 +00:00
normundsg e25ee8e2fb Latvian: 1) added some extra things that are used by the Attempto grammar; 2) added notpresent tags; 3) compiles with Setup.hs and lib/src/Make.hs 2012-02-20 02:42:07 +00:00
kr.angelov a55a224dce libpgf: now the debugging mode for the parser is available only with compilation option. 2012-02-18 19:30:16 +00:00
kr.angelov 5259be92e3 libpgf: remove the now redundant field extra_ccats in PgfConcr 2012-02-18 16:25:53 +00:00
kr.angelov 47e5e8c966 libpgf: now the linearization index is created during the grammar loading which also makes the types PgfLzr and PgfParser redundant. 2012-02-18 16:22:40 +00:00
kr.angelov aed7cc429a libpgf: simplify the loading of PgfCncCat 2012-02-17 14:26:08 +00:00
kr.angelov 4f8ad8c23f libpgf: added printer.c 2012-02-17 14:11:29 +00:00
hallgren 21f657a64a gfse: when uploading/compiling a grammar, automatically upload inherited grammars as well 2012-02-17 16:07:28 +00:00
hallgren f446649550 gfse: bug fix
...in the function that computes the transitive closure of the grammar
inheritance relation.
2012-02-16 17:05:12 +00:00
hallgren d98f63af51 gfse: you can now remove grammars from the list of inherited grammars 2012-02-16 16:44:44 +00:00
hallgren 03aca7421b gfse: style sheet fixes 2012-02-16 16:17:34 +00:00
hallgren 7cac11c8e8 gfse: more work on grammar extension
Grammars can now inherit from several other grammars.
Hovering over a catagory name in a function type in the abstract syntax
shows where the category was inherited from.
2012-02-15 17:35:09 +00:00
hallgren 1a64606819 minibar_translations.js: bug fix
Two methods used the global variable p instead of declaring a local variable p.
This caused the function p (that constructs HTML <p> elements) in support.js
to suddenly be redefined as a number.
2012-02-15 17:23:52 +00:00
hallgren f9e4032c3e gfse: make categories from inherited grammars available in the startcat menu 2012-02-14 17:18:06 +00:00
hallgren f0702e6942 gfse: bug fix in grammar download from cloud 2012-02-13 19:23:52 +00:00
hallgren aa753c8b4c Recording changes in automatically generated HTML files on the server 2012-02-13 18:19:51 +00:00
hallgren b01d7c341c gfse & minibar: small fixes 2012-02-13 18:11:46 +00:00
hallgren ec09dd6804 minibar: fix problems with the feedback form 2012-02-13 17:58:06 +00:00
hallgren b126a28cc5 gfse: better integration of the minibar
The minibar is now displayed inside the editor, intead of on a separate page.
This makes the context clearer and makes it more obiovous how to return to the
editor.
2012-02-13 17:31:39 +00:00
hallgren 4c0e8c18c7 minibar: bug fix: accidental reference to global variable "server" 2012-02-13 17:25:37 +00:00
hallgren fc897a909a gfse: added a button to go directly from the editor to the minibar
If there is an error in the grammar, the error message is shown below the
grammar instead.
Also: GFServer.hs now returns compiler output in a JSON structure instead of
as a HTML page.
2012-02-13 15:24:05 +00:00
hallgren 73827b9bf7 gfse: stay on the same page when compiling grammars
The link to the minibar (or compiler errors) are now shown below the grammar
on the same page. If you go to the minibar, you only have to press the back
button once to get back to the editor.
Also some output formatting changes in GFServer.hs.
2012-02-10 17:26:02 +00:00
hallgren 6b29296060 gfse&minibar: select the right grammar in minibar when invoked from gfse
The grammar that the user is currently working is now the one shown initially
in minibar, instead of the first grammar in alphabetical order.
Also GFServer.hs now removes absolute paths to the grammar files on the server in error messages from GF returned to to gfse.
2012-02-10 15:24:59 +00:00
hallgren d8958ed68d gfse: bug fix: syntax check in concrete syntax wasn't working
In newer versions of GF the shell says "syntax error" instead of "parse error".
2012-02-10 13:38:24 +00:00
hallgren 9dfab3d187 gfse: initial support for module extension
There is a new way to create a new grammar based on an existing grammar:
by extending it. (It is also possible to clone an existing grammar, a before.)
2012-02-09 18:00:36 +00:00
hallgren 7787c5d725 gfse: document the representation of GF grammars used by the editor. 2012-02-07 17:27:23 +00:00
john.j.camilleri 85f4264317 Updated GFEP page 2012-02-08 13:28:17 +00:00
john.j.camilleri 9122d44ed6 Udpated GFEP readme 2012-02-02 08:55:31 +00:00
hallgren 597ffd3003 gf -server: better error message for requests with unsupported HTTP methods 2012-02-01 17:34:23 +00:00
hallgren 3cbad333ad gf -server: fix bug that caused '+' to be converted to ' ' in uploaded grammars
Fixed buggy workaround for bug in httpd-shed function queryToArguments.
2012-02-01 17:17:46 +00:00
hallgren debb9da44d GF home page: adding an experimental site search box 2012-01-31 14:18:00 +00:00
john.j.camilleri 43a372a6cf Updated GFEP page 2012-01-31 14:08:41 +00:00
peter.ljunglof 582c6cc92f Added the FraCaS Treebank to the examples 2012-01-27 22:56:14 +00:00
kr.angelov 6f0795d8a3 libpgf: switch to using callbacks and lazy prediction in the parser. this reduce the parsing time from 11 sec down to 3 sec. 2012-01-26 12:32:26 +00:00
kr.angelov a2414bc625 libpgf: use a temporal pool for allocating the arrays in the continuation map of the parser 2012-01-26 09:03:08 +00:00
kr.angelov 8256750599 libpgf: fix a warning in reader.c 2012-01-26 08:58:23 +00:00
kr.angelov ecb5e9f23a libpgf: fix in string.h 2012-01-26 08:58:03 +00:00
kr.angelov 58de345f99 libpgf: few fixes to make the loading of grammars with def rules possible 2012-01-24 14:47:11 +00:00
kr.angelov acc4f352af libpgf: extra_ccat is now redundant and was removed 2012-01-23 19:47:08 +00:00
kr.angelov 4f289698f0 libpgf: forgot to add utils/pgf-print.c 2012-01-23 16:34:02 +00:00
kr.angelov 1af48d34ec pgf-translate: add \n at the end of two error messages 2012-01-23 15:51:37 +00:00
kr.angelov 5ccd75c8b9 libpgf: debugging framework for the parser 2012-01-23 15:49:29 +00:00
kr.angelov fcd2c2905e libpgf: the concrete categories were allocated from the temporary pool 2012-01-23 13:43:17 +00:00
kr.angelov 4e4881dba5 libpgf: printing of literals and flags 2012-01-23 10:17:20 +00:00
kr.angelov 7fcaa81858 libpgf: move the lindefs field from PgfCncCat to PgfCCat. display the list in the grammar printout 2012-01-23 09:46:45 +00:00
kr.angelov 28bce1cdc0 added an API for printing the PGF to human readable format 2012-01-21 10:27:55 +00:00
kr.angelov d164ddfbe1 fix the crash in the reader when there aren't any productions per category. 2012-01-21 10:25:43 +00:00
kr.angelov 2eee382a62 initial import of the C runtime 2012-01-20 13:41:10 +00:00
john.j.camilleri b972835712 Updated instructions for gedit editor mode 2012-01-23 12:57:08 +00:00
john.j.camilleri cfcea38e8d Updated GFEP readme
Added details about updates sites in installation instructions
2012-01-23 08:53:28 +00:00
john.j.camilleri 116fff5808 Updated GFEP readme 2012-01-20 15:35:09 +00:00
john.j.camilleri 3a7d9adc46 Updated GFEP readme 2012-01-18 13:47:23 +00:00
john.j.camilleri 4c77d313ab Removed GFEP releases from darcs
They will still be available online at the same URL, but it was becoming messy having the jars under version control.
2012-01-18 13:31:40 +00:00
Nikita Frolov 2ffbf3c567 Another batch of small Russian Phrasebook fixes 2012-01-16 22:31:02 +00:00
aarne 85d777e068 sorted the list of funs and cats in GrammatToPGF to get the predef categories in proper place and get gr, ai, gt work properly 2012-01-14 17:06:54 +00:00
john.j.camilleri 0cda1b3a9a Updated GFEP page 2012-01-11 14:07:36 +00:00
john.j.camilleri 4f65a874d7 GFEP Release 1.2.3 2012-01-11 12:57:45 +00:00
john.j.camilleri e78b193270 GFEP Release 1.2.3 2012-01-11 12:54:13 +00:00
john.j.camilleri 130f9f88cd Updated GFEP readme 2012-01-11 08:02:47 +00:00
kr.angelov 796dd530ee the translation script from the Penn format to GF RGL is now in examples/PennTreebank 2012-01-10 19:36:28 +00:00
john.j.camilleri 1732254a1b Added new GFEP release 2012-01-10 16:26:27 +00:00
john.j.camilleri fba58ab302 Cleared old GFEP release 2012-01-10 16:24:49 +00:00
john.j.camilleri 58b935a9dc GFEP Release 1.2.2 2012-01-09 07:59:21 +00:00
Nick Frolov 8e2c1823ed A Russian dictionary
A Russian dictionary generated from a wordlist created by the FreeLing
project. The accompanying converter can be used to convert other wordlists in
EAGLES format to GF grammars.
2011-12-31 02:36:24 +00:00
aarne ba451d203a Latvian and Thai on language list in GF index 2011-12-29 08:50:33 +00:00
john.j.camilleri 5b8035abc2 Removed GFEP section from GF Editor Modes page 2011-12-28 14:01:24 +00:00
jordi.saludes fb0f46be4a Fixing 'linearize' in py-bindings/test.py 2011-12-22 21:29:45 +00:00
jordi.saludes bff947f44f Changed 'lin' method name to 'linearize' (py-bindings). 2011-12-08 13:08:36 +00:00
jordi.saludes 093ba41fa3 Added an example file as documentation for py-bindings. 2011-12-08 13:05:23 +00:00
jordi.saludes 75c6aa83cd Added parser completions to py-bindings. 2011-12-07 18:09:33 +00:00
kr.angelov bb6905e36f the parser now use nub instead of nubsort which means that the abstract syntax trees will be returned lazily 2011-12-19 13:10:33 +00:00
hallgren 15678a0fce gf -server[=port]
You can now specify which port the HTTP server should run on in server mode.
The default is 41296.
2011-12-14 15:28:27 +00:00
hallgren 02bcfa2098 gf-bib.bib: added EACL 2009 and ACL 2010 entries from gf-bibliography.t2t 2011-12-14 15:26:05 +00:00
hallgren 6dd649d5ff gf-bibliography.t2t: fixed a typo 2011-12-14 15:25:09 +00:00
hallgren 7f5d121a9a gf -server mode improvements
+ Avoid looping if it is not possible to create a new server directory.
+ Work on FastCGI support using the direct-fastcgi package (commented out
  for now because of buggy behavior).
2011-12-14 15:11:13 +00:00
aarne d0cfd4ea3a script for making phrasebook with Thai pronunciation 2011-12-09 18:49:03 +00:00
aarne 8691f51ae3 last-minute fixes for Thai Phrasebook 2011-12-09 13:05:41 +00:00
aarne 15168563a2 adjustments in Phrasebook and synopsis 2011-12-08 14:04:42 +00:00
kr.angelov 7c9bbd844b Now graphvizAbstractTree suppress the visualization of implicit arguments. 2011-12-08 09:18:38 +00:00
aarne d8b68c85b6 Nui's corrections to Synopsis examples and Phrasebook; a logo for Thai 2011-12-06 21:36:38 +00:00
kr.angelov 1160244271 Phrasebook is updated for Bulgarian 2011-12-06 13:54:25 +00:00
aarne 5f4ac04804 diverse RGL and Phrasebook fixes, and a corrected Synopsis 2011-12-05 15:25:06 +00:00
aarne 8f05c404c5 adjustments in Thai pronunciation 2011-12-05 09:36:26 +00:00
aarne 2a0c611486 Male/Female greetings distinguished in Phrasebook 2011-12-04 18:09:02 +00:00
aarne ea01e7181e typos in WordsTha corrected 2011-12-04 09:49:06 +00:00
aarne cf9dd6c9fe make thaidroid: a Phrasebook with Thai pronunciation 2011-12-03 12:08:19 +00:00
kr.angelov c52f05ed46 The typechecker is still unfinished but at least it can typecheck the English resource grammar 2011-12-02 12:33:26 +00:00
aarne 9baa13476a how far in PhrasebookTha 2011-12-02 11:15:02 +00:00
kr.angelov e6135d963e missing cases in GF.Grammar.Binary 2011-12-02 09:58:18 +00:00
aarne 40d03d6578 occupations in Phrasebook Eng,Fin,Swe,Tha 2011-12-02 09:50:16 +00:00
aarne a32f9664f6 Nui's grammar error reports implemented in PhrasebookTha 2011-12-01 21:58:42 +00:00
aarne 0814c07791 PhrasebookTha corrections from Nui 2011-12-01 14:50:23 +00:00
aarne db62687ab1 imperatives added to Phrasebook (familiar,polite,plural,positive,negative) 2011-12-01 12:51:40 +00:00
aarne 7086eea9f5 workaround in -opt flag to compile Phrasebook 2011-12-01 10:35:54 +00:00
aarne 0d726c3f90 new pronoun exceptions carried out in Romance and Finnish in Phrasebook 2011-12-01 09:20:34 +00:00
kr.angelov b859edee38 Hopefully complete Value type and a little bit more on computations. 2011-11-30 20:56:31 +00:00
aarne 33f1eeb7d1 splits in Phrasebook Kind category: Drink and Plur; some new words in Tha,Eng,Fin,Swe 2011-11-30 20:24:23 +00:00
aarne 69d54030c0 complete Thai, new Disambiguation items (Romance pronouns to be revisited) in Phrasebook 2011-11-30 15:00:06 +00:00
aarne d2b99a0607 added RGL-functorial concepts to Phrasebook 2011-11-30 10:54:05 +00:00
aarne cac8f22129 Thai phrasebook vocabulary from Nui 2011-11-30 10:53:33 +00:00
kr.angelov 7863b21c1a more stuff in the new type checker 2011-11-30 14:55:52 +00:00
kr.angelov f9af731c9c fix the compilation after the patch for the new type checker 2011-11-29 18:45:51 +00:00
hallgren d9f8ed932f Also recording gf-bibliography.html...
...although I think in general it is a bad idea to keep automatically generated
files in the source repository.
2011-11-29 15:38:01 +00:00
hallgren 97f47f3d3d gf-bibliography.t2t: add links to PDFs for ACL 2010 and EACL 2011 papers 2011-11-29 15:36:14 +00:00
kr.angelov fffc5f2507 Sketch of the new type checker for the concrete syntax. Enabled only with -new-comp 2011-11-29 12:12:51 +00:00
john.j.camilleri 1dd5af7729 Fixed GFEP release 2011-11-29 09:06:43 +00:00
john.j.camilleri 2c7a88afbe New GFEP release 2011-11-29 09:01:27 +00:00
john.j.camilleri 638b69904c Removed GFEP beta updatesite 2011-11-29 09:00:15 +00:00
john.j.camilleri 9e3f8036b2 Updated GFEP index page 2011-11-29 08:59:25 +00:00
hallgren 70d292d83b gfse: fix bugs and typos 2011-11-28 16:36:51 +00:00
aarne 8fffefd268 some Thai corrections from Nui 2011-11-28 14:34:59 +00:00
john.j.camilleri a241786a19 Updated GFEP 1.2.0 release 2011-11-25 11:11:30 +00:00
john.j.camilleri 2c9f3914b2 Re-added GFEP 1.2.0 release 2011-11-25 10:59:40 +00:00
john.j.camilleri 38ec4d35f6 Cleaned up GFEP releases 2011-11-25 10:57:46 +00:00
aarne 68c1f430fb added Rus to Phrasebook compilation script 2011-11-24 22:00:57 +00:00
Nick Frolov dc121c6bd3 Symbolic and Nound fixes for Russian 2011-11-24 16:13:08 +00:00
kr.angelov c05be64838 now if some module is compiled with -no-pmcfg then the PMCFG code is generated at the end during the linking phase. Now the default compilation of the libraries with cabal is with -no-pmcfg. 2011-11-24 14:23:04 +00:00
john.j.camilleri 62d1320cfe Updated GFEP readme 2011-11-24 14:03:04 +00:00
john.j.camilleri fd91f5221e Added GFEP release for Thu, 24 Nov 2011 14:52:50 +0100 2011-11-24 13:52:50 +00:00
john.j.camilleri ac8a85e9ba Updated GFEP readme 2011-11-24 13:52:05 +00:00
kr.angelov 26d61354dd make addSequencesB(V) strict. Otherwise we get stack overflow when compiling LangFre 2011-11-22 20:31:58 +00:00
aarne 1f731df285 options for no-pmcfg compilation in lib/src/Make.hs (for library developers, rather than users); adding Thai to some demo and documentation 2011-11-21 15:30:55 +00:00
hallgren d66110f84e gfse: example-based: some usability improvements
Instead of showing nothing, show disabled buttons and some expanatory text to
provide guidance for users getting started with example-based grammar writing.
2011-11-21 15:24:29 +00:00
hallgren e9e029d39f example-based: bug fix: apply UTF-8 decoding to CGI inputs
You can now use words with ÅÄÖ when writing Swedish grammars by example...
2011-11-21 15:15:49 +00:00
aarne ccf16172cf extending PhrasebookTha; one third left 2011-11-20 19:07:36 +00:00
aarne 1c15afdcfc thword used in FoodsThai 2011-11-20 15:09:59 +00:00
john.j.camilleri 3dd078b7e2 Added GFEP release for Fri, 18 Nov 2011 16:31:16 +0100 2011-11-18 15:31:16 +00:00
john.j.camilleri 76bd781a84 Updated GFEP index.html 2011-11-18 15:30:34 +00:00
john.j.camilleri 47f99a88cc Changed GFEP screenshot 2011-11-18 15:21:48 +00:00
kr.angelov 3d973adb33 rebuildModule should do location globalization too 2011-11-17 22:11:56 +00:00
kr.angelov 4f95b5656b bugfix in the overload resolution. It was accidentally introduced as part of the per module PMCFG generation 2011-11-17 21:36:45 +00:00
john.j.camilleri d84cb09e48 Added GFEP release for Thu, 17 Nov 2011 15:23:02 +0100 2011-11-17 14:23:02 +00:00
john.j.camilleri 95f022ddeb Updated GFEP index page 2011-11-17 14:15:52 +00:00
john.j.camilleri e87584fc68 Added new GFEP screenshot for web 2011-11-17 13:40:35 +00:00
john.j.camilleri 0840b88649 Added GFEP release for Wed, 16 Nov 2011 12:44:59 +0100 2011-11-16 11:44:59 +00:00
aarne 9f4660832d changed FoodsTha to FoodsThai (to mark it as unstable) 2011-11-16 10:51:06 +00:00
kr.angelov 04fdb41927 fix in the versioning of the .gfo files 2011-11-15 19:46:02 +00:00
kr.angelov a2626e24dd now we store version number in every .gfo file. If the file is compiled with different compiler then we simply recompile it. 2011-11-15 19:12:22 +00:00
kr.angelov 8a10aa5cf9 now the pretty printer in GF has a new mode called Internal. This is the most detailed mode and it can print even things that are not in the GF syntax. For example PMCFG snippets and indirections. 2011-11-15 15:55:45 +00:00
kr.angelov 59e098a440 Now the errors messages from GF.Compile.Update also follow the new format 2011-11-15 15:33:52 +00:00
john.j.camilleri 30aafddab1 Added ResMlt to foods 2011-11-15 14:54:28 +00:00
kr.angelov b1a82e8e8a the indirections in the .gf-tags files now point directly to the origin of the corresponding indentifiers 2011-11-15 14:30:31 +00:00
kr.angelov 61c16f2eb2 more structured format for errors and warnings from the compiler 2011-11-15 13:33:44 +00:00
kr.angelov 8a7aa15c57 bugfix in the new PGF generation 2011-11-14 16:27:59 +00:00
kr.angelov 43fc9f462a remove the -output-file option 2011-11-14 16:10:13 +00:00
kr.angelov 7be8566f35 the new design for -tags 2011-11-14 16:08:56 +00:00
john.j.camilleri 7f9e245c36 Updated readme 2011-11-14 11:23:17 +00:00
john.j.camilleri 5afaa04bc8 Updated GFEP index page 2011-11-14 10:46:46 +00:00
kr.angelov 416d231c5e Now PMCFG is compiled per module and at the end we only link it. The new compilation schema is few times faster. 2011-11-10 14:09:41 +00:00
john.j.camilleri 4baa44a933 Fixed lock field warnings in FoodsMlt 2011-11-10 12:03:15 +00:00
kr.angelov b25ec6ae89 remove few obsolete options from GF.Infra.Options 2011-11-10 09:02:46 +00:00
aarne d090d831e9 additions to new-gf-bib.bib 2011-11-08 16:07:00 +00:00
aarne 0c5a7a4efd FoodsTha, still to be checked 2011-11-08 16:06:40 +00:00
hallgren e614c46221 Download page: add a not about the directory binaries are installed in on Mac OS X with recent versions of cabal. 2011-11-09 08:37:51 +00:00
john.j.camilleri 92e6beed7f Added separate link for GFEP 2011-11-08 07:48:16 +00:00
aarne 1218d48beb PhrasebookTha: Swadesh-definable words added 2011-11-07 21:21:14 +00:00
aarne e454f155ed Thai phrasebook now compiles with RGL (but is incomplete) 2011-11-07 15:46:55 +00:00
ramona.enache 543ed4f926 added Ramona's articles to doc file 2011-11-07 13:13:08 +00:00
aarne b5de84a98a Thai phrasebook started 2011-11-06 23:26:56 +00:00
aarne 6b0a929197 Thai phrasebook started: Greetings OK 2011-11-06 21:13:09 +00:00
kr.angelov 0d04d56241 qualified names in the tags file 2011-11-04 16:20:41 +00:00
john.j.camilleri 98741f3fbf Added GFEP release for Fri, 04 Nov 2011 11:33:35 +0100 2011-11-04 10:33:35 +00:00
john.j.camilleri aef76e2e27 Updated /eclipse index file 2011-11-04 10:31:24 +00:00
hallgren 312e602dfe gfse: supply information about what's defined in the exampe language to the server functions for example-based grammar writing 2011-11-02 16:54:22 +00:00
hallgren 5856098f2f gfse: example-based: remove target language from the example language menu 2011-11-02 16:13:30 +00:00
john.j.camilleri 1d411cad87 Added GFEP release for Wed, 02 Nov 2011 17:34:00 +0100 2011-11-02 16:34:00 +00:00
kr.angelov 734c66710e merge GF.Infra.Modules and GF.Grammar.Grammar. This is a preparation for the separate PGF building 2011-11-02 13:57:11 +00:00
kr.angelov 5fe49ed9f7 Now the compiler maintains more precise information for the source locations of the different definitions. There is a --tags option which generates a list of all identifiers with their source locations. 2011-11-02 11:44:59 +00:00
hallgren 42af63414f gfse: grammar sharing: bug fixes and win32 support
win32 support is untested
2011-11-01 17:45:57 +00:00
hallgren 9ba8db6e0a gfse: documentation update 2011-11-01 17:45:01 +00:00
hallgren f8665c7213 Remove configuration flag cclazy 2011-11-01 13:45:12 +00:00
hallgren 9ebb9c98b8 Translation Quiz: add copyright notices in source files
As suggested by Elnaz.
2011-11-01 13:22:24 +00:00
Nick Frolov 5b7736e860 Fixed a typo in the shell online help 2011-11-01 11:22:13 +00:00
Nick Frolov 54ae626666 Improvements of Russian Phrasebook that do not rely on Participles and Numerals 2011-10-18 15:16:58 +00:00
john.j.camilleri eaaa6808a9 Added GFEP release for Mon, 31 Oct 2011 15:46:01 +0100 2011-10-31 14:46:01 +00:00
john.j.camilleri 8f11e1ca7b Added GFEP release for Mon, 31 Oct 2011 13:04:08 +0100 2011-10-31 12:04:08 +00:00
aarne cd5deea02f new version of gf-bib.bib 2011-10-31 10:53:29 +00:00
john.j.camilleri ee24e01feb Updated html page 2011-10-28 14:32:00 +00:00
john.j.camilleri dd1cac8c38 New release 2011-10-28 12:20:11 +00:00
aarne e90e2e11e1 a few more entries to gf-bibliography 2011-10-28 09:07:54 +00:00
hallgren 1a563b5b7e One more binary package for the GF 3.3 release 2011-10-27 19:44:27 +00:00
hallgren a7144932f4 Adding more binary packages for the GF 3.3 release 2011-10-27 16:59:29 +00:00
john.j.camilleri c146a10c65 Updated release 2011-10-27 11:29:49 +00:00
john.j.camilleri 87a975696a Updated release with filters working again 2011-10-27 11:07:00 +00:00
aarne 509a9d497a publications: added Burden & Heldal 2011-10-27 08:34:56 +00:00
john.j.camilleri 7a71fc38b5 Added release folder 2011-10-27 07:24:23 +00:00
kr.angelov 8a263781d0 add Windows binary 2011-10-26 13:30:42 +00:00
john.j.camilleri c42e4a8486 Added new release 2011-10-26 11:56:18 +00:00
hallgren 5543a045b5 Fix some more typos and clean up 3.2.9 download page 2011-10-25 21:01:39 +00:00
hallgren 3ab5b9d177 Fix typo on GF 3.3 download page 2011-10-25 20:50:15 +00:00
hallgren 76f5ce2383 Adding two binary packages to the GF 3.3 download page 2011-10-25 20:44:55 +00:00
hallgren c72708fbfb GF 3.3 news item on the GF home page 2011-10-25 20:21:02 +00:00
hallgren 1b2de503bf Move GF 3.3 download page in place 2011-10-25 18:58:02 +00:00
hallgren c4ee13abac Recording an alternative version of look in Compute/ConcreteLazy.hs
Commented out, causes problems in the greek example.
2011-10-25 18:50:07 +00:00
hallgren b949892e43 GF 3.3 tentative release date is 2011-10-27 2011-10-25 18:47:09 +00:00
hallgren a8185fd997 Preparations for release of GF 3.3
+ Changing version numbers and dates here and there.
+ Simplify build-binary-dist.sh since pgf-http need not be built anymore.
+ Use--gf-lib-path to make the sample grammars for minibar compile even if GF
  is not installed.
2011-10-25 18:25:49 +00:00
aarne 5fd8299805 qualification with real module name accepted, as in GF refman 2011-10-25 14:03:27 +00:00
hallgren 9c506ff641 Preparing for release of GF 3.3
+ Release notes in download/release-3.3.t2t
+ New download page in download/index-3.3.t2t (to be renamed to index.t2t)
2011-10-25 13:10:10 +00:00
hallgren 87f86f7342 TODO list for example-based grammar writing and grammar editor functionality 2011-10-25 12:47:51 +00:00
aarne fdcd7c7486 items to release notes on my changes 2011-10-25 07:44:57 +00:00
hallgren 6da9744c6b download/release-3.2.t2t: make room for GF 3.2.10 release notes 2011-10-24 18:25:37 +00:00
hallgren 113c6f6746 gf-quickstart.html: describe gf -server instead of pgf-http 2011-10-24 18:13:04 +00:00
aarne 7372da3d7f use associativity to force more precompilation of pre expressions 2011-10-24 12:52:20 +00:00
hallgren 442dc95071 Work on example-based grammar writing
+ Preparations to support more target languages. Tested with Swedish.
+ Don't enable example-based editing if there is less that two concrete
  languages in the grammar.
+ Don't show the "By example" button until the required lincat has been defined.
+ Remember the chosen language for examples.
2011-10-21 15:43:57 +00:00
hallgren ed451653bd Introduce an explicit error value in the Term type
This makes it easier to treat run-time errors (e.g. caused by calls to
Predef.error) in a way that is more typical for a lazy functional language.
2011-10-20 14:36:30 +00:00
hallgren e5accc0d8d Some experiments with PSeq (left commented out) 2011-10-20 14:25:31 +00:00
hallgren ef4fac9d82 Compute/ConcreteLazy.hs: no need to reverse when looking up labels in records 2011-10-20 14:19:33 +00:00
hallgren d8d60adb15 AppPredefined.hs: more readable notation for the types of primitives 2011-10-20 14:17:37 +00:00
hallgren 3dbdc56669 phrasebook/Makefile: use 'gf -run' to make missing.txt 2011-10-20 13:58:46 +00:00
hallgren a9f4d42652 Setup.hs: less verbose output during the compilation of the RGL
Only show the full gf command line if an error occurs.
2011-10-20 13:36:42 +00:00
hallgren 6c5ee3d666 PGF.hs: Add LANGUAGE BangPatterns to make GHC 7.2 happy
Also remove oddly named function forExample (topological sorting) from export
list.
2011-10-20 13:21:28 +00:00
hallgren b8124730b1 pgf-http setup: update path to minibar 2011-10-18 15:35:30 +00:00
hallgren 26b8df5cf5 minibar: adding a start category menu
+ The start category menu can be turned off by passing the option
  {startcat_menu:false} when starting the minibar.
+ Documentation updates.
2011-10-18 15:21:49 +00:00
hallgren d63724ed50 minibar: add a button to show some grammar info 2011-10-18 14:34:00 +00:00
hallgren 4c3cc9f176 pgf service: include the start category in grammar info 2011-10-18 14:31:40 +00:00
john.j.camilleri d9f7697f7a Added Eclipse contents 2011-10-17 16:01:07 +00:00
john.j.camilleri 83533afd5f Added link for GFEP 2011-10-17 15:40:18 +00:00
hallgren d4ee4a6133 example-based: use random generation for the examples 2011-10-17 13:51:25 +00:00
hallgren c0becec2bd Bug fix in setup for gf -server mode
Use the command "dist/build/gf/gf" instead of "gf" to compile the sample
grammars for the minibar, to avoid failing if gf is installed in a directory
which is not in the $PATH.
2011-10-14 19:34:55 +00:00
hallgren bd7cb1ab41 Show version & configuration info when gf -server starts 2011-10-12 19:00:42 +00:00
hallgren 8266df8f58 Bug fixes for gf -server mode and setup 2011-10-12 18:27:46 +00:00
hallgren 44d1a5a9f7 Improvements of "gf -server" mode and related setup
"gf -server" mode now contains everything needed to run the minibar and
the grammar editor (including example-based grammar writing).

The Setup.hs script installs the required files where gf -server can find them.
These files have been moved to a new directory: src/www.

The separate server program pgf-http is now obsolete.
2011-10-12 17:03:54 +00:00
hallgren 0aba45560d More work on support for gfse in "gf -server" mode 2011-10-11 19:17:47 +00:00
hallgren ef079ff939 gfse: make it workw ith "gf -server" cloud services 2011-10-10 19:49:17 +00:00
hallgren b138844695 Add cloud services needed by gfse to "gf -server" mode 2011-10-10 19:46:57 +00:00
hallgren 693b807cb5 minibar/support.js: added function encodeArgs. 2011-10-10 17:40:53 +00:00
hallgren 04d2dc757c More functionality in "gf -server" mode
"gf -server" mode now includes PGF service and the services to support
example-based grammar writing. (But gf -server is not quite ready to replace
pgf-http yet...) 

Also bumped GF version number to 3.2.10-darcs
2011-10-10 16:16:16 +00:00
hallgren 5b980dcb93 gfse: documentation tweaks 2011-10-07 12:14:30 +00:00
hallgren 5f0d407968 example-based grammar writing: avoid a problem by returning Nothing instead of calling error 2011-10-04 10:04:01 +00:00
aarne 4af079006b gf-bibliography.html with Thomas' corrected links 2011-10-03 15:42:12 +00:00
aarne 44ecbd11bc updated gf-biblio with cse instead of cs 2011-10-03 15:39:39 +00:00
hallgren c04d8ccd80 corrected links in gf-biblio 2011-10-03 15:36:27 +00:00
aarne ddc34a2162 new items in gf-bibliography.t2t 2011-10-03 15:18:59 +00:00
hallgren 7402ff2429 gfse: browser compatibility fixes 2011-10-03 12:28:49 +00:00
hallgren dfbf4f9e14 gfse: references to the GF book in keyword tool tips and style tweaks for example-based grammar editing 2011-10-03 08:21:35 +00:00
hallgren bb585fef2c Example-based grammar writing: fix problems caused by the use of exprToAPI
The editor needs to keep track of both the raw term and the nice term returned
by exprToAPI. (Manually constructed linearization rules will now have the
raw term and can not be tested.)

Also replace metavariables in generalized terms with the apropriate parameter
from the linearization rule.

Also fix communication problems caused by inconsistent use of show/read vs
showExpr/readExpr.
2011-09-29 15:19:03 +00:00
hallgren ad725d8531 gfse: about.html updates 2011-09-28 15:26:34 +00:00
hallgren 6142258302 gfse: mention example-based grammar writing in about.html 2011-09-27 19:18:50 +00:00
hallgren cdef284b2b exb: call exprToAPI to create nicer linearization functions 2011-09-27 19:17:53 +00:00
hallgren b9b353795b Server-side support for example-based grammar writing 2011-09-27 18:59:54 +00:00
hallgren 667b37f418 gfse: work in progress on support for example-based grammar writing 2011-09-27 18:40:09 +00:00
hallgren 64beaae58f Update the shell reference manual 2011-09-27 13:20:37 +00:00
aarne a83b6bea62 don't count app nodes in term size 2011-09-26 13:56:39 +00:00
aarne ff4929e25e Query/small packaged 2011-09-26 06:56:36 +00:00
aarne 1a3a26563b generalized show_dependencies to take a list of constants as its argument 2011-09-25 08:43:23 +00:00
aarne 0c2f20d04d structured examples in help into pairs (command,explanation) 2011-09-25 08:42:27 +00:00
aarne 780d9ef528 bug fixes in code size analysis 2011-09-24 08:20:58 +00:00
kr.angelov bb599029c9 change the precedence for the left argument of -> 2011-09-22 16:24:02 +00:00
aarne 6db0c74c2f the sd -size command now shows the size of all code needed for defining an oper 2011-09-22 12:11:03 +00:00
aarne baa9bcd9d0 documented the ss command 2011-09-22 07:40:19 +00:00
hallgren ea04171fc6 Update 19 broken links in the GF bibliography
Most of the broken link were due to the move from www.cs.chalmers.se was to
www.cse.chalmers.se in 2010.
2011-09-21 16:37:20 +00:00
aarne bd22b935de statistics on grammar size in terms of constructors 2011-09-21 13:24:59 +00:00
kr.angelov 89fb9a7fdf fix in the proof search. when we start the generation from a template, we must start the refinement from the expression that the typecheker generated 2011-09-21 13:30:09 +00:00
aarne 958e81126d commands ss to show source, and sd to show the dependencies of a constant 2011-09-21 08:12:14 +00:00
aarne 33a42b1c7c module for analysing source grammars 2011-09-20 16:00:56 +00:00
aarne a2ccf1ce69 command ss to show source (including gfo) in text; to be extended 2011-09-20 14:58:27 +00:00
hallgren 209ec0d7fe Home page news item about editor modes for GF 2011-09-20 12:51:34 +00:00
hallgren c32a244a3c Created a new page documenting available editor modes for GF
Also adding editing modes for Gedit and Geany contributed by John J. Camilleri.
2011-09-20 12:41:32 +00:00
aarne a4a1f33cd3 QueryGer added; some bugs to fix 2011-09-20 12:05:07 +00:00
aarne b08309f236 QueryIta added 2011-09-20 08:54:35 +00:00
aarne c7384bd432 QueryFre added; a utf8 typo in StructuralFre corrected 2011-09-20 08:08:28 +00:00
aarne 7da592fecc treebank to test Query 2011-09-19 15:39:48 +00:00
aarne a96e90a4ae QueryFin improved 2011-09-19 14:37:30 +00:00
hallgren 343e852bfe test suite: Don't fail because of the Win32/Unix text file incompatibility. 2011-09-19 13:14:01 +00:00
hallgren c8c81f77f7 Adding test case for interaction between record subtyping and record extension 2011-09-19 12:43:14 +00:00
hallgren 128cd2f5c0 gfse: add Extra and Lexicon to the list of resource modules that can be opened 2011-09-16 15:13:27 +00:00
ra.monique bdc77bf0e4 added topological sort module to PGF - to be used in example based grammar writing 2011-09-15 16:32:49 +00:00
hallgren 751fd79763 Add a command name header to the 'help -t2t' output 2011-09-15 18:19:01 +00:00
hallgren 167bc341cb Add the commands to the table of contents in the GF shell reference manual 2011-09-15 11:18:59 +00:00
aarne 10d79ed050 made ps -from_TRANSLIT symmetric to -to_TRANSLIT in the sense that unknown characters are returned as themselves and not as question marks 2011-09-15 10:49:40 +00:00
hallgren 927c8c0678 Include a table of contents in the GF shell reference manual 2011-09-14 20:46:04 +00:00
hallgren 584c31bc62 Separate commands with <hr> instead of <p> in the GF shell reference manual 2011-09-14 20:39:51 +00:00
hallgren c99ae66061 Omit empty sections in GF shell reference manual 2011-09-14 20:28:21 +00:00
hallgren 642d391d73 Omit empty sections in gf help output 2011-09-14 20:26:22 +00:00
hallgren ffcddbe571 Use 'help -full -t2t' to generate the GF Shell reference manual 2011-09-14 19:43:59 +00:00
hallgren 570afd870c GF shell command 'help -t2t' outputs help in txt2tags format 2011-09-14 19:40:28 +00:00
hallgren 553474d9dc Adding a link to the GF shell reference manual on the GF home page 2011-09-14 16:24:49 +00:00
aarne 8d05fa5cc7 Donkey: Det and Conj added, as well as negative sentences 2011-09-14 15:56:19 +00:00
hallgren f2786ca0a0 Adding a GF shell command reference
First, plain text version generated with 'help -full' in the shell.
Introduction taken from the GF book.
2011-09-14 13:15:56 +00:00
hallgren e36af534bf gfse: added grammar cloning 2011-09-13 15:19:16 +00:00
aarne d394f76e3d quick fixes in PGF.TypeCheck suggested by Krasimir; to be revisited 2011-09-14 11:29:35 +00:00
aarne 35b92c5109 Donkey: added AP, reported problem with ModCN and polymorphic AP's 2011-09-14 09:29:56 +00:00
aarne 7004770236 rewrote DonkeyEng with RGL and introduced VP category 2011-09-13 19:52:48 +00:00
aarne 604c92bf47 examples on using type theory 2011-09-13 19:09:31 +00:00
aarne a92ceb2e35 added examples/typetheory 2011-09-13 14:34:36 +00:00
hallgren 8488c1d06e Added news item about the GF 3.2.9 snapshot on the home page 2011-09-12 15:48:22 +00:00
hallgren 5f52a670e5 Mention the 3.2.9 snapshot release on the download page 2011-09-12 15:38:13 +00:00
hallgren 74ae2cc737 Record old changes in gf-reference.html
even though this file is automatically generated from gf-reference.t2t.
2011-09-12 15:35:00 +00:00
hallgren 39602f75fe Record the added link to the JPGF Android Tutorial on home page 2011-09-12 15:32:31 +00:00
hallgren 1748df0df8 Take snapshot, version 3.2.9 2011-09-12 14:42:54 +00:00
hallgren 38a352b3d0 gf.cabal: add Tested-With field 2011-09-12 14:33:15 +00:00
hallgren c8501547bf Don't make noexpand the default with -fcclazy
This reverts the previous change. Not preprocessing opers turns out to make a
difference in what needs to be mentioned in restricted inheritance/imports.
2011-09-09 16:17:33 +00:00
aarne 0bc4513ae5 utf8 in gf-book index 2011-09-09 15:00:50 +00:00
aarne 10bf327fee slides and UK order of gf-book 2011-09-09 14:57:28 +00:00
hallgren d74b4cbde8 Make -fcclazy (the new faster lazy compute_concrete) the default. Bump version number to 3.2.9 2011-09-09 13:54:19 +00:00
hallgren 312c13c2d8 Make noexpand the default optimization package when configuring with -fcclazy 2011-09-09 13:50:38 +00:00
hallgren 42ea96a5ca Remove unused function computeConcreteRec.
This also allows the parameter rec to be removed from function computeTermOpt.
(The change is made in GF.Compile.Compute.ConcreteLazy, but not in 
GF.Compile.Compute.ConcreteStrict.)
2011-09-09 12:25:27 +00:00
hallgren 8098f79941 GF.Grammar.Macros: simplify composOp and composSafeOp 2011-09-07 17:11:52 +00:00
hallgren e223d3bdb9 Make the -fcclazy configuration option visible in the build info in the GF Shell welcome message 2011-09-05 15:20:39 +00:00
hallgren 875df01dc6 Add lazy version of GF.Compile.Compute.Concrete
This patch adds GF.Compile.Compute.ConcreteLazy, which replaces the Err monad
with the Identity monad. While the Err monad makes the interpreter
(hyper)strict, the Identity monad let's the interpreter inherit Haskell's
laziness.  This can give big speedups: from 50s to 1s in one example,
from ~4 minutes to ~2 minutes for the RGL.

This is still experimental and might be buggy, so it is off by default.
You can turn it on by configuring with the -fcclazy flag, e.g.

	cabal configure -fcclazy

Let me know if anything breaks.
2011-09-01 16:39:41 +00:00
hallgren bfe4b0b2a4 GF.Grammar.*: generalized the type of some functions that can not fail from the Err monad to arbitrary monads 2011-09-01 16:35:53 +00:00
hallgren 314abe733b GF.Compile.Coding: cleaner code
Refine function codeTerm into codeTerm, codeLTerm and codeLTerms.
2011-08-31 13:55:49 +00:00
hallgren d180dadf08 GF.Infra.Modules: minor tweaks
Still keeping the modules both in a list and in a finite map. The overhead is
smaller than I initially thought.
2011-08-31 11:18:16 +00:00
hallgren b743abb375 GF.Infra.Modules: restore module dependency order invariant
It is needed by greatestResource (and similar functions, presumably).
So keep both the list and the finite map of modules. This slows down some
things, but the compilation of PhrasebookFin.pgf benefits from it.
To be continued...
2011-08-30 20:20:45 +00:00
hallgren ba10b5b0ca GF.Infra.Modules: keep the modules of a grammar in a finite map instead of a list
This speeds up the compilation of PhrasebookFin.pgf by 12%, mosly by speeding
up calls to lookupModule in calls from lookupParamValues, in calls
from allParamValues.

The invariant "modules are stored in dependency order" is no longer respected!
But the type MGrammar is now abstract, making it easier to maintain this or
other invariants in the future.
2011-08-30 18:54:50 +00:00
kr.angelov 2001788b02 few more fixes in the NLG grammar 2011-08-30 17:29:13 +00:00
hallgren fe2fad8f8d GF.Grammar.Lookup: added function lookupQIdentInfo
+ Avoids some code duplication by combinging lookupModule and lookupIdentInfo.
+ Also removed lookupIdentInfo from export list, since it is not used anywhere
  else.
2011-08-30 14:53:11 +00:00
hallgren a0c785d5d0 PatternMatch.hs: commented out suspicious unused function varsOfPatt 2011-08-30 12:13:50 +00:00
hallgren 125ae7a3d3 GrammarToPGF.hs: comment out unused imports 2011-08-30 12:02:32 +00:00
kr.angelov a29a4408a8 added quantifier ambiguity in the NLG example 2011-08-30 15:23:59 +00:00
kr.angelov c70df9200c added example for NLG from logical formula. See examples/nlg 2011-08-30 14:58:16 +00:00
kr.angelov 4215fc31bf bugfixes in the typechecker and the tree generator 2011-08-30 11:24:59 +00:00
kr.angelov 41a60772c7 bugfix: allow higher-order variables in the linearization 2011-08-30 09:22:44 +00:00
aarne 380011eb7d skip spaces before closing parenthesis in PGF.Expr.pFactor 2011-08-29 12:03:45 +00:00
aarne 769121788a import command now gives priority to new abstract syntax, and discards the old concretes if they are for the old abstract; the new priority is implemented in PGF.Data.unionPGF 2011-08-28 10:35:55 +00:00
kr.angelov 5339aa8074 fix SUMO after the update in DictEng 2011-08-23 15:05:04 +00:00
hallgren 623c72ca1d pgf-http: fix a bug that caused "+" to be treaded as " " in PGF service requests URLs.
This was a bug in my workaround for a bug in the httpd-shed package. It
made it impossible to use the glue token "&+" for Turkish input in the minibar,
for example.
2011-08-25 16:58:17 +00:00
aarne 6757ab2b41 reload command in shell 2011-08-25 15:58:38 +00:00
hallgren 1fccece30c pgf-service: apply the OpenMath LaTeX function only when linearizing to a
concrete language whose name ends with LaTeX.
This change also avoids duplicating output and, in addition to the linearize
command, applies the transfer also when using the linearizeAll command.
2011-08-24 09:37:55 +00:00
hallgren ba03db58a4 pgf-service: add Jordis transfer function for OpenMath LaTeX output 2011-08-23 16:25:00 +00:00
hallgren 0880abdc04 Someone added a link to the Android page 2011-08-22 21:01:59 +00:00
hallgren c5086bda7c minibar: documentation update 2011-08-22 17:55:47 +00:00
hallgren d45b9edcd8 minibar: quick fix to allow literals to be entered.
If you press Enter, the current word will be accepted, even if there are no
matching completions.
(You can now use names of people when constructing sentences in the Letter
grammar, for example.)
2011-08-22 17:03:47 +00:00
aarne 3afefb0ac9 commented Compute/Concrete with explanations 2011-08-22 17:08:07 +00:00
hallgren cf9f1057ed pgf service: external service hook: always format the output as a JSON string 2011-08-22 16:10:56 +00:00
hallgren d8d80693db pgf service: added a hook for external services
This is really reinventing CGI, people should learn how to write CGI scripts
instead...
TODO: better handling of temporary files
2011-08-22 15:34:44 +00:00
aarne 36b9d55ed6 some adjective fixes in FoodsGle 2011-08-22 14:43:58 +00:00
aarne 7b4663067e the from preposition in various Phrasebooks 2011-08-22 14:40:57 +00:00
jordi.saludes baee60d6cc Correct 'Hotel' in Cat Phrasebook 2011-08-22 13:07:34 +00:00
hallgren f19c496b83 minibar: documentation fixes 2011-08-21 21:35:14 +00:00
hallgren 6c8c0cdc24 minibar: bug fix for "Try Google Translate" button 2011-08-19 13:56:12 +00:00
aarne 3a776d25b3 FoodsGle by Michal Mechura 2011-08-18 19:53:04 +00:00
aarne 095f296747 FoodsCze by Katerina Bohmova 2011-08-18 19:51:28 +00:00
hallgren 9c8fbd74fe gfse: fix an issue with Webkit browers
For lin and lincats with empty RHSs, there was nothing to point to to make the
edit button (the "%" button) appear in browsers based on Webkit
(Safari, Chrome).
2011-08-17 15:41:57 +00:00
hallgren 4cad2daa29 minibar: adding pgf_offline.js
This file exports the same PGF runtime interface as pgf_online.js but calls
the hs2js translation of the PGF runtime library (which is not included
in darcs).
2011-08-16 16:29:51 +00:00
hallgren 37f8db4432 demos: just recording some recent changes to the index page 2011-08-16 15:41:31 +00:00
aarne 69d0fecb7e Hebrew mini resource by Dana Dannells 2011-08-14 16:49:19 +00:00
hallgren 065178a64d gf.cabal: bump version to 3.2.8-darcs
This is just to make it easier to tell who has the latest version at the 
summer school. There has been some bug fixes in gf itself and some significant
additions to the RGL since 3.2 was released.

Also explicitly require Alex 2.x. The recently released Alex 3.0 has backwards
incompatible changes and does not work. GF/Grammar/Lexer.x should probably
be modified to support both Alex 2.x and Alex 3.0...
2011-08-12 14:02:24 +00:00
hallgren b2512234dd minibar: documentation and API work 2011-08-11 16:28:49 +00:00
hallgren 19d84b6de0 minibar: some functions were in the wrong file 2011-08-11 14:56:34 +00:00
hallgren 91cc4de1a2 minibar: more documentation (in minibar-api.html) 2011-08-09 15:57:40 +00:00
hallgren d4638f54ba minibar: refactoring for improved modularity
Two smaller objects have been factored out from the Minibar object:
Input and Translations. These have been placed in two separate files:
minibar_input.js and minibar_translations.js. Some common auxiliary functions
have also been moved to a separate file: minibar_support.js
2011-08-08 17:28:24 +00:00
hallgren e50731c511 minibar: resolve conflict 2011-08-08 14:08:55 +00:00
hallgren ab8ec58e08 minibar: improve pgf_online.js
pgf_online.js has been simplified and generalized to support the full
GF Web Service API. The changes are backwards incompatible, unfortunately.
The documentation and minibar.js have been updated accordingly.
2011-08-03 15:21:38 +00:00
hallgren a0ec59ccda minibar: small code and documentation tweaks 2011-08-03 14:24:47 +00:00
hallgren 8c620229e1 minibar: recording old configuration changes 2011-08-08 14:04:51 +00:00
hallgren 8cf7671e07 gfse: added links to download PGF files for user's grammars 2011-08-01 15:01:14 +00:00
hallgren a918bcaf68 gfse: add missing file share.html to darcs
Also fix bug in share.html by adding cloud.js to the list of loaded JavaScript
files.
2011-08-01 14:27:29 +00:00
hallgren b58fc79908 gfse: some correctness checks for concrete syntax
The editor now calls the GF server to check the syntax of expressions that
are part of concrete syntax (except for parameter types).
This is currently done by using the cc command of the GF shell, which puts
some unnecessary restricitons on operation definitions...
2011-07-29 15:44:19 +00:00
hallgren 7c6f6110eb gfse: refactoring
Factor out functions that interface to the old cloud service (upload.cgi) 
from editor.js into cloud.js. Merge changes from editor2.js into editor.js and
factor out functions that interface to gf -server into clouds2.js.
2011-07-29 13:45:37 +00:00
hallgren 9d547fbdca gfse: about: added a note that each grammar has a unique identity independent of its name 2011-07-26 15:03:33 +00:00
hallgren 0f7743992b gfse: various small improvements 2011-07-25 19:21:46 +00:00
aarne 848373e29e GenIP, GenRP in Extra and any_Quant in ExtraEng 2011-07-21 08:25:04 +00:00
Nick Frolov 29e40b92e1 The stub of Russian Phrasebook is tweaked to start giving sane output 2011-07-07 17:10:14 +00:00
hallgren 6c751da6e8 gfse: new section "Grammars in the cloud" in about.html 2011-07-07 16:59:37 +00:00
hallgren c4f1fbbc9a gfse: grammars in the cloud, still primitve, but good enough to be installed on the server, I think 2011-07-07 16:57:59 +00:00
hallgren c7fffd861b gfse: grammars in the cloud, work in progress
Cloud merging: when sharing grammars between two devices that previously each
had separate grammar directoies on the server, clean up one of the directories
and make it a symbolic link to the other.
2011-07-07 13:30:56 +00:00
aarne f224ead86b Nepali corrected in Synopsis; Nepali and Persian added to main page 2011-07-07 12:42:28 +00:00
hallgren db4753aa2d gfse: grammars in the cloud, work in progress 2011-07-06 16:55:42 +00:00
hallgren 25ae9b2dc4 gfse: initial support for grammars in the cloud
This lets the user access the same set of grammars from multiple devices.

Sharing grammars between multiple users is possible but discouraged at the
moment. There is no version handling, so concurrent editing of the same grammar
by different users might result in one user overwriting changes made by
another user. (The same goes for cuncurrent editing on multiple devices by
a single user, of course.)
2011-06-08 15:29:50 +00:00
adam.slaski 25a9efb13c phrasebook polish updated 2011-06-23 12:44:53 +00:00
hallgren 49c27436f5 minibar support.js: add function ajax_http_post for posting FormData 2011-06-21 16:10:44 +00:00
hallgren e1385da050 gf-server: make pgf-service work the Apache mod_fastcgi
pgf-service now appears to works with Apache mod_fastcgi (under Mac OS X) in
addition to lighttpd.

One difference appears to be that while lighttpd passes the name of the PGF
file in the SCRIPT_FILENAME variable, Apache passes it in PATH_TRANSLATED.
But perhaps this depends on exactly how the fastcgi service is configured.
The following is what I added to the Apache configuration file to test this:

	<Directory /Library/WebServer/Documents/fcgi-bin>
	  SetHandler fastcgi-script
	  Options +ExecCGI
	</Directory>
	Action pgf-service /fcgi-bin/pgf-service
	AddHandler pgf-service .pgf
2011-06-21 15:49:31 +00:00
hallgren 549cc324d7 gf-server: enable -rtsopts when compiling with ghc>=7.0 2011-06-21 15:45:13 +00:00
hallgren 739e4caef3 gf-server.cabal: a separate flag for the content service
* Use cabal install -ffastcgi to compile the fastcgi server.
  * Use cabal install -fcontent to compile the content service (off by default,
    currently broken)
  * Use both flag to compile both.
2011-06-21 15:38:57 +00:00
hallgren 55a20c6d05 gfse: fix a problem in browsers where "class" is a reserved keyword 2011-05-07 17:36:49 +00:00
aarne 11af624122 updated information on GF book 2011-06-20 20:52:23 +00:00
virk.shafqat fabd2fe192 refinementNepali-11-06-20 2011-06-20 11:24:22 +00:00
aarne 098af279e7 allow empty lines in transliteration files 2011-06-14 11:49:10 +00:00
aarne a3924abece Predef functions toUpper, toLower, isUpper 2011-06-02 16:10:46 +00:00
aarne d9ccb26c98 "Urd in Phrasebook Makefile; correct form of adj Spa.spanish_A" 2011-06-02 10:30:32 +00:00
aarne ce312050bf ported the change in English NPCase and Polarity to SUMO 2011-06-02 08:30:06 +00:00
aarne 889db78207 patches in Spanish adjectives by Inari 2011-06-02 07:24:20 +00:00
jordi.saludes fbdb3126c2 Fixed A's in Cat phrasebook nationalities 2011-06-01 15:50:21 +00:00
virk.shafqat 86d2e676bc refinementsTextUrd-11-05-19 2011-05-19 15:57:12 +00:00
virk.shafqat 54bf16d848 refinements-2011-05-19 2011-05-19 15:19:15 +00:00
virk.shafqat d101d16cae refinementsUrdPhrasebook-2011-05-13 2011-05-13 21:51:16 +00:00
aarne c3669542d1 addition to Urdu phrasebook 2011-05-13 11:14:47 +00:00
virk.shafqat d024a7665d refinementsUrdPhrbook-2011-05-12 2011-05-12 16:24:00 +00:00
virk.shafqat b7e638e534 refinementsUrdPnb-2011-05-11 2011-05-11 00:11:52 +00:00
virk.shafqat d106bdd54a refinements-2011-05-10 2011-05-10 14:33:08 +00:00
hallgren c207175e98 gfse: you can now add concrete syntax for arbitrary languages
Before, you had to pick a language from a list of supported languages, but now
you can also pick Other and change the language code afterwards.
2011-05-06 15:24:45 +00:00
aarne a01d18dd33 Urdu phrasebook (not complete) 2011-05-06 12:29:46 +00:00
aarne f158fad6f8 fixed problems in persian transliteration pointed out by Elnaz 2011-05-06 12:11:45 +00:00
virk.shafqat 4fa3130a32 refinements-Pnb-2011-04-30 2011-04-30 18:11:48 +00:00
aarne 4ec34bdbb6 transliteration via configuration file: ps -to=file or ps -from=file 2011-05-02 14:53:46 +00:00
hallgren fd0fb48493 Ctrl-C shouldn't terminate the GF shell
This quick fix should make Ctrl-C in the GF shell behave more like it does in
other shells: even if no command is running, Ctrl-C now just gives you a new
prompt instead of terminating the shell.
2011-04-20 14:30:49 +00:00
hallgren a53558aac0 GFI.hs: some refactoring for readability
Also some minor changes in how Ctrl-C is handled and how CPU time is measured.
2011-04-15 15:05:44 +00:00
aarne 1eb0fcba11 added book in the documentation 2011-04-15 12:07:59 +00:00
hallgren 99388d116d gfse: use "gf -server" mode instead of upload.cgi
Work in progress on making the online grammar editor use the new "gf -server"
mode instead of the old upload.cgi script. A first benefit is that the
editor now calls the server to check the syntax of lin & lincat definitions.
(But the links to minibar/gfshell/quiz are not available at the moment.)
2011-04-13 15:30:42 +00:00
hallgren 0a27aaf1e6 Added a preliminary "gf -server" mode.
The command "gf -server" now starts a simple HTTP server on port 41295,
providing a simple web API to the GF compiler. It currently support the
follwing operations:

  * creating new temporary directories for grammar uploads,
  * uploading grammars files for use in the GF shell,
  * executing GF shell commands, and
  * accessing static files.

This means that GF now depends on some additional networking related packages,
but they should be available and easy to install on all platforms. There is
also a new configuration flag "server" in gf.cabal, so GF will be compiled
without support for server mode if the extra packages are unavailable.

Note that running gf -server while connected to the internet can be a security
risk. To prevent unauthorized access to the rest of the system, it is
advisable to run the server in GF_RESTRICTED mode and as a user with suitably
restricted file permissions.
2011-04-13 14:58:01 +00:00
hallgren 8fed629a3e Show configuration options as part of build info
The GF shell welcome message will now include something like

	This is GF version 3.2.1-darcs. 
	Built on darwin/i386 with ghc-7.0, flags: interrupt

where a list of enabled configuration flags are included on the last line.

This is implemented in GF.Infra.BuildInfo by consulting the CPP macros
defined by the respective option in gf.cabal. For this to work,
GF.Infra.BuildInfo obviously has to be updated when new flags are added to
gf.cabal or if the CPP macros are renamed.

(Also, I suspect that if you reconfigure with different flags and rebuild GF
without cleaning first, the BuildInfo module will not be recompiled,
resulting in a misleading welcome message...)
2011-04-13 14:45:21 +00:00
hallgren d066619b8f GF.Infra.UseIO: add functions readBinaryFile & writeBinaryFile 2011-04-13 14:44:18 +00:00
hallgren 6b8fa745e2 minibar: fix typo 2011-04-11 13:03:46 +00:00
hallgren ca335793de minibar: small documentation updates and corrections 2011-04-11 13:00:52 +00:00
hallgren 4d4a58e54a GF shell restricted mode: found one more writeFile that should be restricted 2011-04-08 13:20:50 +00:00
hallgren 00a08fb4fb avoid warning from ghc-7.0
Warning: -fglasgow-exts is deprecated: Use individual extensions instead
2011-04-06 13:57:19 +00:00
hallgren b4e3e8c0fa avoid warning from ghc-7.0
Warning: -fglasgow-exts is deprecated: Use individual extensions instead
2011-04-06 13:43:29 +00:00
aarne 75e401d1a7 generate Eq instance for GADT 2011-04-06 12:27:31 +00:00
aarne 7067b1c992 fixed the printing of predefined and list categories in haskell=gadt 2011-04-06 07:45:35 +00:00
hallgren b1c2c27ae6 GFI.hs: refactoring to add a function for executing a single GF shell command.
The intention is to use the new function to implement a web service API to
the GF shell.
2011-04-04 20:06:55 +00:00
hallgren 1b08ca8a61 Add build info to the GF shell welcome message 2011-04-04 19:52:07 +00:00
hallgren d1b95cef99 gfse: somewhat simplified configuration/installation 2011-03-28 15:04:43 +00:00
hallgren 06a29cb573 gfse: added an alternate style sheet with the MOLTO color scheme 2011-03-28 14:46:15 +00:00
hallgren 17f3b456ce minibar: don't force focus to the typed input field after every word
On touch-based devices, the on-screen keyboard kept popping up after every word,
which was very annoying if you were entering a sentence by tapping on the
magnets.
2011-03-22 15:17:48 +00:00
hallgren 5c7ebcc511 minibar: add trailing slash in suggested grammar URLs 2011-03-22 15:12:54 +00:00
gdetrez 9a0889d687 Adding a missing file for the tokenizer... 2011-03-17 16:04:21 +00:00
gdetrez 45ecae4b77 Adding a basic lexicon-based tokenizer and the asociated command in gf shell 2011-02-10 15:00:06 +00:00
gdetrez d7ae73f1c7 Adding an option to the gf compiler to add an index to pgf files
This is gonna be used by the android library to skip unused part of a
pgf file
2010-12-11 16:36:30 +00:00
aarne a59df6b495 started a grammar for grammatical terms, covering the cats of the RGL 2011-03-14 18:48:08 +00:00
aarne b9ebd48a2c smaller query grammars for MOLTO KRI 2011-03-13 19:49:41 +00:00
aarne 7361ddea45 make it possible to override opers defined in an interface by syntax 'instance Foo of Bar - [f,g,h]' 2011-03-12 11:24:14 +00:00
aarne 3ddc29f2dc make later flags take priority over earlier ones in PGF generation 2011-03-12 11:22:21 +00:00
aarne 1599ce4ba9 generalized pt -transfer so that it goes into subtrees (naive implementation in TreeOperations; using PGF.Expr.match would be better); example given in 'h pt' 2011-03-12 10:20:54 +00:00
hallgren b9bfb3ccec gfse: documentation fixes, links to MOLTO meeting slides and compiler API document 2011-03-09 11:11:47 +00:00
hallgren d30a3b182b gfse: add a link from demo page to the editor 2011-03-09 10:05:53 +00:00
krasimir 18519c20fd fix the grammar browser in the editor 2011-03-08 12:32:51 +00:00
krasimir 42ad2d5e95 the user can now upload their own grammars in the editor 2011-03-07 21:05:29 +00:00
hallgren 62c85f1bb6 gfse: create a new concrete syntax by copying an existing one
When adding a new concrete syntax to a grammar, the currently open concrete
syntax will be copied. If the abstract syntax is currently open, the new
concrete syntax will start out empty.
2011-03-07 17:52:15 +00:00
hallgren cfb5f6eb7e gfse: link back to the editor from the upload page 2011-03-07 16:05:55 +00:00
hallgren 629919667b gfse: minor layout/formatting variation 2011-03-06 10:19:17 +00:00
aarne f32307b39d added composOp generation to haskell-gadt, and an example in examples/gadt-transfer 2011-03-05 22:25:03 +00:00
aarne d9b5d3ed4d switched the upper and lower parts of lexc entries to their standard order 2011-03-04 17:25:53 +00:00
aarne 14f11bb2b9 revived GADT generation 2011-03-04 17:05:40 +00:00
aarne 88a0790f32 fixed a variable refreshing bug in the compiler 2011-03-04 16:44:30 +00:00
hallgren 914ee33396 minibar: add icon for word alignment button 2011-03-03 19:19:47 +00:00
hallgren 527e000a12 minibar: add a button to display word alignment 2011-03-03 19:18:09 +00:00
hallgren 2c1feccd17 GF shell restricted mode
By setting the environment variable GF_RESTRICTED before starting GF, the shell
will be run in restricted mode. This will prevent the GF shell from starting
arbitrary system commands (most uses of System.Cmd.system are blocked) and
writing arbitrary files (most commands that use writeFile et al are blocked).

Restricted mode is intended minimize the potential security risks involved
in allowing public access to the GF shell over the internet. It should be used
in conjuction with system level protection mechanisms (e.g. file permissions)
to make sure that a publicly acessible GF shell does not give access to parts
of the system that should not be publicly accessible.
2011-03-03 15:42:57 +00:00
hallgren b190d30fad gf.cabal: bump version number, add source repository info
I changed the version number to 3.2.1-darcs.
I think the version number of the current version from darcs should always
include the "-darcs" suffix (or "-current" perhaps?). The suffix should be
removed only momentarily when making an official release.
2011-03-03 15:24:43 +00:00
aarne f8c4903285 overloaded opers included in sorting of judgements 2011-03-03 15:10:31 +00:00
aarne f32091cd53 print lexicon in Xerox LEXC format: pg -lexc 2011-03-03 08:31:15 +00:00
aarne 8e3674600c corrected help for l command 2011-03-01 16:15:20 +00:00
hallgren e06e587de1 demos/index.html: minibar is now available on the standard port
Minibar was at http://www.grammaticalframework.org:41296/minibar/minibar.html
but now also at http://www.grammaticalframework.org/demos/minibar/minibar.html
which means it is accessible behind firewalls that block requests to
nonstandard ports.
2011-03-01 15:02:13 +00:00
hallgren 6c60b086cf demo/indx.html: record translation quiz entry 2011-03-01 14:58:51 +00:00
hallgren 45b59b0e7e minibar/support.js: recognize relative URLs as locations on the same server
This means that the relative grammar directory location in the default
configuration will result in AJAX requests rather than the less efficient
JSONP requests.
2011-03-01 14:47:20 +00:00
hallgren a01704fd3e minibar: make the feedback form work in the generic minibar
It is still disabled by default, since some manual configuraiton of
feedback.cgi is required.
2011-03-01 13:46:00 +00:00
hallgren 758e2a031d gfse: fix missing startcat flag bug + documentation updates 2011-02-28 16:47:25 +00:00
hallgren 790e086a54 gfse: fix persmission problem in upload.cgi 2011-02-28 15:46:42 +00:00
hallgren a4c82e51a0 gfse: include a -path flag to find rgl modules 2011-02-28 15:45:55 +00:00
hallgren 1cae23fce7 gfse: support for opening RGL modules 2011-02-28 14:18:20 +00:00
hallgren a9287e83af gfse: minor documentation and style improvements 2011-02-28 12:41:05 +00:00
aarne 0dfbc9b730 the command show_operations to inspect opers in scope 2011-02-28 13:31:04 +00:00
aarne 66f95c2cb7 removed message showing what modules are read unless in verbose mode 2011-02-26 10:25:09 +00:00
aarne 445a3aafeb Predef.error surfaces as error message in compilation and cc command 2011-02-25 17:01:10 +00:00
aarne 77b02544fb simple grammar for dates 2011-02-25 15:44:25 +00:00
aarne 390566b17e command ga moved to option 'aw -giza' 2011-02-25 12:55:36 +00:00
aarne c51c011dda FoodsNep by Dinesh Simk 2011-02-24 14:05:16 +00:00
hallgren 8b76047cda gfse: allow definitions to be reordered by drad-and-drop 2011-02-22 16:04:49 +00:00
hallgren 27f4ad15e3 gfse: fix typos 2011-02-18 14:51:06 +00:00
hallgren a74a0ae980 gfse: document that grammars can be uploaded and tested in the GF shell, the minibar and the translation quiz 2011-02-18 14:47:20 +00:00
hallgren e0030daaa7 gfse: updated screen shots 2011-02-18 14:46:18 +00:00
hallgren 173a5e3db2 gfse: support for linking to the translation quiz 2011-02-18 11:44:05 +00:00
hallgren ac41fe547f translation quiz: always show the grammar menu 2011-02-18 11:52:08 +00:00
hallgren c2c8f34288 translation quiz: a small change to make easy to select an alternate grammar directory 2011-02-18 11:51:41 +00:00
hallgren 8dd2a1ddc0 gfse: some small fixes
+ 'make install' to copy all required files to the server
+ configuration options and error checks in upload.cgi
2011-02-17 17:35:22 +00:00
hallgren c1f0d57210 Adding the prototype GF editor for simple multilingual grammars 2011-02-17 14:43:41 +00:00
hallgren 41d37dd353 Adding the prototype GF editor for simple multilingual grammars 2011-02-17 14:42:16 +00:00
hallgren cc2f9d012c Adding the prototype GF editor for simple multilingual grammars 2011-02-17 14:38:46 +00:00
aarne c6825f38df example/Discourse for English too 2011-02-09 22:57:56 +00:00
aarne 805c12c49a factored DiscourseFin to 4+5 constructors 2011-02-09 17:11:45 +00:00
aarne 9c68dbcdb1 more general discourse particles in Finnish 2011-02-09 16:42:15 +00:00
aarne 9aeb51b4a5 experimenting with discourse particles in DiscourseFin 2011-02-08 15:49:47 +00:00
aarne 3c82593fdd examples/discourse on Finnish discourse particles and their translations 2011-02-08 12:30:13 +00:00
hallgren 12ad869c69 Download page: added Mac .pkg from Jordi Saludes 2011-02-07 12:20:02 +00:00
aarne 7445e56387 a simple clitic analysis command 'ca' 2011-02-06 16:19:24 +00:00
aarne 878fefc6f5 removed some nonsense-producing variants from Query 2011-01-31 10:03:59 +00:00
aarne 3f0b55b00b new Foods grammars: Fre by Hissu Hyvärinen and Spa by Maarit Koponen 2011-01-31 08:25:28 +00:00
aarne f875fe563a corrections to ancientgreek encoding by Hans Leiss 2011-01-31 08:06:42 +00:00
aarne b35c29554d started CompilerAPI, still dummy 2011-01-28 15:28:05 +00:00
hallgren eb21e14991 minibar: a small change to make easy to select an alternate grammar directory 2011-01-27 22:23:15 +00:00
hallgren 76736a6662 Translation Quiz: fix for race condition on page load 2011-01-26 16:21:23 +00:00
hallgren 62d1ea5a34 Translation quiz: improvements from Elnaz 2011-01-25 11:58:49 +00:00
hallgren 5d2b203901 New item. GF is part of the CLT Toolkit 2011-01-22 14:26:15 +00:00
hallgren 991a433b17 Fix broken links in GF Quick Reference 2011-01-22 14:14:00 +00:00
hallgren 4fda9b5b63 News: Phrasedroid on the Android Market 2011-01-18 13:13:02 +00:00
hallgren e3d390d81d style.css: remove border from linked GF logotypes 2011-01-18 12:59:55 +00:00
hallgren f8eed920ff Release notes: added a link to documentation of the bracketed string data structure 2011-01-12 13:01:23 +00:00
hallgren 1604a9370a Fixed a couple of release note typos 2011-01-11 16:09:20 +00:00
aarne e7439d65b0 gf-book web page index and toc 2011-01-11 15:46:43 +00:00
hallgren 276327f7f2 download: added an note that the .deb packages work on both Ubuntu 10.10 and 10.04. 2011-01-11 14:24:17 +00:00
hallgren 5074b28d4c Link back to the start page from the demo and download pages. 2011-01-11 14:22:28 +00:00
hallgren 65c45e181f Reinstated the link to the multilingual wiki demo 2011-01-11 14:07:11 +00:00
hallgren 11d6326fae minibar: update my home page link (cs->cse) 2011-01-11 13:18:19 +00:00
hallgren 7ea1655165 Demos: added a link to the Online syllogism solver 2011-01-11 13:11:08 +00:00
krasimir 37d0200c7f added testsuite for the parser 2011-01-10 10:34:09 +00:00
hallgren 5d8d1999d8 The name of the fastcgi executable has changed back to pgf-service 2011-01-09 15:32:17 +00:00
krasimir 5941995c59 fix the computation of abstract expressions in the presence of implicit arguments 2011-01-08 20:55:58 +00:00
krasimir f7a740d1bd fix the definition of functor composition in category theory 2011-01-08 20:43:45 +00:00
krasimir d465292fde bugfix in the handling of implicit arguments in the typechecker 2011-01-08 12:55:50 +00:00
hallgren a985ea56ef Download page: some more details on how to install the from darcs repository 2011-01-03 14:42:11 +00:00
hallgren aa290678d6 Download page: add .deb package for easy installation in Ubuntu 2011-01-03 14:41:27 +00:00
krasimir c8b6192128 The GF editor now lets the user to upload his/her own grammars 2010-12-28 16:26:10 +00:00
hallgren 3f34dee15b Fix to compile GF with GHC>=7.0 2010-12-28 13:54:18 +00:00
hallgren 55c2b7a083 Switch over start page and download page to version 3.2! 2010-12-23 20:35:36 +00:00
hallgren ac6a3eace9 Somewhat better release notes, but more things could be added and some thing could be explained better. 2010-12-23 19:57:41 +00:00
hallgren 345d737e63 download: add 64-bit Linux version + more details in the instructions for building from source 2010-12-23 17:03:40 +00:00
hallgren 730bfd6c11 gf-server.cabal: changes to stop cabal from demanding hsql even when content-server is not going to be built 2010-12-23 17:02:13 +00:00
hallgren bbc90b70f8 Got release not from Olga's notes. They need to be fleshed out, though. 2010-12-23 15:12:31 +00:00
aarne 084a0c8dde updated quick start 2010-12-23 15:09:31 +00:00
hallgren 37dc9fac42 build-binary-dsit.sh: make paths relative to /usr/local in the final tar file. 2010-12-23 12:40:04 +00:00
hallgren 231ce72bb4 Use i386 rather than i486 in binary package names 2010-12-23 12:18:11 +00:00
hallgren bde22eadb5 Include Urd in the default set of languages to compile 2010-12-23 11:44:40 +00:00
hallgren 46ac2b60e7 Update version number to 3.2.
Code freeze for generation of binary distribution packages is imminent.
2010-12-23 11:26:33 +00:00
hallgren 9a8c660f5e Add release notes file download/release-3.2.t2t. Someone should fill it in. 2010-12-23 11:21:19 +00:00
hallgren 96c1a86e75 Apply stylesheet to GF quickstart 2010-12-23 10:32:39 +00:00
aarne c3071113b3 word alignment ex in tutorial 2010-12-23 10:05:27 +00:00
aarne 706f3c89b5 fixed corrupted character in tutorial FoodIta 2010-12-23 10:04:50 +00:00
aarne 3036881d20 updated tutorial and quickstart for 3.2 2010-12-23 09:33:11 +00:00
hallgren 0b4aad88f6 Setup.hs: build both alltenses and present by default
Now you can specify more than one mode when building and installing the RGL.
For example to build all modes, run

        runhaskell Setup.hs build alltenses present minimal

The default is to build alltenses and present, which means that a single
command,

        cabal install

is enough to obtain a normal installation of GF. Without this change, additional
build and install commands would be required before you can compile example
grammars, like Foods and Phrasebook.

The build-binary-dist.sh script has been simplified accordingly.
2010-12-22 21:18:47 +00:00
aarne 4abd042759 FoodsPes and Sofy in status 2010-12-22 14:47:54 +00:00
hallgren 40b84d25e3 Documentation fixes
+ Rename some txt2tags file from .txt to .t2t and remove abandoned .txt files.
+ Add program update_html that finds all .t2t documents and updates the
  corresponding .html file. It can be invoked with 'make html'.
+ Add style to some .html documents
2010-12-22 16:57:53 +00:00
hallgren 59b36e0e4a PGF web service: make the generated index.html for pgf-http a bit more informative 2010-12-22 15:06:02 +00:00
hallgren 6eb3d8ae9c gf-server.cabal: update description of fastcgi flag 2010-12-22 15:05:10 +00:00
hallgren ee018154c8 gf-server.cabal: make hsql-mysql optional like fastcgi
content-service depends on hsql-mysql, which depends on a C library, so like
fastcgi, only compile it if you ask for it explicitly with -ffastcgi.
2010-12-22 14:59:49 +00:00
hallgren 5b68ac537f gf-server.cabal: Change the default for the flag fastcgi to False
If you want the fastcgi server, use cabal install -ffastcgi.

This is to avoid problems when you only want to compile pgf-http and the
fastcgi library fails to install, which it usually does, since it depends on
a C library which is not installed automatically with cabal.
2010-12-22 14:49:17 +00:00
hallgren 505d99ec37 PGF web service: Use Content-Type text/javascript from JSON output
The Content-Type used to be text/json, but this caused warning messages in
some web browers.
2010-12-22 14:47:35 +00:00
aarne c5b9637695 removed GF/deprecated 2010-12-22 14:11:55 +00:00
aarne ce15ec7b78 moved parts of doc to deprecated/doc 2010-12-22 14:08:42 +00:00
krasimir fb722fe8e2 added GrammarsPanel in the GF editor 2010-12-22 13:51:26 +00:00
aarne 5cd1dc9f88 updated GF/index.html 2010-12-22 13:06:03 +00:00
krasimir d28242c03e tweak gf-server.cabal 2010-12-22 12:32:13 +00:00
aarne eb478cecb6 refined synopsis 2010-12-22 09:57:16 +00:00
aarne 27664de321 making synopsis work for structural words, etc 2010-12-21 23:23:20 +00:00
hallgren 4bab82398c Add build-binary-dist.sh 2010-12-21 22:18:48 +00:00
krasimir 0aab9833f7 more clear LICENSE file for GF 2010-12-21 10:57:54 +00:00
aarne e1e0bf1a22 remove -src from Setup; simplified str2numeral; bug fix in Finnish ordinal inflection 2010-12-21 09:58:12 +00:00
hallgren ad736fc7b1 download/index-3.2.t2t: first version of download page for GF release 3.2 2010-12-20 21:56:10 +00:00
hallgren 82d32af410 css/style.css: a style sheet for GF web pages 2010-12-20 21:54:51 +00:00
hallgren 721fae10a2 index.html: changes for release 3.1.6
It's a bit late. I don't know why these changes haven't been recorded before...
2010-12-20 21:35:38 +00:00
hallgren 74fe9d1352 New demo: translation quiz. Remove outdated demos/index.txt 2010-12-20 17:33:34 +00:00
hallgren 9cb4b5db83 gf.cabal: version 3.1.91, remove pgf-http
The version of cabal distributed with Ubuntu 10.10 is too old to handle
executables that refer to the library in the same package, so to not make it
too complicated for Ubuntu users to compile GF from source, pgf-http is no
longer part of the main gf.cabal. :-(
2010-12-17 16:59:35 +00:00
hallgren e8e13a6315 Add -optimize-pgf to Makefile for Foods.pgf 2010-12-17 16:47:25 +00:00
hallgren 65b717c362 minibar.html: omit explicit grammars_url option
The grammars will then by default be fetched from the same server as
minibar.html. This means that everything will be served locally when accessing
minibar through a locally running pgf-http.
2010-12-17 16:43:11 +00:00
hallgren 9ad094577a minibar/support.js: fix comment typos and add links 2010-12-17 16:42:08 +00:00
hallgren 2e6269ddb4 pgf-http now uses $datadir/www instead of ./www as the document root
Along with the changes to Setup.hs it should now be enough to do

	cabal install
	pgf-http
	open http://localhost:41296/

to run the PGF service locally and play with some example grammars in minibar.
2010-12-17 16:35:59 +00:00
hallgren 7ebdacc884 RunHTTP.hs: remove hardcoded document root
The document root is now part of the arguments passed to runHTTP.
2010-12-17 16:33:54 +00:00
hallgren c51d1f9833 Install minibar and some example grammars along with pgf-http
Together with the changes to pgf-http, this should make it much easier to run
the PGF service and minibar locally.
2010-12-17 16:29:22 +00:00
krasimir 71e0ec4d41 bugfix: GeneratePMCFG should initialize the lexicon to empty 2010-12-17 09:11:04 +00:00
krasimir e4b2b8541f bugfix: setProbabilities should be more robust when there are missing probabilities for some functions or categories 2010-12-17 09:09:07 +00:00
aarne 2057c9f284 fixes in QueryFre 2010-12-16 16:27:13 +00:00
aarne f390b2a338 some fixes in QuerySwe; a first version of QueryFre 2010-12-16 15:53:07 +00:00
aarne 61e4e9ac20 updated documentation of pg -printer formats 2010-12-14 22:05:53 +00:00
aarne 9c86b62212 documented the pgf -printer values for help 2010-12-14 20:40:17 +00:00
aarne 4a5d8d9f55 option cc -list added 2010-12-14 17:42:42 +00:00
krasimir 505e34aea7 PGFToCFG should use the full production set because the lexicon is now split out 2010-12-14 21:25:43 +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
hallgren 13bddae588 numerals: add language flags
to help minibar pick the right default language
2010-12-14 16:41:28 +00:00
hallgren 42259d2957 Update version number to 3.1.90 to indicate that we are getting close to the 3.2 release 2010-12-14 15:43:35 +00:00
aarne e7fbe756a3 work-around in Tree.expr2tree to make Paraphrase work 2010-12-14 14:36:05 +00:00
aarne a8a3c62f60 type checking of oper types with let expressions 2010-12-14 14:35:41 +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 0c4f5030c7 update the testsuite for the parser to the latest API 2010-12-13 17:53:06 +00:00
aarne 9b5223a06b fixed the failure to partial-evaluate pre in right-associative context 2010-12-11 16:27:35 +00:00
gdetrez 1ed5b52a03 In the haskell code, we make the binary representation of the doubles compliant with IEEE 754.
The default binary representation in haskell's Data.Binary package is
homemade and quite complicated. Making it compliant with IEEE 754 will
make it easyer for the java runtimes (and probably others) to load the
PGF.
2010-10-19 18:34:29 +00:00
aarne 96433c2914 preparing resource api for multilingual documentation 2010-12-10 08:48:26 +00:00
hallgren 8bb09fd64a minibar/support.js: add an errorcallback parameter to ajax_http_get 2010-12-09 16:38:16 +00:00
aarne 9adfac7ff1 no pro drop for polite forms in PhrasebookPol 2010-12-08 15:26:25 +00:00
aarne f6e088770f ProDrop in PhrasebookPol 2010-12-08 14:01:34 +00:00
krasimir 73a10e1a66 some more functions in GF.Data.TrieMap 2010-12-08 12:51:37 +00:00
aarne 55bd1cb8d0 CompCN in Hindustani and Pnb by Shafqat 2010-12-08 10:59:48 +00:00
krasimir 0f4927dd40 fixed typos in the documentation for PGF.Parse 2010-12-08 10:32:18 +00:00
krasimir b6446ec36d simple refactoring in PGF.Macros and related 2010-12-06 14:19:51 +00:00
aarne 0f444d8893 optimize-pgf and file flag in pg -pgf 2010-12-07 19:28:40 +00:00
aarne dd6e0b1730 moved PGF.ToApi to GF.Compile.ToAPI 2010-12-07 18:05:13 +00:00
aarne 978e2e4241 shell command pg -pgf writes current pgf into a file 2010-12-07 16:05:37 +00:00
hallgren b39d69eeae minibar.js: restore start_miniabr function for backward compatibility 2010-12-07 13:00:36 +00:00
aarne 550c90e93e wir without capitals in PhrasebookGer 2010-12-07 12:54:05 +00:00
aarne e8adb69e3d slight refactoring of Phrasebook, with less start words 2010-12-07 12:32:57 +00:00
aarne cb0a1ede45 changed animals so that it compiles, after manual removal of duplicated api functions (to be fixed in ToAPI) 2010-12-06 11:03:00 +00:00
aarne 1f75143d6c printing option -api in the eb command 2010-12-06 10:49:38 +00:00
ra.monique 7fba8c338d no more IO in the syntax to API translator 2010-12-06 10:15:14 +00:00
aarne 00111b10c1 vt -api with conversion to resource API names 2010-12-06 09:53:04 +00:00
ra.monique 6268c2d7d9 added syntax to api translation module 2010-12-05 19:51:19 +00:00
hallgren 18e3687832 minibar: rewrite minibar.js in a more idiomatic JS OOP style
This provides easier access to minibar internals for people who want to extend
it, but probably also reveals too much of the internal machinery...
2010-12-01 16:37:14 +00:00
hallgren b0027c3305 Let minibar keep its own copy of tree-btn.png 2010-12-01 16:28:27 +00:00
hallgren a2b9a684c0 support.js: add function bind (JS OOP trick) 2010-12-01 16:20:28 +00:00
aarne 9b6f775b76 documentation in gfm-format examples (dir renamed from multi) 2010-12-01 08:10:23 +00:00
hallgren acfa9722e2 Setup.hs: improved langs=... option
Instead of just giving an explicit list of languages to compile, you can
now also add and remove languages from the default list by using langs=+...
or langs=-...

Examples:

	cabal build langs=Eng,Swe,Ger   -- as before, compile the given 3 langs
	cabal build langs=-Fin          -- use default languages, but omit Fin 
	cabal build langs=+Urd		-- use default languages + Urd

("cabal build ..." is the same as "runhaskell Setup.hs build ...")
2010-11-30 16:49:15 +00:00
hallgren 47c276a656 Setup.hs: omit urdu when compiling the rgl, for now. 2010-11-30 16:29:36 +00:00
aarne 1b5fa37a26 two examples of the .gfm format 2010-11-30 14:54:03 +00:00
aarne 752a7b8030 format .gfm for multiple modules in the same file; includes lines with ;-separated words 2010-11-30 14:50:24 +00:00
ra.monique 667e7e67d3 fixed SUMOEng with open instead of import for the Extension module 2010-11-28 19:38:56 +00:00
hallgren 8e6421a03e minibar/about.html: minor adjustments 2010-11-28 11:52:48 +00:00
hallgren 4b45cc6b48 Use the internal preprocessors mkPresent and mkMinimal 2010-11-26 18:49:01 +00:00
hallgren 52eb1dcc37 Add builtin preprocessors. Avoid creating tmp file. Fix multipreprocessor bug.
* The gf command line options -preproc=mkPresent and -preproc=mkMinimal now
  refer to internal preprocessors equivalent to lib/src/mkPresent
  and lib/src/mkMinimal.

* The temporary file _gf_preproc.tmp is not created when running an
  internal preprocessor, unless there is an error, since errors messages
  refer to locations in the preprocessed file. (Possibly allowing the rgl
  build to be parallelized.)

* After running an external preprocessor, the temporary file is deleted,
  unless there was an error.

* (Bug fix) Before, when running more than one preprocessor, the same file name
  would be used for both input and output, e.g.,

	mkPresent _gf_preproc.tmp > _gf_preproc.tmp

  which would result in an empty file being processed. Now, the input and
  output files will always be different.
2010-11-26 18:25:29 +00:00
hallgren 4c6b772934 Adding rules for pgf-http to main gf.cabal file
pgf-http is now part of the standard GF build & install.
2010-11-26 15:44:43 +00:00
hallgren 72d2d9b204 Split pgf-server into pgf-fcgi and pgf-http.
The dependency on the fastcgi package made pgf-server difficult to compile, so
it is now split into

  - pgf-fgci (main module in pgf-fcgi.hs), which is built only if fastcgi is
    already installed or if you turn on the fastcgi flag (e.g. by doing
    'cabal install -f fastcgi').

  - pgf-http (main module in pgf-http.hs) which is always built (and hopefully
    has no problematic dependencies.) 

The modules FastCGIUtils and PGFService no longer depend on fastcgi.
2010-11-26 14:30:51 +00:00
hallgren 75ad59b121 pgf-server: more useful JSON output from lineraizeAll
Example:

Request: http://www.grammaticalframework.org:41296/grammars/Quiz.pgf?command=linearizeAll&tree=Run+YouPl

Response: [{"to":"QuizEng","texts":["you run"]},
           {"to":"QuizSwe","texts":["ni l??per","ni springer"]}]

Compared to the old command linearize:

Request: http://www.grammaticalframework.org:41296/grammars/Quiz.pgf?command=linearize&tree=Run+YouPl'

Response: [{"to":"QuizEng","text":"you run"},
           {"to":"QuizSwe","text":"ni l??per"}]
2010-11-25 18:30:30 +00:00
aarne 243a0b3659 DiffUrd and Hin; updated Transliteration.hs 2010-11-25 12:22:58 +00:00
aarne 6734572aaf linearizeAll in PGFService 2010-11-24 21:17:29 +00:00
aarne 153568c17f lang flag in align_words sets the list of languages 2010-11-22 22:41:29 +00:00
krasimir 0b80b3ef0a command ai in the shell now shows the probability of the tree 2010-11-24 12:51:54 +00:00
hallgren ee85111d38 minibar/about.html: document recent development 2010-11-23 12:26:32 +00:00
aarne 67176f1520 completed book examples 2010-11-22 15:48:52 +00:00
aarne 76ba03b545 started a subdir for the book 2010-11-22 12:55:37 +00:00
aarne 0bf4179369 tools/Multi, a script for generating multilingual lexicon grammars with the minimum of effort 2010-11-19 16:50:32 +00:00
aarne 2acb125f6f fixed some bugs in translation quiz 2010-11-17 08:30:02 +00:00
krasimir 7a2ab26f9f forgot to add ContentService.java in the GF Editor 2010-11-17 10:46:00 +00:00
aarne cf8e1850bd query language versions merged 2010-11-15 17:28:39 +00:00
krasimir f6a7292ad2 bugfix for the abstract operations 2010-11-15 09:38:31 +00:00
aarne 75570c9820 flags in Setup.hs to speed up library compilation 2010-11-13 22:18:41 +00:00
krasimir 115b4213d5 operations in the abstract syntax 2010-11-12 19:37:19 +00:00
hallgren b46442ab0b examples/numerals: adapt to current GF syntax 2010-11-12 16:46:44 +00:00
aarne bad36015d2 lib/amharic by Markos Kassa Gobena 2010-11-10 17:01:12 +00:00
hallgren 41df4e00ff Some pgf-server API documentation 2010-11-09 21:02:07 +00:00
hallgren b0594eb545 pgf_online.js: if a grammar list is supplied, you don't have to call switch_grammar. 2010-11-09 16:29:04 +00:00
hallgren 61837063a1 Make PGFService.hs compile again
+ PGFService.hs: add Nothing arguments in calls to PGF.parse_ and
  PGF.getPArseOutput
+ gf-server.cabal: mark content-server as not buildable, since required source
  files are missing.
2010-11-09 15:08:37 +00:00
hallgren 91ba2c01bf minibar.js: code simplification 2010-11-09 11:58:38 +00:00
hallgren e07098e31f support.js: two new functions: commonPrefix & insertFirst 2010-11-05 15:41:06 +00:00
krasimir f86ed9677a fix the history management in the editor 2010-11-07 16:17:15 +00:00
aarne c5334613c5 trying to find some inefficiencies in Finnish resource 2010-10-25 19:56:47 +00:00
krasimir ad28e99f35 preliminary UI for storage/retrieval/search of documents in the GF editor 2010-11-01 09:25:22 +00:00
ramona.enache 1f8a0f0876 added giza Alignments with command ga and merged the rendering algorithm for graphviz and giza alignments 2010-10-31 13:39:01 +00:00
hallgren 524fb1a6bc minibar.js: bug fix: when not using group translation, and a particular language is chosen in the To: menu, the translation would not be displayed 2010-10-28 12:39:56 +00:00
hallgren 7fac5dc089 minibar.js: bug fix: the To: menu wasn't updated properly when switching grammars 2010-10-28 11:53:50 +00:00
krasimir 119f7bc78a update the testsuite. Now we can typecheck more programs than before 2010-10-27 17:58:40 +00:00
hallgren 5fc0e059c5 minibar: restructured code and improved user interface
* Keyboard input and completion should now work much more smoothly:
  + When you press space, the current word will be completed (if incomplete)
    and a new magnet will be created. If there is more than one possible
    completion, no magnet is created, but the common prefix of the possible
    completions is added to the text box.
  + Instead of asking the server for possible completions every time a new
    letter is added to the curent word, minibar only ask for completions for
    whole words and then filters the list locally when more letters are entered,
    speeding things up when server responses are slow.

* Code restructuring:
  + The PGF server API has been moved to its own file: pgf_online.js. This
    allows it to be reused in other applicaitons without importing the entire
    minibar. It also allows minibar to be used with different server interfaces.
  + The minibar code has been rewritten to avoid storing state information
    in the document tree and accessing it by referring to named document
    elements. The code now also avoids using string literals contaning
    the names of top-level functions to specify event handlers for buttons
    and menus. (The code is no longer introspective, so alpha conversion will
    not change its meaning.)
2010-10-26 12:42:33 +00:00
hallgren 1e51a2e9e5 support.js: some enhancements and new functions
+ ajax_http_get(url,callback) now checks the HTTP response status and shows an
  error message if the status is not OK (is not 200)
+ New function node(tag,attrs,children) to create document nodes with arbitraty
  attributes and children. The functions node() and text() should now be enough
  to construct arbitrary document trees in an easy, functional way, and many of
  the more specialized functions could be removed.
+ When calling the function button(label,action,key), the action can be a
  function instead of a string, so you can use local/anonymous functions.
+ New function debug(str) adds text to the element with id=debug, if it
  exists.
2010-10-26 11:52:04 +00:00
aarne 092c75bb5f new numerals/amharic.gf by Markos 2010-10-26 09:56:48 +00:00
krasimir 0ba1daf5eb when faced with hard unification problem the type checker should just postpone the decision instead of failing immediately. added test case as well 2010-10-25 15:47:33 +00:00
krasimir aa6b07afdb when we print the bracketed string it is useful to print the attached metavariables as well 2010-10-25 12:21:12 +00:00
krasimir 2aea03a614 update the testsuite to the latest state of the compiler/interpreter 2010-10-25 11:50:41 +00:00
krasimir 84736e5712 fixed typo in GeneratePMCFG.hs. fidFloat -> fidVar 2010-10-25 11:48:17 +00:00
krasimir 2d3340b48a During the compilation, the final message "OK" should be displayed only if we are not in silent mode. This was changed incidentally on the way. 2010-10-25 11:31:16 +00:00
krasimir 822a70cf7a change the TcM monad to continuation passing style. The old monad caused stack overflow for large search spaces 2010-10-21 15:01:52 +00:00
krasimir 4f3b4bb19f added week day's names in SUMO for Bulgarian and Swedish 2010-10-21 14:48:04 +00:00
krasimir 82edf7bebb support for proof search with high-order functions 2010-10-21 12:47:26 +00:00
aarne 8bffe71cd4 functorized Query and added Swe 2010-10-20 16:22:23 +00:00
krasimir 2991b7acef bugfix in the term generation 2010-10-20 13:36:39 +00:00
krasimir d45b4ae426 fixed typo which broke the parsing with -openclass 2010-10-20 09:04:48 +00:00
krasimir 4ac1cf4970 in the type checker monad we should use lazy pattern matching because otherwise we force the exhaustive tree generation to be strict 2010-10-19 13:04:41 +00:00
krasimir e36cc73b0f in tutorial/smart remove the hack that forced the proof object to be resolved 2010-10-18 12:28:39 +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 205ac48ac3 typo in PGF.TypeCheck which spoiled the previous patch 2010-10-18 16:50:55 +00:00
krasimir 702b4aad3b now we use the GF reasoner to fillin meta variables in the abstract trees generated from the parser 2010-10-18 15:55:14 +00:00
krasimir 9723055350 forgot Birds.gf 2010-10-18 13:03:43 +00:00
krasimir 4e382e3306 translation to English of the Birds dictionary 2010-10-18 11:41:39 +00:00
hallgren 57f0124f2a minibar.html: add a <noscript> element with a note that the page doesn't work unless JavaScript is enabled 2010-10-23 14:56:10 +00:00
hallgren d803d2a925 minibar.js: show the type error messages that can occur for grammars with dependent types 2010-10-18 12:15:30 +00:00
krasimir ca0214d6a1 small Swedish/Bulgarian dictionary of birds in SUMO 2010-10-18 08:55:51 +00:00
hallgren 26da60d0a9 minibar.js: add an option to enable/disable the Random button 2010-10-17 16:48:21 +00:00
krasimir 9acd33f878 added .authorspellings file in the root directory 2010-10-16 13:10:06 +00:00
krasimir 05a52d6937 now since the type checking monad TcM is nondeterministic we can use the same monad in PGF.Forest.getAbsTrees 2010-10-14 14:28:40 +00:00
krasimir 82214f0be5 generalize the nqueens function in NQueens.gf 2010-10-13 17:53:44 +00:00
krasimir 95713b9489 add start category S in NQueens. This helps the EditorApp to find the start category 2010-10-13 13:53:29 +00:00
krasimir 354838807f use "-" and ";" instead of "_" and "\n" in NQueens 2010-10-13 13:47:22 +00:00
krasimir 7fc638e030 bugfix in PGF.VisualizeTree for handling trees with implicit arguments 2010-10-13 13:32:48 +00:00
krasimir 5ff6489013 WebUI: show error when depth/limit has invalid value 2010-10-13 12:53:42 +00:00
krasimir 09ce38742c fix PGF.Generate.restart. The restart should be done only if there are some solutions found 2010-10-13 12:38:51 +00:00
krasimir cecf94d729 the PGF service now can do both random and exhaustive generation. these functions now return both the generated tree and its linearization 2010-10-13 12:32:49 +00:00
krasimir 63ac5f5db6 improved Web UI for queries 2010-10-13 12:31:38 +00:00
krasimir 8970184578 added option -depth to command gr 2010-10-12 13:36:37 +00:00
krasimir de0354f991 the exhaustive/random generator now knows how to handle computable functions in the types 2010-10-11 17:18:28 +00:00
krasimir 3ac637ddcb update NQueens to use: 1) lists i.e. [Nat]; 2) implicit arguments 2010-10-11 17:17:04 +00:00
krasimir f305587a62 now the generation from template with meta-variables respects the dependent types 2010-10-11 09:59:57 +00:00
krasimir d8aa316588 extended CountriesAndRegionsRon.gf 2010-10-10 13:10:21 +00:00
krasimir 52cd3d5cbd added dummy search box for documents 2010-10-07 16:18:45 +00:00
krasimir 339de4c281 use TabBar for the links in the upper-left corner of the editor 2010-10-07 15:09:59 +00:00
krasimir 5f84c53681 dummy UI for documents saving/loading in the editor 2010-10-07 14:09:08 +00:00
krasimir 89ae7a3ac4 forgot to remove a trace message 2010-10-02 13:38:00 +00:00
krasimir 7200244605 backtracking for random generation is not enough. we must restart the search after each solution 2010-10-02 13:34:58 +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 72cc4ddb59 fixes in FridgeApp. now it is compatible with EditorApp 2010-09-30 08:08:57 +00:00
krasimir c200232bfd update PGFService to work after the extensions in the random generation API 2010-09-30 07:35:54 +00:00
krasimir 3c3082f8ee fix the compilation of FridgeApp 2010-09-29 14:15:36 +00:00
krasimir 35b14d26f3 restore the method BracketedString.render which was needed for TranslateApp 2010-09-29 13:53:13 +00:00
krasimir fdcec4273c add Magnet.getWord() 2010-09-29 13:47:51 +00:00
krasimir 8d37ed015e added compilation scripts for the editor 2010-09-29 13:32:23 +00:00
krasimir 3b11f81c6b initial import of the new GF editor. Note: the FridgeApp is temporary broken. It will be fixed with the next patch 2010-09-29 13:17:48 +00:00
hallgren 8b7d27fe4c minibar: work on adding back support for typing multiple words without pressing enter in between
It mostly works now, but some minor issues still need to be fixed.
2010-09-29 13:03:40 +00:00
aarne fe15579b31 extended Attempto with some constructs 2010-09-29 07:16:33 +00:00
aarne 8fa5a50728 fixes in French morpho quiz grammar 2010-09-28 16:52:48 +00:00
hallgren 66672d8af1 minibar: update about.html with description of recent changes 2010-09-28 11:46:32 +00:00
hallgren 1ac7a8bd7c minibar/about.html: fix typos and formatting 2010-09-24 12:57:16 +00:00
hallgren 72fe93a8c4 minibar.html: specify charset, move initialization
Added a meta tag to specify that the file is in UTF-8. This makes the browser
(at least Firefox) assume that the JavaScript files are also in UTF-8, it seems.

Moved the call to start_minibar() from the <body onload="..."> to the end of
the file. The onload action is not executed until all images in the document
has been loaded, while javascipt at the end of the file is executed as soon
as the HTML file has been loaded. (Calling start_minibar() from the head of
the document would be too soon, since it refers to elements in the body,
which hasn't been loaded yet.)
2010-09-24 12:47:18 +00:00
hallgren 8ce7ef3bdd pgf-server HTTP mode: omit charset from ContentType for static files
When pfg-server servers a static file in HTTP mode, it is output as is, so
specifying charset="iso-8859-1" could be wrong. 

Note: the a charset can be specified with a meta tag in HTML files,
e.g. for files in UTF-8:

<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
2010-09-24 12:34:38 +00:00
aarne 709b0518fa restored the .ebnf grammar format 2010-09-24 12:39:49 +00:00
krasimir 617ce3cce6 the first revision of exhaustive and random generation with dependent types. Still not quite stable. 2010-09-22 15:49:16 +00:00
krasimir 1c9305e7a3 cleanup and export the Probabilistic API from PGF 2010-09-22 09:06:19 +00:00
krasimir fb15e95a07 rename BucharestIndia to BucharestRomania. Agreed with Adam Pease 2010-09-21 18:42:39 +00:00
krasimir ef1a4ebc6e added GeographyEng 2010-09-21 18:40:11 +00:00
krasimir 70d8765418 fixes in Basic.gf to avoid loops in the reasoner 2010-09-21 18:38:06 +00:00
krasimir 197c377c6d since Satellite is already subclass of AstronomicalBody we could simplify the signature of NaturalSatellite_Class 2010-09-20 15:21:13 +00:00
krasimir ef3f1c3883 few more fixes in CountriesAndRegionsEng.gf 2010-09-18 17:29:02 +00:00
krasimir 21445f9fea fix the linearization of GuineaBissau 2010-09-18 17:12:52 +00:00
krasimir f2051c33e6 cleanup CountriesAndRegions and Mondial. For some reasonthe abstract syntax for all countries was moved from CountriesAndRegions to Mondial. It is even more odd that there was a linearization for them both in CountriesAndRegions and Mondial 2010-09-18 08:57:50 +00:00
krasimir 905aeb9904 fix typo: the linearization of Iraq was Iran 2010-09-17 18:32:34 +00:00
krasimir e30f2212b9 added MondialRon and CountriesAndRegionsRon with data imported from geonames.org 2010-09-17 16:22:10 +00:00
krasimir e1ed8277a9 fix the compilation of CountriesAndRegionsEng.gf 2010-09-17 16:20:47 +00:00
krasimir d2a17f02d7 some comments in Mondial.gf 2010-09-17 16:19:40 +00:00
krasimir 18e09d6483 remove Model and ProcessTask from MergeRon because they were already moved 2010-09-17 16:16:36 +00:00
krasimir f1078b44b6 remove SubClassC and subClassCStm from BasicEng, BasicRon and BasicFre 2010-09-17 15:53:58 +00:00
krasimir d09f62b0b1 bugfix in PGF.Type.pType: Agda style types like {x : A} -> B should not be supported in GF 2010-09-12 12:26:38 +00:00
hallgren 1b6d9ee29d minibar.js: server API code cleanup 2010-09-14 17:15:37 +00:00
hallgren 1f06415774 minibar.js: bug fix: the current word should be accepted when you press enter if it matches one of the possible completions exactly
The current word is also accepted if there is only one remaining possible
completion.
2010-09-14 16:48:20 +00:00
hallgren 7581451852 minibar.js: add access keys to some of the buttons 2010-09-14 16:45:48 +00:00
hallgren 17cf4e1276 support.js: create buttons with access keys 2010-09-10 12:20:07 +00:00
hallgren 2d75820da4 pgf-server HTTP mode: support the Accept-Language header
It is needed for the userLanguage field in the grammar info from pgf-server
2010-09-10 11:20:49 +00:00
hallgren e13e47be8a minibar: default input language is now the user's preferred language, if possible
This is implemented using the userLanguage field in the grammar info output by
pgf-server.
2010-09-10 11:03:46 +00:00
hallgren 46da64cc72 minibar: use AJAX instead of JSONP when possible
Using AJAX instead of JSONP can give better caching in the browser, since the
URL doesn't need to contain a (dynamically generated) callback function name.
But because of the same origin policy in JavaScript, AJAX can only be used when
the HTML file is served from the same server as the PGF. The new function
http_get_json in support.js uses AJAX if this is the case, and falls back to
JSONP otherwise.
2010-09-10 08:38:11 +00:00
krasimir e099336afa add QoSontologyEng and linearization for ProcessTask 2010-09-06 09:12:49 +00:00
ramona.enache 8c2e696f27 added Model and ProcessTask in SumoFre and SumoRon 2010-09-06 08:58:30 +00:00
ramona.enache 4143834e69 changed SUMOFre encodings 2010-09-06 08:30:22 +00:00
ramona.enache 1edd84c21a added basic concepts of the SUMO ontology for French and Romanian 2010-09-04 21:19:03 +00:00
hallgren 5290659c2c Minibar: PGF server API: pass callback functions directly instead of passing function names as strings. 2010-09-05 18:06:45 +00:00
hallgren c85c1e1c11 minibar: fix broken link to brushed-metal background
Solution: include a local copy of brushed-metal.png
2010-09-05 18:01:44 +00:00
aarne d62c7b8dc1 added Urd to Setup 2010-09-03 14:05:07 +00:00
hallgren 5b09b82f31 pgf-server HTTP mode: workaround for bugs in the httpd-shed package that prevented the fridge and translate web apps from working
queryToArguments "?&input=bla+bla"
           returns [("&input","bla+bla")]
 but should return [("input","bla bla")]
2010-09-03 13:12:08 +00:00
aarne 9fc58ce0e7 kein Deutsch and some other Phrasebook fixes 2010-09-03 09:02:00 +00:00
aarne 1527d470ec prepared German for kein Deutsch 2010-09-02 16:48:22 +00:00
aarne 952fb7685b word order in indirect 'how far' questions in Eng and Dan 2010-09-02 16:18:35 +00:00
hallgren b1bf971066 pgf-server HTTP mode feature: return the contents of index.html when the URL refers to a directory 2010-09-02 14:10:07 +00:00
hallgren daa726d742 Bug fix: add missing error handler for statically served files in pgf-server HTTP mode 2010-09-02 13:54:16 +00:00
jordi.saludes 1fd51c0580 Autocompute python version in py-binds. 2010-09-01 12:49:47 +00:00
jordi.saludes f0c0648905 Fixing assertion in py-binds test. 2010-09-01 11:10:24 +00:00
jordi.saludes e3e525ff6e Removing obsolete code in py-bindings. 2010-07-28 14:21:43 +00:00
jordi.saludes c3e35728eb Changed calling style in py-bindings. 2010-07-28 14:15:06 +00:00
jordi.saludes dcac7254f3 Added 'functions' and 'functionType' to py-bindings. 2010-07-27 15:42:48 +00:00
jordi.saludes b9de5c36c0 Added inferExpr to py-bindings. 2010-07-27 07:50:48 +00:00
jordi.saludes 1209cd8f9e Added testing of Expr unapplying in py-bindings. 2010-07-25 17:07:14 +00:00
jordi.saludes 23eb7b6df6 Added unapplying of Expr in py-bindings. 2010-07-25 14:48:25 +00:00
hallgren ac23280320 Standalone HTTP version of pgf-server
pgf-server can now act as a standalone HTTP server. To activate this mode,
start it with

	pfg-server http

to use the default port number (41296), or give an explicit port number, e.g.,

	pgf-server http 8080

The HTTP server serves PGF files in the same way as the old FastCGI interface.
In addition, it also serves static files. The document root for static files
is the www subdirectory of the current directory where pgf-server is started.

In spite of these addition, backwards compatibility is maintaned. The old
FastCGI interface continues to work as before. (It is activated when
pgf-server is started without arguments.)
2010-09-01 14:08:52 +00:00
krasimir 31ee0bc804 linearization for PrimaryColor in SUMO 2010-08-31 09:52:30 +00:00
krasimir fad0512c94 added missing case for GF.Compile.GeneratePMCFG.evalTerm 2010-08-30 07:54:53 +00:00
krasimir ab9d27f995 PGF.Expr.normalForm does variable renaming 2010-08-30 07:37:12 +00:00
hallgren 509ccb0db0 Adapt minibar.js to the current GF web service API
Quick fix. More work needed for correct behaviour when multiple words are
entered at once.
2010-08-27 16:46:14 +00:00
aarne db06000701 embedded questions in phrasebook 2010-08-27 15:14:06 +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
aarne 68d04c9136 typo (?) in Dutch "cost" 2010-08-25 11:56:23 +00:00
aarne f6b7d46892 verbosity in make phrasebook ; removed own hacks in LexiconBul 2010-08-25 11:30:16 +00:00
aarne c67a50b869 updates in Phrasebook and resources 2010-08-25 09:08:31 +00:00
krasimir d3a6866277 more advanced complete function in the PGFService 2010-08-24 15:58:22 +00:00
krasimir 4df7b04935 revert the TranslateApp to its classical simple variant 2010-08-24 15:17:11 +00:00
krasimir 34c252d974 remove Editor.css as well 2010-08-24 15:04:34 +00:00
krasimir bd3c833b14 remove the canParse flag from the GWT applications 2010-08-24 14:59:59 +00:00
krasimir af137d65a5 remove the experimental GWT EditorApp 2010-08-24 14:41:37 +00:00
krasimir 545cd9396e exclude two redundant modules from the cabal desciption of the compiler 2010-08-24 14:19:08 +00:00
aarne acb838eb79 silence in Compile in phrasebook 2010-08-24 14:17:09 +00:00
aarne bf6857f43e adjective forms fixed in Phrasebook 2010-08-23 07:47:05 +00:00
aarne 30071b8046 GF emacs mode 2010-08-19 11:36:24 +00:00
krasimir a4cf8b2a52 linearizations for few class names in SUMO 2010-08-08 10:38:31 +00:00
krasimir 94bd76df72 two new functions in the PGF API: mkAbs, unAbs 2010-07-31 16:40:16 +00:00
krasimir 98c22ef92b bugfix in the PGF browser 2010-07-31 16:04:15 +00:00
krasimir 6a1dbd0a53 the PGF service now generates samples of the syntax in the browsing information 2010-07-31 15:54:03 +00:00
krasimir f5fb69d3cd add coding=utf8 to BasicRon.gf 2010-07-31 14:27:57 +00:00
krasimir c033bbccff fix: FastCGIUtils.outputHTML should do UTF8 encoding 2010-07-31 13:56:55 +00:00
krasimir d78aaf18da move class Apple from MidLevelOntology to Economy for French and Romanian 2010-07-31 13:54:01 +00:00
krasimir 067d908aa3 now the meta id of the meta variables is accessible via the PGF API 2010-07-31 12:52:20 +00:00
krasimir b351c9d9dd added function unType in PGF 2010-07-31 12:47:10 +00:00
krasimir c8acc8fe11 fix: PGFService should type-check the trees that comes from the user 2010-07-31 10:45:59 +00:00
kevin.kofler f2619d010d Setup.hs: Increase stack size for gf runs, fixes TryFin.gf build on Fedora 13 x86_64 2010-05-16 16:58:09 +00:00
kevin.kofler b4db65d942 Fix Makefile for case-sensitive file systems 2010-05-16 16:38:03 +00:00
kevin.kofler eea0555888 Add missing newline at the end of gf_lexing.h. 2010-06-07 10:28:18 +00:00
kevin.kofler 1d24fee897 gf_lexing.c (unlexText): properly nul-terminate result. 2010-06-07 10:29:09 +00:00
jordi.saludes 5ad233e0ef Code cleaning in py-bindings. 2010-07-22 15:13:00 +00:00
jordi.saludes 75322d5904 Refactoring py object constructors. 2010-07-22 15:03:49 +00:00
jordi.saludes 0a053b3ddc PGFModule rename to PGF in py-bindings. 2010-07-22 15:02:49 +00:00
jordi.saludes 888f6b5ca9 Code cleaning in py-bindings. 2010-07-22 14:21:19 +00:00
jordi.saludes 63a4c97e18 Checking args passed to gf functions. 2010-07-22 14:19:55 +00:00
jordi.saludes aff9f220c9 Refactored py-bindings using Storable. 2010-07-22 13:23:27 +00:00
jordi.saludes f715e053b9 Freeing StablePtr's in PyGF. 2010-07-16 13:17:49 +00:00
jordi.saludes 5b14dd8da5 Setting Query.pgf as separate dependency in py-bindings. 2010-07-16 12:40:41 +00:00
jordi.saludes 9fbf680d1b Removing intermediaries in py-bindings Makefile. 2010-07-16 12:28:22 +00:00
jordi.saludes 9608af8423 New interface to gf based in Storable. 2010-07-15 08:15:41 +00:00
krasimir b128872e2d declare Provice as subclass of StateOrProvince in Mondial.gf 2010-07-21 11:58:51 +00:00
krasimir 712b113c9a fix the algorithm for items cutting in the partial parser 2010-07-15 14:01:51 +00:00
jordi.saludes 2d77104e9e Added atribution. 2010-06-18 18:23:21 +00:00
jordi.saludes bbfb69181e Added showPrintName to py-bindings. 2010-06-18 18:18:20 +00:00
jordi.saludes f641b0c572 Really adding QuerySpa to embedded. 2010-06-18 15:53:47 +00:00
jordi.saludes 9e2c360ffb Added 'languageCode' to py-bindings. 2010-06-18 15:34:08 +00:00
jordi.saludes 7bee8ce0c7 Added CId and categories to py-bindings. 2010-06-18 15:33:08 +00:00
jordi.saludes 33eebe698d Added unit test from translation. 2010-06-18 11:51:24 +00:00
jordi.saludes ea5c3baa7f Added methods to PGFModule. 2010-06-18 11:50:05 +00:00
jordi.saludes 2007b75ab8 Added QuerySpa to tutorial/embedded. 2010-06-18 11:48:36 +00:00
jordi.saludes d313f22d72 DEBUG is off. 2010-06-18 11:47:14 +00:00
jordi.saludes 606a880720 Added LGPL license text. 2010-06-18 09:59:10 +00:00
jordi.saludes 7a485dfc5c Added linearization to py-bindings. 2010-06-17 07:59:00 +00:00
jordi.saludes 3ea00a7331 Added unit test. 2010-06-13 19:15:19 +00:00
jordi.saludes d8c65b9732 DEBUG mode added. 2010-06-13 17:07:49 +00:00
jordi.saludes ccbbd4e848 Code cleaning on gfmodule 2010-06-13 16:53:33 +00:00
jordi.saludes 0b1ea70bb6 Defined Tree type and moved parsed elements type to Tree 2010-06-13 15:55:25 +00:00
jordi.saludes 3e5d4381a0 Added destuctor for python types. 2010-06-13 11:42:48 +00:00
jordi.saludes cd0e383187 Type methods for pgf type. 2010-06-12 22:19:27 +00:00
jordi.saludes b8a022e3a8 More sophisticated python types 2010-06-12 20:28:22 +00:00
jordi.saludes b8bbb57b85 polishing py-bindings make file. 2010-06-10 14:57:51 +00:00
jordi.saludes 0aedd7b218 Created py-bindings. 2010-06-10 14:54:18 +00:00
krasimir 4fdd21f127 detailed information for the type errors from PGFService 2010-07-13 15:33:54 +00:00
krasimir 3ca0b6a976 fix the loopchecking in PGF.Forest.bracketedTokn 2010-07-13 12:04:06 +00:00
hallgren a2fa22ed74 Add missing <td> tags in the HTML constructed by functio show_groupedtranslations 2010-07-13 11:54:42 +00:00
krasimir 8cdb33031d solve the ambiguity for double negation in SUMO 2010-07-13 11:43:24 +00:00
hallgren 2e2d190fd4 Bug fix in minibar.js: no translations where shown when using option show_grouped_translations: false
This affected minibar.html but not phrasebook.html and was
caused by accidental shadowing of function tr in function show_translations.
2010-07-13 11:35:28 +00:00
hallgren d0954d2f20 Make minibar.js work again after backwards incompatible changes to the data structures output by pgf-server.
The canParse field was removed without notice.
2010-07-13 10:22:03 +00:00
krasimir 647b5ffff2 bugfix in the decoding of literals in PGF.Binary 2010-07-13 08:24:03 +00:00
krasimir d7f76c6d62 for some reason the concrete syntax for MidLevelOntology was not in darcs 2010-07-13 08:04:53 +00:00
krasimir 3c10d0ce44 updates in the Eclipse project for GWT UI 2010-07-08 16:50:51 +00:00
krasimir c671399014 update the shell scripts and some other configuration files for GWT 2.0.4 2010-07-08 12:03:36 +00:00
krasimir c0cccb26cb update the package name for the Android UI 2010-07-08 10:26:10 +00:00
krasimir 9953091888 add src/ui folder for both Android and GWT UIs 2010-07-08 10:06:26 +00:00
krasimir be06bc8a09 change the package name of the GWT Apps to org.grammaticalframework.ui.gwt 2010-07-08 09:55:09 +00:00
krasimir faf816dbac upgrade to GWT 2.0.4 2010-07-08 09:32:17 +00:00
krasimir 027c14dcbb FridgeApp and TranslateApp now show the type errors 2010-07-08 07:57:36 +00:00
krasimir ef4b068902 fix PGFService after the change in the parser API 2010-07-07 14:46:24 +00:00
krasimir 95f1d40c56 report type errors in the shell from command "p" 2010-07-07 12:23:21 +00:00
krasimir c066721dd1 fix in example/tutorial/smart/SmartFre.gf to make the dependent types work nicely 2010-07-07 10:12:08 +00:00
krasimir 2cd3523d04 simplify the monad TcM 2010-07-07 07:19:56 +00:00
hallgren c1245d53cd Access keys for input fields in minibar and feedback form 2010-07-06 13:36:42 +00:00
krasimir 710b8f1bf7 the abstract syntax for Predef.gf is now hard-coded in AppPredefined.hs 2010-07-01 15:38:16 +00:00
krasimir e0231cbf5b reorganize the modules in GF.Compile.* 2010-07-01 14:19:32 +00:00
krasimir 1b9169960a reorder the modules in gf.cabal 2010-07-01 14:03:35 +00:00
krasimir 5ae7be358d redesign the open-literals API 2010-07-01 08:51:59 +00:00
krasimir 706b215fce compilation of pattern matching using the algorithm of Lennart Augustsson. Not used yet 2010-06-30 16:00:47 +00:00
krasimir eb0bd54e68 rename isLiteralFCat -> isPredefFId, fcat(String|Int|Float) -> fid(String|Int|Float) 2010-06-30 07:40:22 +00:00
krasimir 4c576ebbc9 forgot to fix the import in GF.Speech.CFG to get the Token type 2010-06-29 12:58:35 +00:00
krasimir 1d33665c93 add PGF.Optimize in gf.cabal 2010-06-29 12:48:58 +00:00
krasimir 5428049d80 in PGF.Printer special output format for SymLit 2010-06-29 09:05:07 +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
krasimir a6b8c11905 fix the compilation of literal categories in GeneratePMCFG.hs 2010-06-22 11:29:20 +00:00
aarne 3714a7e3b4 grammar for messages started 2010-06-21 16:50:40 +00:00
krasimir e94a1c7408 GF.Grammar.Printer: print expressions with lincat and lin 2010-06-21 15:23:49 +00:00
krasimir 7e9b1ebfa4 addFCoercion -> addCoercion in GeneratePMCFG 2010-06-20 08:53:25 +00:00
krasimir 9995a834ae getFCats -> getFIds in GeneratePMCFG 2010-06-20 08:45:31 +00:00
krasimir a77815e35a removed debugging code in GeneratePMCFG.hs 2010-06-20 08:30:00 +00:00
aarne 041e5e2a33 query language generalized and extended ; added README 2010-06-19 16:24:48 +00:00
aarne a0f2ff0772 query language extended and generalized 2010-06-19 10:29:06 +00:00
aarne 0493f640d3 test script for query 2010-06-18 07:07:32 +00:00
krasimir 992a7ffb38 Yay!! Direct generation of PMCFG from GF grammar 2010-06-18 12:55:58 +00:00
krasimir 5dfc9bbc0b the automatically generated printnames were just junks. Now we store printnames only if they are explicitly specified. 2010-06-18 10:19:05 +00:00
krasimir fd3cddcf5e PGF.Printer now dumps the printnames as well 2010-06-18 10:04:10 +00:00
krasimir ad814e12c5 add Dutch to the list of languages in Setup.hs 2010-06-17 15:34:41 +00:00
krasimir d8b049fdf8 rename GF.Grammar.Predef.isPredefCat to isLiteralCat 2010-06-17 15:08:12 +00:00
krasimir 183c878173 GF.Grammar.Lookup.allParamValues now works for table types as well 2010-06-17 09:51:10 +00:00
aarne d8284f61bf starting query language for MOLTO 2010-06-16 20:00:46 +00:00
aarne 74811193ed case for pre in CF generation (ignores alternatives so far) 2010-06-03 21:43:35 +00:00
krasimir c760c52223 grammar loader and unloader in C. Abstract Syntax only! 2010-06-16 15:14:34 +00:00
hallgren 106d056f54 Update demo links
- Added link to the Prasebook demo. The older demos are no longer labelled NEW.
- Point to www.grammaticalframework.org instead of tournesol.cs.chalmers.se
- Update links to www.cs.chalmers.se to new pages on www.cse.chalmers.se, since
  there is no working autmatic redirection.
- got rid of some HTML clutter.
- index.txt was out of sync with index.html. It is now even more out of sync.
2010-06-17 15:14:00 +00:00
krasimir b2a0adf969 added equality proof in the constructor for natural trasformations 2010-06-14 11:21:52 +00:00
krasimir 07da5a43c9 AndroidUI: implemented search in the bag of words 2010-06-10 13:38:15 +00:00
krasimir d6f32b3bcd dead code elimination for PGF. Note: the produced grammars will not work well with metavariables and high-order abstract syntax 2010-06-09 11:32:59 +00:00
krasimir 4e35f7e5ec filter the duplications when doing 'l -table' 2010-06-09 10:21:13 +00:00
jordi.saludes 2ca3b57ecf Fixing gf executable in build-gfctest 2010-06-08 11:19:33 +00:00
krasimir 31cd91e67e fixed bug in the recompilation checker which caused the phrasebook to be recompiled each time 2010-06-08 18:57:50 +00:00
krasimir 002965336a bugfix for flag -no-recomp 2010-06-08 15:40:47 +00:00
krasimir e8428b3d67 revert change in GF.Grammar.Printer that was intended for debugging only 2010-06-08 09:53:13 +00:00
krasimir 7d71704b3c fix typo in category theory 2010-06-07 12:56:05 +00:00
jordi.saludes 7d9349271b Added gf-lexing.* to c-bindings. 2010-06-05 11:57:55 +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
jordi.saludes aa7a254f69 Fixed c-bindings gfctest 2010-06-05 11:01:09 +00:00
kevin.kofler df98e9b442 Build Query.pgf in build-gfctest.sh and look for it in the current directory 2010-05-16 21:12:01 +00:00
kevin.kofler ee1c419979 Reimplement a lexer in C for the C bindings not to depend on GF.Text.Lexing for now. 2010-05-16 19:43:44 +00:00
kevin.kofler 2e6512e3fd Update the C bindings to build with the current PGF API 2010-05-16 21:09:51 +00:00
krasimir 218beec02c definitions for some high-order predicates that were missing 2010-06-06 12:10:49 +00:00
krasimir 54f40a135f SUMO: remove the uggly SubClassC and use KappaFn instead 2010-06-06 11:44:51 +00:00
krasimir 455d955841 changes in SUMO: formatting and fixes for lots of lots of small problems 2010-06-06 11:06:44 +00:00
aarne ae79d4e4b2 word for Shop in Swedish 2010-06-03 14:50:54 +00:00
aarne 618daab89f changed preposition in romance phrasebooks 2010-06-02 15:51:37 +00:00
hallgren 8bca574509 Added MacOS X installed package to download page. 2010-06-15 11:01:39 +00:00
hallgren 5fb77eb0fe feedback list styling 2010-06-02 16:50:46 +00:00
hallgren 9976477272 minibar feedback: save user_agent, simple feedback viewer 2010-06-02 16:23:52 +00:00
hallgren 1e5984fe2d Feedback form for phrasebook/minibar 2010-06-02 14:36:09 +00:00
hallgren e5bc4328cb New minibar option: default_source_language 2010-06-02 13:59:38 +00:00
hallgren 86da023392 Some minibar/phrasebook button and style changes
* Add help button at top of page.
* Change style of word buttons to look like fridge magnets again.
* New options to specify locations of other pages: feedback_url, help_url. If
  they are left undefined, no Help/Feedback buttons will be created.
* Shorter test in Google Translate button.
2010-06-02 13:40:41 +00:00
hallgren 365e8e2310 Remove "Back to phrasebook link" from the help page, since it opens in a new window. 2010-06-02 13:36:10 +00:00
hallgren 0c67946362 Improved Goolge Translate button 2010-06-02 10:39:25 +00:00
aarne 5fbdcfef0e more edits in doc-phrasebook 2010-06-02 08:37:04 +00:00
aarne a0e972ab69 finishing phrasebook documentation ; changed doc name 2010-06-02 08:27:48 +00:00
krasimir 707608a25c added word "to" in the fake Android Fridge 2010-06-02 08:21:42 +00:00
krasimir b473284f81 brushed_metal background in the Android app 2010-06-02 08:20:30 +00:00
krasimir 094f75068e forgot some files for android 2010-06-02 08:02:48 +00:00
krasimir ad0d8cd288 fake Fridge like app for Android 2010-06-02 07:54:43 +00:00
aarne b3c302ca6f updated phrasebook doc 2010-06-01 22:48:43 +00:00
hallgren 83015a8018 Work on the feedback button for the minibar 2010-06-01 20:20:17 +00:00
aarne dae72f9cb7 corrections in PhrasebookNor 2010-06-01 16:30:15 +00:00
adam.slaski b6b3e0141a bugfix part2 2010-05-30 09:12:22 +00:00
adam.slaski 6794d44aea bugfix for Polish Phrasebook 2010-05-30 09:05:48 +00:00
krasimir d73ed8ba2e some comments in the code for category theory 2010-06-01 06:56:34 +00:00
krasimir 5e0d04d0f5 El -> Obj in category theory 2010-06-01 06:12:30 +00:00
krasimir 19851031e6 cleanup the code for category theory 2010-06-01 06:03:19 +00:00
krasimir 7f3cfb3e95 GCongratulations, GHappyBirthday and GGoodLuck in Bulgarian 2010-06-01 05:49:06 +00:00
aarne 88d8f888f0 fixes in PhrasebookGer and the inAcc_Prep 2010-05-29 21:14:13 +00:00
hallgren f2bf7f188f Always show link to Google Translate, and open it in a new window. 2010-05-29 15:42:27 +00:00
krasimir d3effb1c7d I switched back to the old algorithm for generating dependency trees. This required an ugly hack but there is no easy and quick other way :-( 2010-05-29 12:49:54 +00:00
aarne 8b3dcb53a9 non ho birra in Italian phrasebook 2010-05-29 10:38:12 +00:00
aarne e9ec8c69aa preposition for toilet in PhrasebookSwe 2010-05-29 10:22:49 +00:00
aarne 510a404467 more accurate treatment of negative "have" clauses in Phrasebook 2010-05-29 09:18:20 +00:00
hallgren deacb02195 updated documentation 2010-05-28 16:19:06 +00:00
hallgren 4436a454ef Add link to Google Translate 2010-05-28 16:17:54 +00:00
hallgren 8317f02279 Changes for publication of SALDO demo web apps
Published at http://spraakbanken.gu.se/swe/forskning/saldo/ordspel
2010-05-28 14:47:38 +00:00
hallgren f46bfb67b6 support.js: new function span_id, bug fix in function sort 2010-05-28 14:41:30 +00:00
aarne 4fe295b910 est-ce qu'il y a in PhrasebookFra 2010-05-28 14:36:00 +00:00
krasimir c3f4c3eba7 refactoring in GF.Grammar.Grammar 2010-05-28 14:15:15 +00:00
aarne b3d6f01f40 lexical corrections in PhrasebookNor 2010-05-28 13:29:35 +00:00
ramona.enache 8f9eb4f7f3 added inherent number to places, fixed places in French 2010-05-28 12:15:28 +00:00
ramona.enache 2d44390bbf fixed prepositions and distance questions in the French Phrasebook 2010-05-28 09:15:01 +00:00
ramona.enache bba6a3829a removed warning from the English Phrasebook 2010-05-28 09:14:17 +00:00
ramona.enache 337e697998 final fixes in the German Phrasebook 2010-05-28 09:12:44 +00:00
aarne b23640c769 genitive s in Nor possessives ; some Nor words in Phrasebook 2010-05-28 12:25:26 +00:00
krasimir f9f2491fcc composOp should iterate under ImplArg 2010-05-28 12:19:04 +00:00
krasimir ee6fdbf68f bugfix in GF.Grammar.Printer 2010-05-28 09:43:58 +00:00
krasimir 6eda1118fc since now we don't do common subexpression elimination for PGF we could simplify the PMCFG generation 2010-05-26 09:37:32 +00:00
aarne b1441f2807 prodrop in Finnish Phrasebook possessives 2010-05-28 09:33:15 +00:00
aarne a0c82640e6 disambiguation of partitive mass terms in ENglish 2010-05-28 09:08:35 +00:00
aarne dc00e7ea3a disambiguation in Phrasebook: show Eng instead of AST if DisambL is missing; show all alternative disambiguations for each alternative translation 2010-05-28 03:40:35 +00:00
aarne cc3e43cba7 forms of PhrasebookSwe.Cinema 2010-05-28 03:40:12 +00:00
aarne d156c5bccf adjustments in Phrasebook 2010-05-27 20:44:39 +00:00
aarne 857c9e83a0 Danish crown in PhrasebookPol 2010-05-27 11:39:26 +00:00
aarne a0ce8b0863 phrasebook doc updated to Pol 2010-05-27 05:44:04 +00:00
adam.slaski d6eb762651 polish demo 2010-05-26 22:34:20 +00:00
ramona.enache 06d4a9241f fixed AHasAge in English to "I am ten years old" 2010-05-26 22:15:52 +00:00
ramona.enache 79c8c7b3e3 added first version of PhrasebookRus 2010-05-26 22:11:52 +00:00
aarne 48070392e8 fixes in partitives in Phrasebook 2010-05-26 21:30:04 +00:00
jordi.saludes 26fad2dfe2 Cleaning PhrasebookCat 2010-05-26 15:58:12 +00:00
jordi.saludes d1f0b24145 Put 'dative' in all Place's 2010-05-26 15:39:32 +00:00
jordi.saludes 5001bc6e18 Completing WordsCat 2010-05-26 15:31:03 +00:00
hallgren c54d21ea2c Add meta tag to avoid horizontal scrolling in Mobile Safari
With thanks to codinggeekette,
http://www.codinggeekette.com/post/Mobile-Safari-40-2b-Horizontal-Scrolling-3d-SUX.aspx
2010-05-26 21:03:57 +00:00
hallgren 1e379b4953 Improved keyboard input handling in minibar/phrasebook
1. The text input field is shown form the start, no need to click.
2. The text input field is removed when no more words can be added to the
   sentence.
3. When you press Enter, a word is added to the sentence (1) if there is only
   one possible completion left (e.g. if you typed "airp" and the only
   completion is "airport"), or (2) if what you typed exactly matches one
   of the completions (e.g. if you typed "the" and the completions are
   "the", "theatre" and "these").
2010-05-26 15:49:08 +00:00
hallgren 296463fc05 Enable display of abstract syntax in minibar 2010-05-26 15:48:06 +00:00
aarne 231c63aa41 Ita and Fre superlatives, Ita possessives, in Phrasebook 2010-05-26 14:11:23 +00:00
hallgren 0f82695c31 Use <input type=button ...> instead of <div ...> tags for the word magnets. This should make them clickable in more browsers and could improve layout. 2010-05-26 11:47:15 +00:00
hallgren 0d77f24f02 Change server to http://www.grammaticalframework.org:41296 2010-05-26 11:46:25 +00:00
aarne 399f13f9e3 preposition zu in PhrasebookGer 2010-05-26 09:43:39 +00:00
caprotti 635bc20cc6 "fixes to Ita" 2010-05-26 07:51:55 +00:00
caprotti 4bbdba94a1 "Rise corrections to Danish" 2010-05-26 07:48:09 +00:00
jordi.saludes cc49c5e027 Change 'estar' to 'ser' for places 2010-05-25 20:19:59 +00:00
jordi.saludes 495c4f94fe WordsCat compiles 2010-05-25 20:09:23 +00:00
jordi.saludes 00d150a1f0 WordsCat in_Prep problem 2010-05-25 18:30:42 +00:00
jordi.saludes afb41457f1 'PersonName' comes back after fixing StructuralCat 2010-05-25 18:12:11 +00:00
jordi.saludes 54c5dd5796 Uncommented SentenceCat 2010-05-25 18:00:39 +00:00
krasimir 49aa8d20fc some fixes for graphvizDependencyTree 2010-05-25 13:01:59 +00:00
aarne e7ea103597 new version of missing in phrasebook 2010-05-25 11:31:42 +00:00
aarne c099cda676 remade phrasebook doc 2010-05-25 11:31:08 +00:00
aarne c473621651 mass terms and yes/si/doch in Phrasebook 2010-05-25 11:30:09 +00:00
krasimir cada06eab7 bugfix in the linearization algorithm 2010-05-25 10:27:48 +00:00
aarne bc20f0a0a8 corrections in Dutch 2010-05-24 16:36:35 +00:00
aarne 5a611b32ca started Koen's fixes in PhrasebookDut 2010-05-24 14:50:07 +00:00
aarne 20c5bff4ea corrections in PhrasebookNor 2010-05-24 13:57:02 +00:00
krasimir 94f7e17035 fix the paradigms for bar/pub in WordsBul 2010-05-21 13:07:45 +00:00
hallgren 9f42474b16 hide the language code if translating to only one target language 2010-05-21 10:43:19 +00:00
hallgren 14d26b03d8 smaller input field 2010-05-21 10:42:30 +00:00
hallgren 96aa20c3c8 Putting automatically generated files in the *source* repository is a bad idea... 2010-05-21 10:34:17 +00:00
hallgren ce07f4dd37 make upload 2010-05-21 10:29:11 +00:00
krasimir 4ddb3cade3 fix the translation of QWhatAge in WordsBul.gf 2010-05-21 06:46:39 +00:00
krasimir c6afc7b740 use better word for Toilet in WordsBul 2010-05-21 06:43:44 +00:00
krasimir be6d053997 fix: use with_Prep and in_Prep from RGL in WordsBul.gf 2010-05-21 06:38:23 +00:00
aarne d37d8cb55c updated Phrasebook doc 2010-05-20 17:15:10 +00:00
krasimir 956f177241 complete Bulgarian phrasebook 2010-05-20 16:54:50 +00:00
aarne 9c1e4a2d8b Spa in Phrasebook makefile 2010-05-20 15:48:10 +00:00
aarne 3723ae33ed Spanish Phrasebook by Inari Listenmaa 2010-05-20 15:44:51 +00:00
krasimir 854e468854 bugfix in ExtraBul.gf - youPol for feminine is the same as for masculine 2010-05-20 13:40:54 +00:00
krasimir c08649adeb days of the week - WordsBul 2010-05-20 13:23:49 +00:00
krasimir af4cfd5b9d family relations in PhrasebookBul 2010-05-20 13:11:02 +00:00
krasimir bc7d8f75c3 transport in WordsBul.gf 2010-05-20 12:07:27 +00:00
krasimir 694b0a61ac nationalities and languages in WordsBul and SentencesBul 2010-05-20 11:51:49 +00:00
krasimir a3df8b9962 some more words in WordsBul.gf 2010-05-20 09:38:28 +00:00
krasimir e0dc9c80a6 now every BracketedString also has reference to the source expression(s) 2010-05-19 13:32:39 +00:00
krasimir 1743e88192 added function lengthBracketedString 2010-05-19 12:40:07 +00:00
krasimir 31856ebb4c now the parser could return partial parse results 2010-05-19 12:31:36 +00:00
aarne ec227abe43 fixed how far in PhrasebookSwe 2010-05-18 08:15:18 +00:00
ramona.enache d1748049aa q 2010-05-15 13:35:50 +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
aarne 7e7564adaa fixes in PhrasebookDan 2010-05-15 11:32:18 +00:00
ramona.enache 44d2a8b2ed fixed WordsDan according to first test 2010-05-14 22:57:58 +00:00
ramona.enache 230d8d47f4 added more greetings to Phrasebook 2010-05-14 19:40:27 +00:00
krasimir e8099d1f51 in PGF, when printing function and category definitions, add semicolon 2010-05-11 12:50:51 +00:00
aarne 922713d7c0 doc with Dan and Nor phrasebook 2010-05-09 14:23:00 +00:00
ramona.enache 8d58d079b7 Norwegian phrasebook 2010-05-08 15:34:27 +00:00
aarne 79cd5b8dc6 correction of Cheapest in WordsDan 2010-05-08 14:32:38 +00:00
ramona.enache b0f7db3270 added script for testing the phrasebooks 2010-05-08 13:49:41 +00:00
ramona.enache 204614a76d fixed SUMORon according to changes in the resource grammar 2010-05-08 13:39:44 +00:00
ramona.enache 9afeae5154 added Danish phrasebook, completed German one 2010-05-07 12:03:44 +00:00
aarne abfda7dd48 spacing of German numerals 2010-05-08 13:54:38 +00:00
caprotti 4ecc586a2d Ita-Spa_Words 2010-05-06 16:36:53 +00:00
aarne c3fbcf910b Amharic Foood grammar by Markos 2010-05-07 12:25:16 +00:00
aarne c5b3de8825 Amharic transliteration by Markos 2010-05-07 12:23:57 +00:00
aarne c265c5f8c3 fixed two bugs in gt 2010-05-06 18:56:18 +00:00
aarne a8f56c61ff used en/par without article in WordsFre.mkTransport 2010-05-03 15:30:43 +00:00
aarne c7653c25ab updates in phrasebook doc and in resource status doc 2010-05-03 09:46:56 +00:00
aarne 9326db54e4 fixed encoding of WOrdsFre; added HowFar constructs 2010-05-03 09:31:42 +00:00
ramona.enache 608b3264fe fixed English, Dutch, French and Romanian phrasebooks 2010-05-02 11:14:27 +00:00
krasimir 4e85f8ada3 refactor BracketedString 2010-05-01 21:02:32 +00:00
krasimir 029fbec8f3 test for bracketedLinearize 2010-05-01 20:54:31 +00:00
krasimir c1406bdcdf bug fix for bracketedLinearize with HOAS and meta variables 2010-05-01 20:51:07 +00:00
krasimir 0f1cce53c6 fixes in unStr,unInt,unDouble,isMeta 2010-05-01 07:29:41 +00:00
krasimir 9e7b914c3c for backward compatibility we have the old parse function again. the old functionality is exposed by parse_ 2010-04-30 20:18:26 +00:00
krasimir 1c590e41f4 optimize/simplify the error reporting in the new API 2010-04-30 20:16:16 +00:00
krasimir af5f12d672 upgrade the testsuite to work with GHC 6.12 2010-04-30 19:27:53 +00:00
hallgren 329c39b4d4 Merge phrasebook.js into minibar.js 2010-04-30 14:55:56 +00:00
hallgren 593f104bc1 Some work on the Saldo game 2010-04-28 12:58:17 +00:00
krasimir c757e914cd fix PGFService after the change in the API 2010-04-30 15:09:21 +00:00
krasimir 8460598801 first incarnation of the bracketed string API 2010-04-30 14:36:06 +00:00
aarne 7a4cb3c271 small fixes in Phrasebook, particularly PSeeYouPlaceDate 2010-04-30 06:55:15 +00:00
ramona.enache e3c883fdb3 Phrasebook grammars for English, Romanian and Dutch 2010-04-29 21:56:53 +00:00
aarne 3d9d3a1811 completed PhrasebookFin with new abstract 2010-04-29 14:13:15 +00:00
aarne ff95528799 added Words.Pound and Sentences.AHaveCurr 2010-04-29 14:12:46 +00:00
aarne 78df7dae66 better implementation of "how far" in Swedish; harmonized the type of HowFarBy 2010-04-29 12:21:35 +00:00
aarne 62d1a95748 used AdvIAdv to complete PhrasebookSwe 2010-04-29 06:05:45 +00:00
aarne f23a031257 extended phrasebook for Swedish (almost complete) 2010-04-28 20:37:51 +00:00
aarne 3148bc3d90 new option pg -funs 2010-04-28 19:09:59 +00:00
krasimir 68de1cead3 wf,vt,vp,vd,aw should store files in utf8 2010-04-28 17:37:53 +00:00
aarne 6e7bbf3aa8 some moving around of new phrasebook entries 2010-04-28 16:53:20 +00:00
ramona.enache b47098f14f category definitions added to phrasebook 2010-04-28 15:02:27 +00:00
ramona.enache 65a10ddb13 abstract syntax for the phrasebook - extended version 2010-04-28 14:56:07 +00:00
krasimir c87bbcb8e4 fix the -view option for vt,vp,vd,aw to work on Windows 2010-04-27 20:01:54 +00:00
ramona.enache 9c73777a4c FixedRon 2010-04-26 09:32:05 +00:00
ramona.enache ca6075ab77 FixedRon 2010-04-25 00:47:15 +00:00
hallgren fd0f602b48 Add MacOS X binary to the download page 2010-04-24 12:08:28 +00:00
aarne 2b21e7fae7 lrec tutorial examples 2010-04-24 11:34:04 +00:00
krasimir 2f62ab26e6 convert GF.Data.SortedList to UTF8 2010-04-24 09:13:26 +00:00
krasimir 9253ee6010 fix parsing of literals 2010-04-23 20:46:14 +00:00
krasimir cc4d5d1d39 change the developers link directly in index.html 2010-04-23 18:58:46 +00:00
krasimir acbc41ef97 added link to the bugtracker from gf.cabal 2010-04-23 14:40:20 +00:00
hallgren d67cbcffdc Manually updating automatically generated files 2010-04-23 17:39:14 +00:00
krasimir 4800cd7159 tweak gf.cabal to be more Hackage friendly 2010-04-23 14:13:36 +00:00
krasimir c440199cd8 redirect the developers link to the GF wiki 2010-04-23 13:59:23 +00:00
krasimir bafbd7a814 link to Hackage from download/index.txt 2010-04-23 13:56:32 +00:00
krasimir 16b1fb4959 update index.txt 2010-04-23 13:44:18 +00:00
krasimir f204723fdb more in the release notes for 3.1.6 2010-04-23 13:26:57 +00:00
hallgren 36bba54a8f Correct release date in download/index.txt 2010-04-23 13:45:55 +00:00
aarne 7ba951d8c8 release notes as html; links to linux bin, lib, src 2010-04-23 11:42:29 +00:00
aarne 81e5620540 release notes and new download page for 3.1.6 2010-04-22 17:24:15 +00:00
aarne 9c844dd7f2 release notes for 3.1.6 2010-04-22 17:06:41 +00:00
olga.caprotti 918190f4cd olga_patch1 2010-04-19 15:23:33 +00:00
hallgren d4be36d218 Update version numbers for build-depends in gf-server.cabal 2010-04-22 14:22:55 +00:00
krasimir e3a279e457 now the PGF service communicates with Graphviz using UTF8 for the input and binary for the output 2010-04-22 14:01:08 +00:00
hallgren ba7467a550 Require GHC >=6.12, and add a homepage field in GF.cabal
I assume checking for base>=4.2 is a good way to test for the presence of the
new Unicode-aware I/O libraries (first shipped with GHC 6.12) that GF now
relies on.
2010-04-22 13:09:27 +00:00
krasimir 9db279b24b the pgf service now compiles with the latest CGI package 2010-04-22 12:37:36 +00:00
krasimir 007f501f05 bump GF version to 3.1.6 2010-04-22 08:41:51 +00:00
aarne dc971bd051 removed mention of 2.9 welcome, and some traces in visualization 2010-04-22 06:36:37 +00:00
aarne a17f3d4262 Urdu bronzeage 2010-04-21 08:37:19 +00:00
krasimir 50a7512c1b fix command cc for Unicode 2010-04-19 15:41:23 +00:00
krasimir 7c67a90327 always use Haskeline. drop Readline & Editline 2010-04-19 15:12:52 +00:00
krasimir 6313244eac use the native unicode support from GHC 6.12 2010-04-19 09:38:36 +00:00
hallgren 8b5827fc89 Changes to lighttpd.conf to allow grammars.cgi to work 2010-04-20 14:46:36 +00:00
hallgren d4ffc3a88a Commented out faulty coding flag
FoodsIce.gf contained coding=utf8, but the file is in the latin1 encoding. This
confused GF.
2010-04-20 13:54:10 +00:00
aarne 9b4849b5e2 changed the name of example-based examples 2010-04-20 09:34:38 +00:00
aarne 66ab9700f6 example of example-based grammar writing 2010-04-20 09:28:24 +00:00
hallgren d1088d12bc Some work on minibar:
1. Menu for choosing target language.
2. Pass options when calling start_minibar.
See about.html for more details.
2010-04-19 16:48:26 +00:00
krasimir bc504835d2 add Bul to the list of languages in Setup.hs that have API 2010-04-19 09:43:58 +00:00
aarne 8c036d4234 paths in SUMO 2010-04-19 07:06:36 +00:00
aarne 15e4c25ebe include ExtraRon in AllRon 2010-04-19 06:50:54 +00:00
ramona.enache f58e96382c WordsRonSumoFre 2010-04-18 13:55:44 +00:00
krasimir f194326f62 add the easy words and phrases in PhrasebookBul 2010-04-16 16:32:45 +00:00
aarne 727b3bf626 conjunction of Object in Phrasebook 2010-04-16 09:57:10 +00:00
aarne 03c64d9f3d DemoUrd added to resource demo 2010-04-16 07:12:15 +00:00
hallgren 1baa90a0ff Work in progress on keyboard input in minibar 2010-04-15 15:42:18 +00:00
hallgren d711c7da09 Code simplification 2010-04-15 15:41:30 +00:00
hallgren 96758752e6 Omit redundant trailing "&" in jsonp url 2010-04-15 13:48:28 +00:00
hallgren 355c1a7a69 Fix bug in get_grammarlist. Some code simplificaiton. 2010-04-15 13:33:21 +00:00
aarne c5874ab1ae small adjustments in Make.hs and some resources to make the lib compile with less warnings and without errors 2010-04-14 16:25:17 +00:00
aarne 6dda3d2ebf completions of PhrasebookGer 2010-04-12 21:26:36 +00:00
aarne c46b81d872 restored table3 in Coordination; completed PhrasebookFre 2010-04-12 21:06:11 +00:00
aarne 0b224424a6 a module to compile Phrasebook in different lang combinations 2010-04-12 20:10:48 +00:00
krasimir 24d2acf097 fix the molto-molto-molto problem 2010-04-12 13:55:40 +00:00
aarne 71d9cd53d4 4-arg coordination by Shafqat 2010-04-12 10:04:29 +00:00
ramona.enache ec80e12435 PhraseBookRon 2010-04-10 23:17:58 +00:00
aarne 50a2e2ea93 regenerated clones with complete abstract and ready-maked Lexicon-based words in Phrasebook 2010-04-10 08:18:03 +00:00
aarne d505fa5b67 generalized the Person category in Phrasebook to plurals, added some new Words 2010-04-09 14:37:25 +00:00
hallgren 1903fe8bf9 Some documentation 2010-04-09 14:04:18 +00:00
hallgren 984d67a79b Abstract out grammar access method 2010-04-09 14:00:38 +00:00
hallgren e7073c1575 Adding the Minibar files to the darcs repository. 2010-04-09 13:51:34 +00:00
aarne 0138e6bba1 German phrasebook; ontology document; ignoring single lines in gfdoc 2010-04-08 20:31:32 +00:00
aarne e98d1238f4 started a script and format for updating a set of gf files 2010-04-08 11:52:44 +00:00
aarne 242670a6cb cloned the rest of resource languages in Phrasebook 2010-04-07 21:05:29 +00:00
aarne 8171bb0ea2 reordered phrasebook sources so that they are easier to clone; cloned Ger,Spa,Cat,Bul 2010-04-07 19:39:48 +00:00
aarne aeb0a5b7e0 a script for cloning (Phrasebook) grammars 2010-04-07 14:59:55 +00:00
aarne 1f4f43748a New FoodsHin by Vikas 2010-04-07 14:20:24 +00:00
aarne b9fcba00cf improved the performance of Romance while retaining correct agreement ; removed Diff modules from Phrasebook 2010-04-06 20:35:12 +00:00
aarne a66d2186fe comments in phrasebook abstract syntax 2010-04-06 15:45:16 +00:00
aarne 114cdd78d3 change in Romance agreement to produce correct number for polite singular pronouns ; linking functions that involve mkClause now takes a long time and should be revised 2010-04-06 14:08:01 +00:00
aarne dc35b0a82b fixed Finnish youPol complement number to Sg ; some encoding things in French 2010-04-06 12:24:41 +00:00
aarne ba13052d31 dependency graph can be restricted to some modules; added help dg 2010-04-06 08:53:44 +00:00
aarne 2ced613d81 generalized and extended Phrasebook in many ways 2010-04-05 16:36:38 +00:00
aarne c87fe6f0f6 DisambPhrasebookRon added 2010-04-04 21:22:20 +00:00
aarne 7a14507189 in the shell, permit 3-letter lang codes as concrete syntax names 2010-04-04 20:46:36 +00:00
aarne 95d4adac99 in PGFService disambiguation, show tree if there's no disamb grammar 2010-04-04 20:45:50 +00:00
aarne 09171eecb4 reduced overgeneration by only allowing one AdA in Phrasebook 2010-04-04 20:44:37 +00:00
aarne cdd9efa559 Urdu transliteration fixed (by Shafqat) 2010-04-01 12:24:04 +00:00
aarne 5dfda62ad1 fixed a deep bug in TypeCheck due to swap of arguments; print empty record as <> instead of {} to distinguish from empty record type 2010-03-31 22:05:12 +00:00
aarne fb0f77b6f1 Olga's etc corrections in Phrasebook 2010-03-31 14:58:32 +00:00
krasimir d83c2d01d8 export fullFormLexicon from PGF 2010-03-31 11:09:12 +00:00
aarne 5e2d2e61c3 moved phrases like 'I am hungry' from Greetings to Words to make them more general 2010-03-30 21:48:24 +00:00
aarne 61c82fa40e removed Roles; updated Phrasebook doc 2010-03-30 20:10:36 +00:00
aarne 5cb147fa19 simplified the treatment of politeness in Phrasebook 2010-03-30 18:48:59 +00:00
aarne de909a4e44 disambiguation in Phrasebook grammars, PGF server, and the GUI 2010-03-30 15:39:11 +00:00
aarne 4bae49c634 information on missing words; fix in PhraseDut 2010-03-29 21:19:50 +00:00
aarne bec718d49d AttemptoUrd added 2010-03-29 13:59:46 +00:00
aarne 04784b7c31 fine tuning phrasebook 2010-03-28 21:13:29 +00:00
aarne ccac96eaa0 catching initial bind symbol in PGFServer 2010-03-28 20:32:03 +00:00
aarne 55f8a80df7 version 0.2 of phrasebook 2010-03-28 20:13:46 +00:00
aarne 93daaabf3d Action category, more doc in Phrasebook 2010-03-28 19:29:06 +00:00
aarne 3903b6b852 short-phrase translation; added Swe; started doc in Phrasebook 2010-03-28 15:28:02 +00:00
aarne 2925edd088 text-like unlexer for phrasebook web service 2010-03-26 22:08:48 +00:00
aarne 691620346c change Food to Words in Phrasebook, since it's unpractical to have many small modules; added syntactic forms and words 2010-03-26 22:07:17 +00:00
aarne c24440d134 fixes for webdemos, including bug in StructuralIta 2010-03-26 17:38:20 +00:00
aarne 1d41c587ac FoodsRon in utf-8 2010-03-25 14:47:19 +00:00
krasimir 887a552497 even simpler version of NQueens 2010-03-24 21:04:37 +00:00
krasimir 9a1d0e8d11 bugfix in the lProlog generator 2010-03-24 20:54:20 +00:00
krasimir fdd68f9040 the Plus predicate from NQueens is replaced with definition for function plus 2010-03-24 16:14:36 +00:00
krasimir 14f19b9865 partial support for def-rules in the Lambda Prolog generation 2010-03-24 16:12:58 +00:00
aarne 3ff870dcd6 politeness and disambiguation in Phrasebook (not visible yet) 2010-03-24 08:18:54 +00:00
krasimir 68482aa7e9 now for every category we store, in PGF, the list of functions for it in source-code order. The order matters for the termination of the exhaustive generation with dependent types. 2010-03-24 11:11:55 +00:00
krasimir 76d155af0e typo in CheckGrammar 2010-03-23 15:35:32 +00:00
krasimir c80c403da2 use the new more accurate location information for some error messages 2010-03-23 15:24:48 +00:00
krasimir 1e51690b71 added codepage for Turkish 2010-03-23 13:44:17 +00:00
krasimir 850b897f08 added comment to every GF.Text.CPxxxx module about the purpose of the codepage 2010-03-23 12:19:34 +00:00
krasimir 472c5e8ee7 add JavaScript API for completion. contributed by John J. Camilleri 2010-03-23 08:55:56 +00:00
krasimir e7f01aa5f0 fix checkInfoType in Parser.y 2010-03-22 23:49:15 +00:00
aarne 5f6f4cdea3 www api command translategroup, which uses groupResults 2010-03-22 22:04:36 +00:00
krasimir bf74f50733 store and propagate the exact source location for all judgements in the grammar. It may not be used accurately in the error messages yet 2010-03-22 21:15:29 +00:00
aarne 716a209f65 PGF.groupResults and the option l -groups, to show ambiguities grouped by laguage 2010-03-22 19:03:06 +00:00
krasimir 2ac96a7643 transliteration for Urdu 2010-03-22 09:29:43 +00:00
krasimir 0da54cdf64 produce optimized Lambda Prolog code 2010-03-22 08:56:42 +00:00
aarne 9d98177e65 French phrasebook 2010-03-21 19:57:53 +00:00
aarne df0c6fb8d3 English version of Phrasebook 2010-03-21 17:42:11 +00:00
krasimir f4574a4cfa the NQueens algorithm written in GF 2010-03-21 19:01:57 +00:00
aarne 68840a3d6a Diff interface for Phrasebook 2010-03-21 03:37:02 +00:00
aarne 5584415807 started Phrasebook with Finnish and Romanian 2010-03-20 21:21:50 +00:00
krasimir fba592ecf8 added experimental generation of Lambda Prolog code. Could be used for exhaustive generation with dependent types. Doesn't support def rules yet but supports high-order syntax and lambda expressions. 2010-03-20 07:26:53 +00:00
krasimir 973a0cacb7 pattern @ should be propagated to PGF 2010-03-18 20:21:57 +00:00
krasimir 985bb550c0 fix the precedence for patterns ~, - and @ 2010-03-18 19:52:45 +00:00
krasimir f870c4d80f syntax for inaccessible patterns in GF 2010-03-18 19:34:30 +00:00
krasimir d91999dec0 incomplete code for adjoints and monads 2010-03-15 17:31:15 +00:00
krasimir 381a7a2f07 identity functor 2010-03-15 16:35:00 +00:00
krasimir c6f3111e67 added natural transformations 2010-03-15 14:52:47 +00:00
krasimir aef1a1a5a3 incomplete code for composition of functors 2010-03-15 10:47:00 +00:00
krasimir 9f45bb0df1 refactor Morphisms.gf and InitialAndTerminal.gf 2010-03-15 10:43:20 +00:00
krasimir d7c68cdf27 two theorems without proofs: every equalizer is monomorphism; every coequalizer is epimorphisms 2010-03-15 10:41:39 +00:00
krasimir dfbc6ba9a3 added Equalizers in category-theory 2010-03-15 09:57:39 +00:00
krasimir 828fc44029 bugfix in PGF.TypeCheck 2010-03-14 12:21:00 +00:00
krasimir db2d9a3238 cleanup in PGF.Typecheck -> newGuardedMeta doesn't need the current scope 2010-03-13 20:12:00 +00:00
aarne efd1b5f252 fixes in FoodsUrd and DemoRon compilation 2010-03-05 07:22:57 +00:00
hallgren 8e344646f0 Quick fix to adapt to new version of the PGF library. 2010-03-04 18:46:18 +00:00
aarne 8422db66ca FoodsUrd added (by Shafqat) 2010-03-04 16:56:36 +00:00
aarne 590cc6bb0b Macros and note in GFCC document. 2010-03-02 21:22:53 +00:00
aarne bbf564730b gfcc README 2010-03-02 19:30:16 +00:00
aarne dbe5a210b7 cleaned up gfcc ; added gfcc script 2010-03-02 19:27:34 +00:00
aarne e4748e9984 restored gfcc example (GF C compiler) 2010-03-02 19:10:56 +00:00
krasimir 21b10f91cb rule for pretty printing implicit arguments 2010-02-22 20:09:28 +00:00
krasimir d2988814a8 add pretty printing rule for implicit patterns 2010-02-22 20:02:53 +00:00
krasimir 09da1013f9 refactor PGF.Expr and PGF.TypeCheck so that the evaluator always has access to the meta store 2010-02-22 15:50:41 +00:00
krasimir 21ad608e2a functors 2010-02-22 14:40:28 +00:00
krasimir bcf4bc7d23 the oposites of two equal arrows are equal arrows 2010-02-22 14:38:13 +00:00
krasimir 59d640088e bugfix in PGF.TypeCheck 2010-02-20 18:48:06 +00:00
krasimir 45d209baf8 two theorems every iso is mono and every iso is epi 2010-02-20 16:37:23 +00:00
krasimir 3d8b7f9850 some more definitions in category theory 2010-02-20 16:33:40 +00:00
krasimir d09b05ab3f one more test for cyclic def rules 2010-02-16 20:27:07 +00:00
aarne 376f985409 removed strange typo from summerschool FoodsGer 2010-02-17 16:08:27 +00:00
krasimir 57c2a4dcd2 fix the Haskell code generation 2010-02-17 13:09:23 +00:00
krasimir bfdef2f60c replace SS with StmtS in SUMO 2010-02-17 12:38:11 +00:00
krasimir d6627b5a5a added TPTP for SUMO 2010-02-17 12:21:41 +00:00
krasimir 6690fbaf6c SUMO axioms 2010-02-17 11:12:43 +00:00
krasimir f7f0112256 added examples/SUMO 2010-02-17 11:07:24 +00:00
krasimir a4d41ef3e3 fix in PGF.Printer 2010-02-17 10:31:10 +00:00
krasimir b5d9ae552d -output-format=pgf_pretty now prints the flags as well 2010-02-17 10:20:49 +00:00
krasimir 32f9499f2e fix the PGF printer for abstract 2010-02-16 21:47:58 +00:00
krasimir 19b17dceb6 no need to keep the list of constructors per category in .gfo 2010-02-16 09:34:02 +00:00
krasimir 61287f3925 more category theory -> morphisms, initial and terminal objects 2010-02-15 10:35:24 +00:00
krasimir af48998ef6 basic category theory expressed in GF. Note: works only with my development version of GF. It will be pushed in darcs soon 2010-02-14 10:20:08 +00:00
krasimir b2ce65bbe6 white space instead of tab in GF.cabal 2010-02-12 21:31:30 +00:00
krasimir 9c23a98fc0 add PGF.Probabilistic in GF.cabal 2010-02-12 16:12:17 +00:00
krasimir ea85cd1078 one more test for cyclic operations 2010-02-09 18:38:11 +00:00
krasimir 64da1c2021 allow negative integers in the grammar syntax 2010-02-08 12:59:22 +00:00
krasimir a1c70841c1 test case for lazy evaluation in the abstract syntax 2010-02-07 22:22:30 +00:00
aarne f0f9c0acfa generalized tour to a variable language by the script MkTour 2010-02-08 10:52:08 +00:00
krasimir 9564d85fa5 command cc now works even without loaded grammar. useful for testing closed expressions 2010-02-07 19:23:26 +00:00
krasimir c1d2ed1a7b test case for invalid parameter definition 2010-02-06 20:15:46 +00:00
krasimir 2544ea8c8a in verbose mode print the rule names when compiling PMCFG 2010-02-06 18:24:15 +00:00
krasimir 168d459c49 bugfix in GrammarToPGF related to the compilation of def rules 2010-02-05 22:16:44 +00:00
aarne 064cfef331 command eh ; lib/doc/tour started 2010-02-03 20:55:54 +00:00
krasimir b90e56a94e fix the tabular printing when there is a V constructor 2010-02-03 17:33:55 +00:00
aarne 49e620b535 gr for several metas fixed ; commented out one alternative in SammieGer to make it compile 2010-02-02 07:12:52 +00:00
aarne 7f4559335a fixed Sammie examples to compile (except Spa) 2010-02-01 15:57:29 +00:00
aarne 510d511637 commands mq and tq can take a tree with metas to guide generation 2010-02-01 09:56:58 +00:00
krasimir 563e65c309 test case for let expression in def rule 2010-02-01 09:18:42 +00:00
krasimir 1cd4a500f5 added tests for literals in the abstract syntax 2010-02-01 08:58:46 +00:00
krasimir 2d3de22b17 added test cases for polymorphic and record types in the abstract syntax 2010-01-31 22:16:35 +00:00
krasimir 3be9ce3240 add test case for abstract types with let bindings 2010-01-31 20:45:48 +00:00
aarne 26236652a6 command l -list ; fixed mq to work with the new tabularLinearizes 2010-01-31 16:05:23 +00:00
krasimir be6465a2eb refactor GF.Infra.Modules for better error messages 2010-01-31 15:54:25 +00:00
krasimir acd927f87b add Show instance and remove the Eq and Ord instances for PGF.Expr.Equation and PGF.Expr.Patt 2010-01-31 14:45:44 +00:00
aarne e71545eab1 gt and gr can start from a tree with metavariables, just filling them 2010-01-30 18:01:18 +00:00
krasimir 8d03e48e46 code cleanup in PGF.TypeCheck 2010-01-30 10:10:51 +00:00
krasimir 3b7e39fa4a bugfix in the PGF typechecker and more test cases 2010-01-29 21:10:14 +00:00
krasimir e5de8ea9fe update the testsuite 2010-01-29 11:13:31 +00:00
aarne d333c0564b example_based returns the list of all unknown words 2010-01-28 16:27:28 +00:00
aarne e056cc2bfd in example-based grammar conversion, warnings about unknown words 2010-01-28 10:06:16 +00:00
aarne 750a2639b0 command eb for example-based grammar conversion; see 'help eb' and the example in examples/animals/QuestionsI.gfe 2010-01-27 17:51:15 +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
aarne b206aa3464 bug fixes in biased generation ; example probs file in lib/src 2010-01-26 21:49:00 +00:00
aarne dd4c792e67 probability ranking (rt) and gr -probs=FILE 2010-01-26 21:08:04 +00:00
aarne e91c610e5a added probabilities to trees and random gen; not yet in shell 2010-01-26 15:53:49 +00:00
krasimir bc6323df4c fix the PGF generation when it is used from the shell 2010-01-26 14:15:37 +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 9e3d4c74dc prettier parameter names in PGF 2010-01-17 00:41:46 +00:00
krasimir 389b55103c small code cleanup in GeneratePMCFG.hs 2010-01-16 22:10:45 +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 3ed19a482e printnames are now kept as String instead of Term in PGF 2010-01-05 07:05:41 +00:00
krasimir 354269e17c allow metavariables with indices i.e. ?0, ?1, etc in the abstract syntax parser in PGF 2010-01-15 21:23:37 +00:00
krasimir 869621db66 now the abstract syntax in PGF allows the same syntax for integers, floats and strings as in Haskell. This includes negative integers and exponents in the floats 2010-01-15 21:13:46 +00:00
hallgren 9fc1325b95 Use build-type: Custom, so that cabal install calls Setup.hs. 2010-01-13 16:40:15 +00:00
hallgren 8077e54170 Makefile for Foods.pgf (machine readable version of README) 2010-01-12 15:25:56 +00:00
krasimir f8af5122b5 additional tests for linearizations 2010-01-12 13:18:37 +00:00
krasimir 712d079e7c inplace editing/parsing in the syntax editor 2010-01-07 10:38:43 +00:00
krasimir 5be5ee1ccd better tokenizer in the JavaScript runtime 2010-01-07 10:36:16 +00:00
aarne 0349228ceb Swedish "each of" in Attempto with correct agreement 2010-01-05 22:13:28 +00:00
aarne b8b1f01d91 that_Subj in Italian 2010-01-05 14:19:27 +00:00
aarne 0a7ff69dda agreement in German Predet 2010-01-05 13:35:24 +00:00
aarne 6d0f248b67 fixes in Attempto 2010-01-04 21:19:13 +00:00
aarne 9cc1d15efe number agreement in Romance predeterminers 2010-01-04 14:59:40 +00:00
krasimir 5276ddab7d added test grammar for literals in the testsuite 2010-01-04 13:51:36 +00:00
krasimir f0e6b15ec4 some dead code is removed in the JavaScript interpreter 2010-01-04 13:47:58 +00:00
krasimir a73a64534e literal categories in the JavaScript interpreter 2010-01-04 13:44:21 +00:00
krasimir 93fd2333cc fix the editor grammar 2010-01-04 12:36:49 +00:00
krasimir 2e0d9f43b4 in gflib.js declare all variables with 'var' because otherwise they are global by default 2010-01-04 12:26:11 +00:00
krasimir 819e6e6757 in the javascript version of extractTrees filter out the duplicated parse trees 2010-01-04 12:20:53 +00:00
krasimir 36de4d8c54 bugfix in the javascript parser 2010-01-04 11:16:17 +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 b92c34bafd js-runtime: redundant loop removed 2009-12-27 12:12:51 +00:00
krasimir 0a0c7ac4fc use object references instead of FunId and SeqId in the javascript parser 2009-12-27 11:03:39 +00:00
krasimir 4e6f6b2de2 bugfix in the javascript parser 2009-12-27 10:46:29 +00:00
krasimir eb373d74ab javascript editor with PMCFG parser. (not stable yet) 2009-12-21 13:41:51 +00:00
aarne c0de7a0627 mathtext examples from Bonn 2009-12-18 11:08:39 +00:00
aarne a4eb1800a4 correct capitalization in unlexmixed; unlextext and unlexmixed now remove string literal quotes 2009-12-17 21:17:46 +00:00
aarne 6a130d2e86 one step deeper into records in PGF generation 2009-12-16 16:25:52 +00:00
hallgren 666fcd6566 Home page updated for GF 3.1 release
+ Added links to Google Group and Google Project.
+ Removed duplicated links.
+ Minor style changes.
+ The page is not generated from index.txt.
2009-12-15 21:20:35 +00:00
hallgren d22dcdf0b2 New GF 3.1 package for windows 2009-12-15 20:01:54 +00:00
hallgren c0b18ef776 Comment out broken link to old download page 2009-12-15 17:42:16 +00:00
hallgren fde09570f7 Download page updated for GF 3.1 release 2009-12-15 17:20:49 +00:00
hallgren 3d939a9500 Update version number 3.0 to 3.1 in a number of places 2009-12-15 15:27:26 +00:00
hallgren 71ad32effc Add build-tools: happy, alex 2009-12-15 15:25:15 +00:00
aarne 21fc8b0119 completed gf-bibliography 2009-12-15 14:39:04 +00:00
aarne d9c1fded39 warm_A in FoodsFin 2009-12-15 13:40:05 +00:00
hallgren 4e795def72 Make transparent pixels white in the logos 2009-12-14 20:51:37 +00:00
krasimir e7dcbcc825 reverse engineered version of the Editor grammar 2009-12-14 20:01:41 +00:00
hallgren e3fcdaf280 Added rules to update automatically generated HTML files.
Only gf-developers.html is updated for now, but more files could be added to
the list.
2009-12-14 18:01:05 +00:00
hallgren 2c4c637d00 Developer documentation updates prompted by the switch to darcs version 2
In particular, the --lazy flag replaces the --partial flag.
2009-12-14 17:57:03 +00:00
hallgren 07ed00140a New smoother version of the GF logo
The new logo is in the new directory doc/Logos. The old logo has been moved
there too. The documentation has been updated to refer to the new logo.

The new logo was provided in SVG format by Krasimir, but PNG files are included
as well. There are some new rules in doc/Makefile to convert from SVG to PNG,
which you can use if you edit the SVG files.
2009-12-14 16:01:47 +00:00
krasimir 4d4b618c93 fix the directories in gf-server.cabal 2009-12-14 15:21:09 +00:00
krasimir 1296211fd0 use forward slash instead of back slash in GF.cabal 2009-12-14 14:32:55 +00:00
krasimir 02f5b44783 remove some more dead code 2009-12-14 13:11:58 +00:00
krasimir c036459214 remove the old parsing code and the -erasing=on flag 2009-12-14 10:54:22 +00:00
krasimir faa638d6fc rename some modules that had GFCC in the name to PGF+something 2009-12-14 10:10:58 +00:00
krasimir a7811d1199 now the PGF to JavaScript convertor uses PMCFG 2009-12-14 09:53:53 +00:00
krasimir f85232947e reorganize the directories under src, and rescue the JavaScript interpreter from deprecated 2009-12-13 18:50:29 +00:00
krasimir d88a865faf rename #Var to __gfVar because it breaks the JavaScript editor 2009-12-13 15:29:26 +00:00
aarne 5ea49dfa86 moved some doc to deprecated; empty dirs in lib to enable lib/src/Make 2009-12-14 09:54:23 +00:00
aarne b5a541e65a unicode encoding in quiz questions fixed 2009-12-13 18:51:20 +00:00
krasimir 5804db9816 judgements lindef are now respected by both the parser and the linearizer 2009-12-11 17:39:18 +00:00
aarne 3353059277 moved bin/jgf to deprecated 2009-12-11 16:27:24 +00:00
krasimir d3b179eeed allow empty lines when reading with 'rf -lines -tree' 2009-12-10 18:45:10 +00:00
aarne 7cc9ede481 index: version still 3.0 2009-12-10 16:24:52 +00:00
aarne 6b7780fb49 updated index page - back in old place after all 2009-12-09 17:22:17 +00:00
hallgren d99e919228 Added a page title on the home page 2009-12-10 12:44:42 +00:00
hallgren 0a914465eb Transparent logo background 2009-12-10 12:35:54 +00:00
krasimir fae0ade020 function read_file now reports errors if there is expression with parse or type error 2009-12-09 22:43:17 +00:00
aarne c8ceed08ef moving a few things to deprecated 2009-12-09 09:47:16 +00:00
aarne 101df06f6c manual web page edits from cs.chalmers 2009-12-09 09:37:47 +00:00
aarne b0f3796360 Polish Bronzeage, compile with 13 languages 2009-12-08 13:04:05 +00:00
aarne 0bafd45952 making Arabic minimal compile; strange chars remain 2009-12-08 07:32:46 +00:00
krasimir 5fd6227314 change the URL to the bug tracker 2009-12-07 15:22:26 +00:00
aarne 7f47802cd2 Constructors.str2numeral for making numerals from strings 2009-12-07 10:29:53 +00:00
krasimir 8798ff76f9 added mkMeta and isMeta in PGF 2009-12-05 10:12:03 +00:00
krasimir e06c7da79b fix the pattern matching in unStr, unInt, unDouble 2009-12-05 10:06:59 +00:00
aarne cec6c8ed97 abstracts, literals, and variables in tree visualization 2009-12-01 09:55:01 +00:00
krasimir 991a58badb TranslateApp now have browser for abstract syntax 2009-11-29 14:51:12 +00:00
krasimir 2c54ad525e function doListGrammars in PGFService is obsolete 2009-11-26 16:27:04 +00:00
krasimir d7fba06bda the default function of the PGFService should return list of functions as well as list of categories 2009-11-26 14:47:35 +00:00
krasimir ba1b602053 change PGF.categories to return list of identifiers instead of types 2009-11-26 14:43:31 +00:00
aarne 6b0a662c35 restored a parsing grammar api/Browse 2009-11-20 15:14:41 +00:00
krasimir 0ddf8ff18d slight optimization in GF.Grammar.Lexer 2009-11-17 21:49:51 +00:00
aarne e91cd9c832 Dutch lexicon generated via Google translate; method in lib/src/MkExx.hs 2009-11-16 15:21:56 +00:00
aarne dcc2888faf command vt -mk for displaying overload-style function names 2009-11-15 20:03:28 +00:00
krasimir 4c17b7ba95 lookupResType should always return the precomputed CncFun type 2009-11-14 09:21:34 +00:00
krasimir ee97e0b963 bugfix: In AppPredefined.hs, PTrue and PFalse should be declared as constructors 2009-11-13 21:52:53 +00:00
krasimir 129d914002 add test case for typechecking of lincat 2009-11-13 10:28:37 +00:00
krasimir 36d025877b for 'lincat C = T' the typechecker should check that T is a valid type 2009-11-13 10:25:31 +00:00
krasimir 94171908c0 before the optimizations OptParametrize and OptValues were applied twice. in addition the values optimization is now always applied because it become very cheep 2009-11-12 21:11:51 +00:00
krasimir 3aa208dd2b parteval -> partial evaluation 2009-11-12 20:12:59 +00:00
krasimir 3d838e0172 bugfix: GF.Compile.GrammarToGFCC should not strip the parameter values 2009-11-12 20:09:59 +00:00
aarne 6898667b3e questions, relatives, numerals - most of Dutch syntax soon in place 2009-11-11 20:34:09 +00:00
krasimir 2a22325678 check grammar should process the definitions in dependency order. This also ensures that the list of parameters for some parameter type is complete 2009-11-07 15:30:57 +00:00
krasimir 7c513609f0 bugfix: if a concrete module has operations then they also should be optimized 2009-11-07 15:18:25 +00:00
krasimir ea49556395 update testsuite/runtime/parser/Parse.hs 2009-11-02 16:31:32 +00:00
krasimir 78355d63ac update the testsuite 2009-10-28 18:07:49 +00:00
krasimir 0fb91bbb2f added test cases for cyrcular definitions 2009-10-28 17:59:18 +00:00
krasimir c330cac1db check for cyclic parameters, operations and dependent types 2009-10-28 17:44:50 +00:00
krasimir d130d30669 refactoring in GF.Grammar.Lookup 2009-10-28 17:10:43 +00:00
krasimir 980844a4ad restructure ResParam and ResValue 2009-10-28 16:47:01 +00:00
krasimir f2e5281602 bugfix in GF.Compile.CheckGrammar 2009-10-28 09:10:58 +00:00
krasimir 83bc6d4cda simplify the Term again 2009-10-27 15:45:05 +00:00
krasimir 8ebb4e854a fix the compilation of MorphoService.hs 2009-10-27 09:10:50 +00:00
krasimir 6753fdae72 strip some redundant constructors from GF.Grammar.Grammar 2009-10-25 18:01:04 +00:00
krasimir d63be8ac72 small refactoring in GF.Compile.CheckGrammar 2009-10-25 15:20:44 +00:00
krasimir 116912647b add GF.Compile.Concrete.TypeCheck in GF.cabal 2009-10-25 13:10:24 +00:00
krasimir 8a0db59798 split the abstract syntax specific and the concrete syntax specific modules in different subfolders in GF.Compile 2009-10-24 17:42:02 +00:00
krasimir 873363ff9b refactoring in GF.Compile.Optimize 2009-10-24 16:08:00 +00:00
krasimir ca5b6b0eec integrate Polish in the build system 2009-10-24 12:32:03 +00:00
krasimir 02bb6cc073 added tree visualizations in TranslateApp 2009-10-24 10:38:21 +00:00
krasimir 59172a0380 expose the tree visualization via PGF API 2009-10-24 09:03:40 +00:00
aarne 0e3e2d03f9 C bindings to PGF interpreter 2009-10-23 12:54:21 +00:00
krasimir b8df9c92bb fix typo 2009-10-23 12:16:29 +00:00
krasimir d5f4669aec experimental robust parser 2009-10-23 08:35:32 +00:00
aarne 70b5e2a930 fix for multiword phrases in Malt format 2009-10-20 19:27:42 +00:00
aarne cf6011d9a6 MaltParser input 2009-10-20 14:45:02 +00:00
aarne e82b6e02e9 Malt parser .conll format by vd -output=malt 2009-10-20 13:04:33 +00:00
aarne 499ac428d3 labels read from config files for dependency trees, eg lib/src/dep.labels 2009-10-19 15:53:30 +00:00
aarne dd57104d1c one missing case in dep trees 2009-10-19 12:47:31 +00:00
aarne 4cacaf6097 experiment examples, starting with Dep trees 2009-10-19 08:48:46 +00:00
aarne 565b05d73c labels in dep trees (preliminary) 2009-10-19 08:47:44 +00:00
aarne 147b2e61e3 improved printing of dependency trees 2009-10-18 19:24:01 +00:00
krasimir 70ec6632fd added smart constructors for types in PGF 2009-10-15 16:21:26 +00:00
krasimir 861e0a4c13 make the GF server to compile after that changes in the PGF runtime 2009-10-15 11:32:25 +00:00
krasimir 93da32c1d4 bugfix in Setup.hs for Linux 2009-10-15 06:44:40 +00:00
krasimir 624b1075d9 added start category S to Trigram.gf 2009-10-08 13:41:34 +00:00
krasimir a84cdb32c7 just for fun - grammar for trigram models in GF 2009-10-08 13:13:48 +00:00
aarne ffb5fdcd25 Sammie grammars added to examples 2009-10-08 12:40:47 +00:00
aarne df7f4ab34d rudimentary dependency tree by command vd 2009-10-08 07:03:29 +00:00
aarne 9896fcaad1 parse tree visualization command vp 2009-10-07 16:18:33 +00:00
krasimir e560990727 remove duplicated function from GF.Grammar.Macros 2009-10-07 09:33:57 +00:00
krasimir 68c866cf11 the Setup.hs script should build the prelude also 2009-10-07 08:34:32 +00:00
krasimir f1e39b52d1 fix the error message for overload resolution 2009-10-06 14:59:02 +00:00
krasimir cbcdae9148 hopefully the last revision of the relative paths handling algorithm 2009-10-06 10:27:34 +00:00
krasimir 332dbf7b9b another attempt to get the paths handling right 2009-10-05 14:58:13 +00:00
aarne be966cdda2 paths in Symbol modules; present in ResRon (not complete) 2009-10-05 12:54:17 +00:00
krasimir a63668577e bugfix in extendPathEnv 2009-10-03 07:39:06 +00:00
krasimir 56f979d669 update the testsuite 2009-10-03 06:52:14 +00:00
krasimir 4c77dcf938 merge GF.Grammar.API into GF.Grammar 2009-10-02 23:34:35 +00:00
krasimir d64419f2f2 refactor GF.Infra.CheckM and use the CheckM monad in the renamer as well 2009-10-02 22:52:14 +00:00
krasimir 8e79954861 Implicit arguments in GF. Works only in PGF for now. 2009-10-02 13:25:12 +00:00
krasimir af831e01a7 refactoring in GF.Grammar.Macros 2009-09-21 06:56:39 +00:00
krasimir 96786c1136 syntax for implicit arguments in GF 2009-09-20 13:47:08 +00:00
krasimir a29a8e4f60 rename MetaSymb in GF.Grammar.Grammar to MetaId to match the convention in PGF 2009-09-20 10:28:27 +00:00
krasimir 81ca1a5744 remove the Read instances from GF.Grammar.Grammar 2009-09-20 10:16:59 +00:00
krasimir cebd0560c8 rename Decl in GF.Grammar.Grammar to Hypo to match the convention in PGF 2009-09-20 10:15:39 +00:00
krasimir b1a51f46f5 change the data types and the syntax in PGF to match the new syntax for implict arguments 2009-09-20 11:43:41 +00:00
krasimir d09371280d fix the least version number for the base package 2009-10-01 17:20:04 +00:00
krasimir 288ef038f2 export the morphology API from PGF 2009-09-28 12:06:20 +00:00
krasimir 726d160c8d bugfix: the identifiers in the output of l -table should not be qualified 2009-09-25 08:53:27 +00:00
krasimir 0b1590536a bugfix in the filterProds function 2009-09-23 06:32:24 +00:00
krasimir ea10ce93c4 the pmcfg_pretty printer now prints the actual grammar used for parsing 2009-09-23 06:28:36 +00:00
krasimir 884747508e better error message for the ai command 2009-09-19 10:24:02 +00:00
krasimir e363c40058 bugfix in PGF.TypeCheck 2009-09-19 10:21:26 +00:00
krasimir 502979bef1 use the syntax <x : A> in PGF.Expr for typed expressions. This is consistent with the GF language 2009-09-19 10:16:37 +00:00
krasimir c3f0986275 command ai doesn't need typechecking from the shell 2009-09-18 14:43:04 +00:00
krasimir 2c86af2865 typo in PGF.Expr 2009-09-18 12:05:32 +00:00
krasimir 1d7e3b4a9e fix in GF.Grammar.Printer 2009-09-17 20:09:22 +00:00
krasimir b8a7e50107 added pt -transfer 2009-09-17 15:47:06 +00:00
krasimir bd2f46583c remove the transfer modules. We don't need anything special, a transfer module is module without concrete syntax 2009-09-17 14:32:20 +00:00
krasimir 49ca46d958 bugfix in the ai command 2009-09-17 13:14:04 +00:00
krasimir 6c7330131d more fixes in the testsuite 2009-09-16 12:49:04 +00:00
krasimir 9ca8db1cdb another fix in the testsuite 2009-09-16 12:13:11 +00:00
krasimir f45e0fe003 fix some tests in the testsuite 2009-09-16 11:20:05 +00:00
krasimir 118e1e6bd8 add Romanian to the build system 2009-09-16 08:40:16 +00:00
aarne 03a058297e make Romanian compilable for present, and Bronzeage for most languages 2009-09-15 15:27:42 +00:00
krasimir fe8af90a48 forgot to push the changes to GF.cabal 2009-09-15 11:51:26 +00:00
krasimir 88a018d6c8 update the compiler testsuite 2009-09-14 16:27:37 +00:00
krasimir 14dfbcc624 clean up the GF.Grammar API 2009-09-14 16:23:23 +00:00
krasimir 9f3534b3bb Use GF.Grammar.Printer everywhere instead of PrGrammar 2009-09-14 15:13:11 +00:00
krasimir 4426120eff fix typo in CheckGrammar 2009-09-14 12:34:46 +00:00
krasimir 70fea39e2b added some tests in the testsuite for the compiler 2009-09-14 12:17:57 +00:00
krasimir 62ef772a2c CheckGrammar is now using the printer in GF.Grammar.Printer. Fixed bug that was hiding the warnings 2009-09-14 12:16:02 +00:00
krasimir cc151c4279 added needsTypeCheck parameter to CommandInfo. The argument to the command is typechecked only if needsTypeCheck=True 2009-09-13 15:39:11 +00:00
krasimir 4111438979 the testsuite\runtime\parser test now generates random trees to test the parser with 2009-09-13 15:17:15 +00:00
krasimir 509d0cf8d8 added wrapper functions for expression manipulations in PGF. The Haskell API now uses the wrappers 2009-09-11 14:42:45 +00:00
krasimir 1cdf171251 polish the PGF API and make Expr and Type abstract types. Tree is a type synonym of Expr 2009-09-11 13:45:34 +00:00
krasimir 28a7c4b5c7 now the datatype Tree is only internal. All API functions are working with Expr directly. Commands gt, gr, p and rf filter out the output via the typechecker 2009-09-08 08:40:28 +00:00
krasimir 9940c44259 export Hypo(..) from PGF 2009-09-07 19:16:27 +00:00
krasimir 76517518a3 make the PMCFG generation lazy again. it was made strict when the profiler was introduced 2009-09-07 14:45:17 +00:00
krasimir b97d6abb81 hopefully complete and correct typechecker in PGF 2009-09-06 20:31:52 +00:00
krasimir c99b64404d bugfixes in the parser for PGF.Type.Type 2009-07-07 22:22:05 +00:00
krasimir bb3040e2c4 bugfix in PGF.Expr.apply 2009-07-05 16:07:34 +00:00
krasimir 279ff9a6d2 PGF.Type.Hypo now can represent explicit and implicit arguments and argument without bound variable 2009-07-05 15:44:52 +00:00
krasimir 3394c171ed PGF.Expr.eval now returns suspension when a meta variable is encountered 2009-07-05 15:34:16 +00:00
krasimir 95a577d269 simple profiler for PMCFG 2009-09-05 14:04:39 +00:00
aarne 785ef9224b revised FoodsHeb 2009-09-03 14:26:31 +00:00
krasimir c93d0a3a26 the -dump-X options should convert to UTF8 2009-08-27 17:27:20 +00:00
aarne db59a4ac72 food grammars added, with copyright statements 2009-08-29 17:36:15 +00:00
aarne f34dd228eb added contrib and summerschool 2009-08-28 07:05:08 +00:00
krasimir b6abe5f8f5 if there is oper patt = #(...) then it also should be decoded to Unicode 2009-08-27 15:57:38 +00:00
aarne 7e395c261c some corrections in Bronzeage 2009-08-27 13:49:00 +00:00
aarne 8c2cee0f4b Persian transliteration 2009-08-27 13:47:57 +00:00
krasimir dbf87958f9 let the 'se utf8' command change the terminal codepage to 65001 on Windows 2009-08-25 18:35:33 +00:00
aarne 8b3b2946b2 ancient greek ut additions 2009-08-21 16:13:07 +00:00
krasimir a73273895d the parsing test now evaluates all languages 2009-08-19 22:35:57 +00:00
krasimir 8da1aab8ff add functions and functionType to the PGF API 2009-08-19 20:59:43 +00:00
krasimir f27c1785a7 let the GF.Grammar.Printer printer output the unicode symbols directly 2009-08-18 07:09:41 +00:00
krasimir 3ee04cc42d fix the unicode encoding problem with the cc command 2009-08-18 07:08:44 +00:00
aarne acb930a349 transliteration now needs addition only in one file; a code can be more than 2 chars; ancientgreek added 2009-08-07 13:20:45 +00:00
krasimir b180ac61a5 merge some changes from the latest version of Data.Binary. Makes the binary decoding faster 2009-08-06 11:19:04 +00:00
krasimir 3473f0d274 added testcase for pattern matching on runtime variables 2009-07-22 09:53:39 +00:00
krasimir 4f21b57a86 updated the output in testsuite/compiler/check/lins 2009-07-22 09:51:57 +00:00
krasimir 5abc99b291 added testcases for evaluation with suspension 2009-07-07 11:40:14 +00:00
krasimir fd03f9fa0f added example for abstract syntax of RDF 2009-07-06 19:58:27 +00:00
aarne b823a64795 updated bibliography 2009-06-24 14:55:51 +00:00
krasimir d965cf4755 simplification: decodeFile doesn't have to check that the file is empty anymore 2009-06-24 12:21:09 +00:00
krasimir f20dd0ba4a make the Functor Get instance in Data.Binary strict to be sure that the decoder is strict 2009-06-24 12:08:32 +00:00
krasimir f81a309eb1 bugfix: Use openBinaryFile in Data.Binary.decodeFile. It makes difference only on Windows 2009-06-24 12:07:38 +00:00
krasimir cf4efe0acc explicitly close the file handle in Data.Binary.decodeFile 2009-06-24 10:39:03 +00:00
krasimir 9e3131f169 make Data.Binary.decodeFile stricter. It seems like this fixes the file locking problem on Linux 2009-06-23 11:56:22 +00:00
krasimir 8e72ff3a1c added preCopy and postCopy hooks in Setup.hs 2009-06-23 11:44:36 +00:00
aarne 032f8de862 made .cf grammars take their startcat from the first rule 2009-06-23 10:13:12 +00:00
aarne e89fdae2fa next-lib renamed to lib, lib to old-lib 2009-06-22 15:39:08 +00:00
aarne 3049b59b35 cleaning up overshadow failure to warning, after testing resource compilation 2009-06-22 14:51:58 +00:00
aarne ff29836c9b some more fixes for cleaner compilation of alltensenses 2009-06-22 14:45:02 +00:00
aarne f8fdaa7acc fixed warnings in present compilation of resource, esp. unreached patterns 2009-06-22 14:30:55 +00:00
aarne b7f6393e9f test unification in TypeCheck 2009-06-22 06:39:25 +00:00
aarne beb8cad7d8 the construct lin C t now replaces lock fields (in source code; still tempor used internally); lock fields removed from english resource as an example 2009-06-20 13:50:34 +00:00
aarne 48c7555975 accepting + patterns in pre expressions 2009-06-20 08:39:30 +00:00
aarne 30f90d707a function for printing the help file in txt2tags 2009-06-20 07:02:13 +00:00
aarne c81b1f2ab0 made AllLat compilable and fixed a bug in first declension 2009-06-05 17:40:26 +00:00
krasimir 3db76063a4 in splitContraints the values first have to be reduced 2009-06-19 14:37:58 +00:00
krasimir bc4d9df645 replace the reference to src/INSTALL with doc/gf-developers.html in the README 2009-06-19 13:39:32 +00:00
krasimir e51a896b94 extend the developers documentation with some information for readline,editline and haskeline 2009-06-19 13:37:38 +00:00
krasimir b8776e6e28 fix the current PGF typechecker 2009-06-19 12:03:18 +00:00
krasimir 6220ebd383 bugfix: restore the check for bound variables in expr2tree 2009-06-19 06:37:24 +00:00
krasimir eeb08bbd4d added testcase for linearization with HOAS 2009-06-18 17:47:06 +00:00
krasimir 13232a5e81 in the ai command don't show the fun keyword if there aren't any functions. 2009-06-18 17:44:29 +00:00
krasimir d2dd0830f1 the PMCFG lexical categories are not printed out with prefix C i.e. CInt,.. to make them different from the same PGF categories 2009-06-18 17:33:06 +00:00
krasimir 5f0a68c1a4 bugfix: the optimizer should not filter out rules that refer to lexical categories 2009-06-18 17:31:49 +00:00
aarne ea9aed6ff8 adds to gf-biblio 2009-06-18 16:08:05 +00:00
aarne 4401ebbe3e shortcuts for this_Det etc 2009-06-18 13:45:55 +00:00
krasimir e69f8165c0 make erasing=on the default 2009-06-16 14:50:06 +00:00
krasimir 358e5de44e fix the path in Italian 2009-06-16 12:20:06 +00:00
krasimir 6d82c8ed3d now rgl-pgf produces one .pgf per language and finally one combined .pgf 2009-06-16 12:15:11 +00:00
krasimir 8bc8929c59 completely phrase based parser and support for pre {} in PMCFG 2009-06-16 11:56:08 +00:00
krasimir b442cde3bd reduce the number of variants in Interlingua 2009-06-16 07:53:01 +00:00
krasimir b2b4a7064b remove some obsolete code from Interlingua 2009-06-15 09:59:21 +00:00
krasimir 6e1269bb33 fix the -path directive in French 2009-06-15 09:58:29 +00:00
krasimir d73e54ed50 reduce the number of variants in Catalan 2009-06-15 09:56:35 +00:00
krasimir 44bb6250b8 reduce the number of variants in Spanish 2009-06-15 09:31:20 +00:00
krasimir 5cc7a3f402 add reference to the developers quite from the GF Tutorial 2009-06-13 18:10:35 +00:00
krasimir f587501181 update the developers documentation with instructions for building and running the testsuite 2009-06-13 18:02:06 +00:00
krasimir 4d8a5fbd50 make the text in the SyntaxEditor float nicely 2009-06-06 08:33:11 +00:00
krasimir aa46238342 added AllTur.gf and AllTurAbs.gf 2009-05-25 16:54:27 +00:00
krasimir 9142fcff76 split the testsuite to different directories for compiler, runtime and libraries 2009-06-13 13:54:06 +00:00
krasimir c25d7be877 use oper in examples 2009-06-13 13:36:41 +00:00
krasimir fb29ce7834 scratched version of GWT Syntax Editor 2009-06-05 18:19:53 +00:00
krasimir fc38ae9a93 update the Makefile and the README for the server 2009-06-04 16:45:29 +00:00
krasimir 02ec4e5329 added decoding from UTF8 in MorphoService.hs 2009-06-04 16:39:06 +00:00
krasimir 3587a3a7f6 GF.Grammar.Parser is added to gf-server.cabal to tell Cabal that he has to run Happy 2009-06-04 16:38:07 +00:00
krasimir f2a968b6d5 the morpho server is now updated and works with the current GF. the sources are moved in directory server 2009-06-04 16:26:52 +00:00
krasimir 6a263f05aa Update FastCGIUtils.hs to work with GHC 6.10 2009-06-04 14:56:50 +00:00
aarne a71aed81fd fixed pre expressions, parsing {} patterns, and the path in resource Make.hs 2009-05-25 12:19:32 +00:00
krasimir 3efb7a671b added test cases for computation with abstract syntax terms 2009-05-23 21:43:24 +00:00
krasimir e5c8636a5f now in the command shell the primary type in the pipe is Expr not Tree. This makes the pt -compute and pt -typecheck more interesting 2009-05-23 21:33:52 +00:00
krasimir 41b263cf6a some work on evaluation with abstract expressions in PGF 2009-05-22 18:54:51 +00:00
krasimir 7a204376c9 fix in testcase testsuite\paraphrase 2009-05-22 22:14:57 +00:00
krasimir a7900bfbc8 fix the handling of wildcards 2009-05-22 21:47:32 +00:00
krasimir c520039f1c fix the funpatt testcase 2009-05-22 21:42:21 +00:00
krasimir 7f60804d5a bugfix to the previous patches 2009-05-22 21:30:34 +00:00
krasimir 7db4b641ce refactor the PGF.Expr type and the evaluation of abstract expressions 2009-05-20 21:03:56 +00:00
krasimir 401dfc28d6 some more tests for evaluation in the abstract syntax 2009-05-20 20:27:19 +00:00
krasimir 8f2fb82750 more friendly error message when renaming patterns 2009-05-20 20:24:15 +00:00
krasimir 6de94f5300 fix the generation of warnings in CheckGrammar. They are printed even in quiet mode and the prefix "Warning" is added automatically 2009-05-20 17:05:58 +00:00
krasimir 880665ad0f testcase for parameters with nested records 2009-05-20 16:38:19 +00:00
krasimir 77017c75a7 added testcase for categories with lincat C = {}; 2009-05-20 16:27:12 +00:00
krasimir 0d36ec5879 added testcases for abstract syntax computation 2009-05-20 15:01:52 +00:00
krasimir 5e054f9b09 the treebank test for the resource libraries is moved to the testsuite 2009-05-20 14:59:46 +00:00
krasimir cb6527c018 now 'runghc Setup.hs test' runs a simple extensible testsuite 2009-05-20 14:57:42 +00:00
krasimir 2d1d79a25a Now the toplevel file i.e. from command i is searched both in the current directory and in GF_LIB_PATH 2009-05-20 13:40:55 +00:00
krasimir b45bdaefec simpler algorithm for file searching in the compiler. should be equivalent to the previous one 2009-05-20 13:23:34 +00:00
krasimir 878ad278b5 remove the obsolete testsuite/srg directory 2009-05-20 12:39:32 +00:00
krasimir 0b2e093416 now a single line comment (--) is recongized as an empty command. Usefull for GF shell scripts 2009-05-20 12:10:54 +00:00
krasimir 352ac74b0f examples/test is moved to testsuite 2009-05-20 11:25:00 +00:00
krasimir b6ce113041 removed some debug traces 2009-05-18 15:53:36 +00:00
krasimir 5f986f5992 added filtering for useless productions in PMCFG 2009-05-18 15:52:10 +00:00
aarne 7508fa5785 pattern macros: oper f : pattern T = # p ; used as #f in patterns 2009-05-18 15:01:18 +00:00
aarne 953c77a08a entry "make gf" in Makefile with similar effect as in old src/Makefile 2009-05-18 08:50:23 +00:00
krasimir 3b65d88336 the new PMCFG compilation scheme is pushed. the old version is kept in GeneratePMCFGOld.hs (for now). 2009-05-16 12:14:47 +00:00
krasimir 2a80a301d4 implement command 'runghc Setup.hs test' 2009-05-13 08:44:47 +00:00
aarne 29c0ea9f76 new pre syntax (as alternative): pre {"o" | "i" => "an" ; _ => "a"} 2009-05-15 16:45:16 +00:00
krasimir 110d436e85 the check for lincat C = <> is made more robust 2009-05-15 11:27:26 +00:00
krasimir 0dad868f34 if the lincat is empty record the linearizations are derived automatically 2009-05-15 09:34:06 +00:00
krasimir c307fd50c0 added command rgl-none in Setup.hs 2009-05-14 20:12:41 +00:00
krasimir 2c68b1ba88 in command 'ai' send the output through the pipe 2009-05-13 06:49:37 +00:00
krasimir fdba7d20ee now command 'ai' prints the list of functions for given category 2009-05-13 06:27:31 +00:00
krasimir b037cbc361 added command ai which prints information about given identifier 2009-05-12 20:52:18 +00:00
krasimir f283944f5c Setup.hs now builds RGL. the code is borrowed from Make.hs 2009-05-11 06:55:11 +00:00
krasimir 30ebf7fd59 -gfo-files is consulted not only when .gfo files are created but also when we search for them 2009-05-11 06:50:50 +00:00
krasimir b2a40d9e2f Turkish: set coding=utf8 in NumeralsTur.gf 2009-05-09 18:19:44 +00:00
krasimir 37aa3947a5 implement --gfo-dir. before it was recognized but ignored 2009-05-09 18:00:11 +00:00
krasimir 4b8f868975 Turkish: bugfix in mkPron 2009-05-08 08:20:38 +00:00
krasimir 8b69008815 Turkish: implement NumCard and NumNumeral 2009-05-08 08:15:32 +00:00
krasimir 35a4a20845 Turkish: implement UsePron 2009-05-08 07:53:47 +00:00
krasimir 80369830a9 Turkish: harmony2 and harmony4 should be more liberal 2009-05-08 07:52:50 +00:00
krasimir 944267a142 Turkish: add abessive case for the pronouns 2009-05-08 06:14:21 +00:00
krasimir a83a68573d Turkish: fixed vowel harmony 2009-05-07 14:55:38 +00:00
krasimir 95d8fd3be4 Turkish: scratch the NP category 2009-05-07 10:28:47 +00:00
krasimir b0cbba9e0d Turkish: some more nouns in the lexicon and some work on the paradigms. still not complete 2009-05-07 07:41:38 +00:00
krasimir 112de09f6b forgot to add GF.System.UseEditline and GF.System.UseHaskeline 2009-04-30 13:31:22 +00:00
krasimir f9a3925653 conditional support for haskeline, readline and editline 2009-04-30 09:40:48 +00:00
krasimir 2c3ffb85c8 added new Makefile in the top directory which calls Cabal for compilation 2009-04-30 07:57:56 +00:00
krasimir ae6e8ee401 added -gf-lib-path option which overides the value of GF_LIB_PATH 2009-04-30 07:56:22 +00:00
krasimir c6ac4801ad upgrade to GHC 6.10.2 2009-04-30 05:13:55 +00:00
aarne c14a899ab4 have_V2 in Structural 2009-04-27 13:28:47 +00:00
aarne 010dee0c97 started to move have_V2 from Lexicon to Structural ; fixes in Hindi translit table 2009-04-26 20:10:44 +00:00
aarne d0e728d1a8 documentation before on-line course 2009-04-20 08:28:22 +00:00
krasimir 9c47cf4168 proper pretty printing of tokens in PGF.PMCFG 2009-04-15 12:10:08 +00:00
aarne f3fdd5ea2d on-line course announced on the summer school page 2009-04-14 08:12:45 +00:00
krasimir 63ccad9e85 refactor GF.Data.BacktrackM to use the MonadState and Functor classes 2009-04-14 08:07:33 +00:00
aarne 8bd97f9e75 hebrew transliteration added 2009-04-08 20:01:35 +00:00
aarne 4f6d13bd35 food grammar path changed in tutorial 2009-04-08 05:59:16 +00:00
aarne c7376c78a9 warning for overshadowed patterns, temporal solution 2009-04-06 14:07:22 +00:00
krasimir 203d02ef34 raise better error message when decode GFO file 2009-04-02 13:29:03 +00:00
krasimir fda12955fb raise better error message when decode PGF file 2009-04-02 13:25:20 +00:00
aarne ef49588ed1 version in Makefile 2009-04-02 10:01:26 +00:00
aarne 15bdc53f8c Updated version numbers. 2009-04-02 09:49:13 +00:00
aarne 6bb85a8f41 fixes before beta3 release 2009-04-02 09:35:48 +00:00
aarne a94143ee92 BronzeageAra compiles again, via minimal Syntax 2009-03-28 20:22:07 +00:00
aarne 71bb4eda8a restoring Arabic to new API 2009-03-28 19:03:54 +00:00
aarne 90b71deaf1 doc for next-lib; adjustments in summerschool-flyer 2009-03-28 13:20:47 +00:00
aarne 3a67fd9b56 adapt Precedence.gf to new syntax; bug fix in Swedish mkA 2009-03-26 22:40:44 +00:00
aarne 215d74e58e examples of file conversion with ps 2009-03-28 13:41:29 +00:00
krasimir 587549a871 some fragments of Turkish noun morphology 2009-03-27 08:43:43 +00:00
krasimir 5ced40f789 Turkish moved to next-lib 2009-03-27 08:41:55 +00:00
krasimir 90528ec1f1 the first letter of every PN should be in upper case 2009-03-25 17:49:11 +00:00
krasimir cb330815b9 remove the alphabet from DictEng 2009-03-25 17:35:08 +00:00
krasimir 0f959bd418 remove some abreviations like am, pm and bc which are declared as proper names 2009-03-25 17:19:05 +00:00
krasimir a1998b79a4 remove the verb be from DictEng 2009-03-25 17:17:43 +00:00
krasimir af8d589ce0 DictEng to utf8 2009-03-25 17:11:06 +00:00
aarne ba2c0a7b02 flag -env=quotes (and possible other flags) to restrict ps 2009-03-18 12:49:46 +00:00
aarne 20d6d7372f string operation in environment (begin and end marks) 2009-03-18 08:43:46 +00:00
aarne 793dd89f7e Greek (modern) transliteration scheme 2009-03-17 22:04:20 +00:00
aarne f69a8f6322 Finnish verb in Attempto 2009-03-17 18:53:57 +00:00
krasimir 13a8fe8c9e add the compiled Haskell sources for Parser and Lexer 2009-03-17 08:49:06 +00:00
krasimir 9cae779ac5 incomplete support for record types in the abstract syntax 2009-03-16 14:41:49 +00:00
krasimir a2c682cf0e typos in the grammars 2009-03-16 14:39:54 +00:00
krasimir a391c69fd3 use new parser which supports the syntax in GF.Grammar.Grammar directly 2009-03-16 14:10:30 +00:00
krasimir 5597cff5cb export ppLabel from GF.Grammar.Printer 2009-03-15 18:52:27 +00:00
krasimir 3ac05b4f61 some more refactoring 2009-03-15 17:59:49 +00:00
krasimir 3afe18dc57 code cleanup in the typechecker 2009-03-15 17:33:14 +00:00
krasimir 2081347033 update GF.cabal 2009-03-15 17:15:52 +00:00
aarne 995774f79e adjusted Make.hs to languages that do have appropriate modules 2009-03-15 16:55:39 +00:00
krasimir daa3235bfa fix typo cs1 -> c2. the whole typechecker was broken before that 2009-03-14 21:02:17 +00:00
aarne 103c145463 new languages in Make.hs 2009-03-13 17:24:47 +00:00
aarne 9b63633329 interlingua updated for new resource 2009-03-13 16:05:13 +00:00
aarne e66b27aa5b additions to ideas page 2009-03-13 14:04:01 +00:00
krasimir bae62cf7c2 remove the obsolete GF.Infra.PrintClass 2009-03-13 07:00:04 +00:00
krasimir d1276ee52b don't use ByteString.copy in Data.Binary this makes it far too slow 2009-03-12 09:03:55 +00:00
aarne 1421ed2f92 removed conflict marks from previous update 2009-03-11 16:57:28 +00:00
aarne a175874e2c idea page 2009-03-11 16:54:16 +00:00
aarne af1fc9306a google analytics 2009-03-11 16:10:02 +00:00
aarne 18c6ec5788 Finnish attempto started 2009-03-11 16:08:55 +00:00
aarne 84a1d54e82 preliminary Italian in Attempto 2009-03-10 17:31:18 +00:00
krasimir 85d9c76b5c special cases for printing the build-in PMCFG categories 2009-03-09 18:08:54 +00:00
aarne 50f8db750a tested "minimal" resource to compile Foods and Bronzeage 2009-03-09 16:53:40 +00:00
aarne 1362901845 marked Constructors that don't belong to a minimal implementation of RG 2009-03-06 17:14:56 +00:00
aarne a0abbc5cdd next-resource Make extended; bronezeage compilable again 2009-03-06 13:15:52 +00:00
krasimir 30c1342169 fix the update of overloaded functions 2009-03-05 19:18:51 +00:00
krasimir 10b0a90323 print semicolon after the ind statement 2009-03-05 13:14:17 +00:00
krasimir 993ceb63bc in GF.Grammar.Update - remove the indirection before to print the error message 2009-03-05 09:08:52 +00:00
krasimir 1d675e9c80 remove the spurious adjective sledni_ja__A in DictBul 2009-03-05 08:32:24 +00:00
krasimir bc77eef267 fix the compilation of ExtraBul.gf 2009-03-05 08:25:29 +00:00
krasimir bec544c0ef GF.Grammar.Printer: parenthesis around single identifier are not necessary 2009-03-04 15:22:23 +00:00
aarne aeeb31d066 folder adjustments 2009-03-04 15:06:35 +00:00
krasimir 49e6500c70 another missing case in GF.Grammar.Printer 2009-03-04 13:52:01 +00:00
krasimir 7babfd1da6 qualified/unqualified mode for GF.Grammar.Printer. Used in the "cc" command 2009-03-04 13:41:33 +00:00
krasimir ed6c31f3ef added few missing cases in GF.Grammar.Printer 2009-03-04 12:47:05 +00:00
ra.monique c20d766c54 mkA revised 2009-03-04 11:12:06 +00:00
aarne dbed089bfa summerschool folder 2009-03-04 10:15:18 +00:00
ra.monique 77fbddb629 Adjective Smart Paradigm 2009-03-01 13:56:02 +00:00
aarne 3b881e20b2 newlines and indentation in XML printing 2009-03-03 10:41:36 +00:00
aarne d841f69f65 clarifications in summer school web page 2009-03-02 10:48:28 +00:00
aarne e217d0b02c summer school edits 2009-02-26 13:07:26 +00:00
ra.monique d2e07b0287 convert ParadigmsRon.gf to UNIX format 2009-02-25 13:21:24 +00:00
ra.monique 7091a83d56 Romanian: mkV moved to ParadigmsRon 2009-02-25 12:54:00 +00:00
krasimir 8b844f7279 Bulgarian: fixes in some vocatives 2009-02-25 12:26:47 +00:00
krasimir 421912acfa set the code page for the Romanian grammar to cp1250 2009-02-23 14:19:10 +00:00
krasimir 6be08d77e0 fix the handling of flag coding 2009-02-23 14:17:16 +00:00
ra.monique b7d2916bbe Romainian in next-lib 2009-02-23 13:29:42 +00:00
krasimir 01fef5109c Perhaps -> Maybe refactoring and better error message for conflicts during module update 2009-02-23 12:42:44 +00:00
aarne 2bc918bb9a alignment in summer school 2009-02-17 14:57:36 +00:00
aarne 086f861b5e new school web page 2009-02-16 15:12:23 +00:00
krasimir e6fd01066b Graftals in GF. examples/graftals 2009-02-14 14:07:04 +00:00
krasimir 3548610ba1 fixes in the pretty printer for PMCFG 2009-02-08 09:57:16 +00:00
krasimir 5c2ce87cde PMCFG pretty printer 2009-02-07 23:31:22 +00:00
krasimir 14c13cb080 Bulgarian: fixed the paradigm for bizju 2009-02-05 23:47:36 +00:00
krasimir 9d3a142a0b Bulgarian: paradigm 089 was fake -> removed 2009-02-05 23:46:31 +00:00
krasimir 42a2dd3eed Bulgarian: fixes in the noun morphology. vocative forms for all paradigms. MascPersonal gender in the paradigms 2009-02-05 23:42:55 +00:00
krasimir e158ed0f1c Bulgarian: formal and informal numerals + small bugfix 2009-02-05 21:34:55 +00:00
aarne 11f9f51697 some new resource API functions 2009-02-04 17:16:48 +00:00
krasimir ddd7ab98d8 tabularLinearize should always generate label names 2009-02-02 09:56:02 +00:00
krasimir 7a882b5c36 another bugfix in the module dependency checker 2009-02-01 21:32:46 +00:00
krasimir 75829ceab3 the new pretty printer is now used for all -dump-* options. added -dump-source. implemented -dump-opt 2009-02-01 12:24:37 +00:00
krasimir 95e8142e1a small fixes in GF.Grammar.Printer 2009-02-01 12:23:58 +00:00
krasimir db9a1acaeb merge Lookup and LookAbs and move some lookup functions from PrGrammar to Lookup 2009-01-31 22:08:12 +00:00
krasimir 5e3a1f7392 the dependency graph now shows all dependencies 2009-01-31 21:15:42 +00:00
krasimir 0e1215a8f1 some dead code elimination in UseIO and ReadFiles 2009-01-31 20:36:41 +00:00
krasimir 6133fcbb5f fix flag handling in combination with binary serialization 2009-01-31 16:53:21 +00:00
krasimir ff0c0085cf bug fix in the module dependencies checker 2009-01-31 10:49:01 +00:00
aarne 241e13247d metavariables made unique in type checking 2009-01-30 16:52:38 +00:00
krasimir 92bb971ea3 the grammars are now recognized by extension i.e. .pgf is grammar just like .php is a PHP script 2009-01-25 22:06:20 +00:00
krasimir 7dfc17cd98 the pgf-server is single-threaded on Windows 2009-01-25 22:04:59 +00:00
krasimir 904282fb87 add Translate-compile.bat 2009-01-25 21:27:41 +00:00
krasimir 7e96a1ae3c add Fridge-compile.bat 2009-01-25 15:12:56 +00:00
krasimir 798380cbd3 hack for pgf-server for Windows 2009-01-25 15:07:29 +00:00
krasimir f6661c3213 remove some more obsolete code 2009-01-23 07:16:46 +00:00
krasimir f0718589df .gfo files in binary format 2009-01-23 06:15:27 +00:00
krasimir 3c53194ca9 --make now implies --batch 2009-01-23 06:14:34 +00:00
krasimir b10c9c0f83 pretty printing of qualified identifiers 2009-01-23 06:11:41 +00:00
krasimir 62a6156405 remove unused import 2009-01-23 06:11:10 +00:00
krasimir b3af472c98 improved error message 2009-01-22 15:52:19 +00:00
krasimir 0592994475 remove the obsolete GF\Devel directory 2009-01-22 15:28:10 +00:00
krasimir 418b33f9ae optimized Data.Binary.Get.getWord8 2009-01-22 15:01:41 +00:00
krasimir 8155d3b212 add hopefully complete binary serialization for the GF.Grammar.Grammar abstract syntax. Still not in use 2009-01-20 16:20:38 +00:00
krasimir c7c1e69c7a simple fixes in GF.Grammar.Printer 2009-01-20 15:38:52 +00:00
krasimir dd0ad1a1eb whitespace only 2009-01-20 15:38:18 +00:00
krasimir e3892b82c0 remove some dead types from GF.Grammar.Grammar 2009-01-20 14:33:42 +00:00
krasimir d6e917b5a1 added pretty printing for flags 2009-01-20 14:07:13 +00:00
krasimir d2a00c373a pretty printer for the GF.Grammar syntax. still not in use 2009-01-20 12:43:15 +00:00
krasimir 9f4ef60149 larger treebank in examples/test/parser 2009-01-19 13:39:06 +00:00
krasimir d95ca4a103 refactor the GF.Grammar.Grammar syntax. The obsolete constructions are removed 2009-01-19 13:23:03 +00:00
aarne fa7ab84471 empty variants in mkVV eliminated 2009-01-15 09:53:19 +00:00
krasimir c1d8e8af55 revert all changes related to the common Slavic grammar 2009-01-08 08:28:43 +00:00
aarne f7dfc6f1d7 command dg for showing source grammar dep graph restored 2008-12-19 14:28:58 +00:00
aarne f9e9c582f3 marked a workaround 2008-12-18 15:25:29 +00:00
aarne 9e341cc7f9 Hindi and Thai compile in 1.5 2008-12-18 14:21:28 +00:00
aarne 98a4b6a808 Arabic compiles now in 1.5 2008-12-18 14:17:42 +00:00
krasimir 9d0df9e0b4 added codepage 1250 i.e. central european. Useful for Polish, Czech, Slovak, Hungarian, Slovene, Bosnian, Croatian, Serbian, Romanian and Albanian 2008-12-17 23:53:12 +00:00
aarne 124738068a completed Russian grammar with missing syntax functions (marked ---- AR 17/12/2008); their effects should be checked 2008-12-17 15:41:38 +00:00
aarne cb44a12c1b fixed discontinuous constituents in word alignment 2008-12-16 15:20:03 +00:00
aarne e32e914703 datatype for bracketed texts, and improved word alignment 2008-12-16 13:56:23 +00:00
aarne 8c7aa2f5bb position of arrows in alignment 2008-12-16 08:59:26 +00:00
aarne e478228cb5 better treatment of syncategorematic words in alignment 2008-12-15 15:45:36 +00:00
aarne 10675e29ca visualization of word alignment based on bracketing (command aw); does not work for syncategorematic words yet 2008-12-15 10:33:53 +00:00
aarne 3e293ae3e0 bracketing with tree node reference: l -bracket 2008-12-13 20:19:37 +00:00
aarne 6e511e5fbd morphological analyser in shell state - now reasonably fast 2008-12-12 08:12:24 +00:00
krasimir a3328e5abb fixed nn_6n_blad paradigm in SALDO 2008-12-11 20:45:37 +00:00
aarne bd21e6e1a0 a dialogue-like editor loop 2008-12-11 15:36:40 +00:00
krasimir 7c1fc268e9 DictSwe changes: CR+LF -> CR, added reference to Borin at all paper 2008-12-11 12:55:20 +00:00
aarne db65b6bce1 added and editor function allMetas showing all meta positions and their types 2008-12-10 14:20:52 +00:00
krasimir fa8349bb54 big dictionaries for Bulgarian, English, Swedish in next-lib 2008-12-10 13:58:14 +00:00
aarne a554ced10d documentation in the Editor files 2008-12-10 13:22:54 +00:00
aarne efdbf69b93 fix in Editor 2008-12-10 12:13:01 +00:00
aarne 5974263e95 parsing in the toy editor 2008-12-09 23:05:32 +00:00
krasimir e32e085891 bugfix in the Swedish paradigms - jazz is jazz in gentive not jazzs 2008-12-10 10:58:20 +00:00
krasimir b62f564d0b bugfixes in Numerals for Romanian 2008-12-09 20:26:03 +00:00
aarne d925bb35c1 Editor with some commands, using PGF API, with demo shell in exper/EditShell; still buggy 2008-12-09 14:52:12 +00:00
aarne a6097ccee6 started PGF editor 2008-12-08 17:15:36 +00:00
aarne e009048e08 removed dependencies of Zipper and editor in GF grammar compiler 2008-12-08 14:25:11 +00:00
aarne 75ecc5f97b preperations for Val of params 2008-12-08 12:49:03 +00:00
aarne de8bea8d69 data structures for param values with number, preparing optimized pattern matching in grammar compilation 2008-12-08 07:15:19 +00:00
krasimir cbb495f5d9 remove GF.Source.SharedString from GF.cabal 2008-12-06 14:26:28 +00:00
bjorn 498466f8b2 Rename PGF Server cabal packages to pgf-server (was gf-server). 2008-12-05 19:10:51 +00:00
bjorn 934a5fc120 Added more functions to gf-server-jsapi.js 2008-12-05 19:08:58 +00:00
bjorn 91cc5f44c6 Update src/server/simple-client.html and gf-server-jsapi.js to work with current pgf server. 2008-12-05 19:00:20 +00:00
aarne d38f56b025 fixed a Compute bug due to failure to match typed record values with untyped record patterns 2008-12-04 17:02:24 +00:00
aarne 896791e78c factored out RET in letter grammars 2008-12-04 15:20:47 +00:00
krasimir 7ed9e11bfb spotted wrong traslation in the Bulgarian dictonary. feather is feather not father 2008-12-04 14:19:29 +00:00
bjorn e0572650b3 pgf server: return 1 result for /random without limit argument. 2008-12-04 13:54:43 +00:00
aarne d8c2b34b8e the letter grammar set ported to GF 3 2008-12-04 13:55:35 +00:00
aarne 2440854310 accusative for Finnish numeral determiners 2008-12-03 16:23:54 +00:00
aarne 2f7fd8a597 bug fixes relevant for Bronzeage. NB Bulgarian can be compiled separately with old lib 2008-12-02 15:21:37 +00:00
aarne 90ca53d18a added slavic to some paths in Bulgaria, and Inanimate to one place in SymbolBul, to be able to compile them 2008-12-02 08:49:04 +00:00
aarne d0a129dabc sibstantival det forms in scandinavian 2008-12-02 08:22:32 +00:00
aarne 947d22129f corrected BeschSpa.encontrar_38 2008-12-02 07:45:58 +00:00
bjorn bf7d2ff90c Don't try to include Bulgarian in the bronzeage.pgf, since it seems to be missing from the repo. 2008-12-01 22:13:08 +00:00
bjorn 45df272fcd Get A2, married_A2 from Lexicon in parsing grammar, since OALS doesn't have any A2's. 2008-12-01 21:40:57 +00:00
bjorn 52a138d4f3 Copy OALD files after building parse grammar. 2008-12-01 21:40:33 +00:00
bjorn b8893fc0b5 Remove more unused stuff from GF.Data.Operations. 2008-12-01 21:33:53 +00:00
bjorn 6728ef2dcf Fix URL of delete-last.png in fridge app. 2008-12-01 20:45:07 +00:00
aarne 3efc24bbea fixed the gender of French numeral "un" 2008-12-01 18:02:08 +00:00
krasimir 22112ca160 fix the inflection of computer in Bulgarian 2008-11-27 15:11:39 +00:00
krasimir 6470164446 category Art removed from Russian 2008-11-27 14:20:18 +00:00
krasimir 4af8cf3617 further refactoring in Russian 2008-11-27 14:08:50 +00:00
krasimir 7f81aa43af move lincat Subj, Prep to Slavic 2008-11-27 06:32:18 +00:00
bjorn f50c4270ad Remove lots of old unused stuff from GF.Data.Operations. 2008-11-27 10:55:24 +00:00
bjorn 1145aefdbb More efficient implementation of topological sort.
Profiling the compilation of the OALD lexicon showed that 90-95% of the time was spent in topoSort. The old implementation was quadratic. Replaced this with O(E + V) implementation, in GF.Data.Relation. This gave a 10x speed-up (~ 25 sec instead of ~270 sec) for compiling ParseEng and OaldEng.
2008-11-27 10:29:29 +00:00
bjorn a4e731cc33 Move Graph, Relation and Graphviz modules from GF.Speech to GF.Data. 2008-11-27 08:43:08 +00:00
bjorn a4f0d4f0d7 Remove ununsed GF.Source.SharedString module. 2008-11-27 08:36:18 +00:00
krasimir c9c07f8e68 initial Slavic grammar, shared between Bulgarian and Russian 2008-11-26 21:21:23 +00:00
krasimir b6c9aedd87 SubstForm in Russian is replaced with NForm like in Bulgarian and is used more widely 2008-11-26 19:38:51 +00:00
bjorn 720932d751 Don't use string sharing in LexGF.
Profiling showed that when loading a large .gfo file, shareString was responsible for
15-18% of the CPU time, and a lot of the allocation. Since we already use ByteStrings for 
reading the source files, shareString mostly has the effect of creating lots 
of small ByteStrings instead of one large one. Since the plain size of the .gfo is seldom
a problem (unlike when it was read as a String), it is ok to keep the whole file 
as one ByteString in RAM, and have all tokens point into that.
Profiling after the change showed 15-20% reduction in CPU time and in total allocation.
2008-11-26 16:19:54 +00:00
bjorn 5dee98234e My profiling showed that the BinTree operations were responsible for about 60% of the CPU time when reading a large .gfo file. Replacing BinTree by Data.Map reduced this to about 6%, which meant about 50% reduction in total CPU time. 2008-11-26 15:44:22 +00:00
bjorn 260e13146e Get 'make prof' working with GHC 6.8 2008-11-26 14:56:46 +00:00
bjorn 3c47226549 Use OALD in ParseEng. 2008-11-26 14:56:34 +00:00
bjorn a61a6d5d43 OALD: split lexicon into two: one for open classes and one for closed classes. 2008-11-26 14:35:35 +00:00
krasimir d0116c3958 add Russian in next-lib 2008-11-26 14:43:05 +00:00
bjorn 66785b2020 Added generated OALD files (Oald.gf and OaldEng.gf) to repo. 2008-11-26 14:17:55 +00:00
bjorn a8f0dc0cb2 Added original OALD files to repo. 2008-11-26 14:17:35 +00:00
bjorn e651a7bceb OALD: More info in generated header. 2008-11-26 14:17:16 +00:00
bjorn 335394de6a OALD: clean up asc2gf script. 2008-11-26 14:00:10 +00:00
bjorn 6e14352501 OALD: remove * and add comment for guessed irregular noun plural forms. 2008-11-26 13:38:34 +00:00
bjorn c66f94b06c OALD: Use verbs from IrregEng when possible. 2008-11-26 13:33:53 +00:00
bjorn f0ab94825f Added ParadigmsEng.mkV : Str -> V -> V, which adds a prefix to an existing verb. 2008-11-26 13:33:22 +00:00
bjorn 3d1bebbd32 First working version of OALD dictionary conversion. Still missing: irregular verbs, irregular nouns, better handling of singular- and plural-only nouns. 2008-11-25 20:09:50 +00:00
bjorn 450a34f2d8 Added ParadigmsEng.mkConj. 2008-11-25 19:53:22 +00:00
bjorn fbf266372a First version of OALD alsmost working. 2008-11-25 14:50:16 +00:00
krasimir 511c7eaa48 add preposition "na" when the case is dative (QuestionBul) 2008-11-24 13:27:33 +00:00
krasimir d34cc4671e replace spec with qform 2008-11-24 12:55:17 +00:00
krasimir 1e7c4be787 replace latin 'a' with cyrillic 'a' 2008-11-24 12:53:57 +00:00
aarne 594ed22b4e links in demo.txt 2008-11-21 17:12:34 +00:00
aarne 82484f5586 links to demos 2008-11-21 17:10:02 +00:00
bjorn 59ff172b7d Started working on oald2gf script. 2008-11-21 16:50:07 +00:00
bjorn b047a99a84 Added CompCN to ParseEng. Perhaps this should move to NounEng. 2008-11-21 12:33:56 +00:00
bringert 289618b81f lighttpd conf tweak. 2008-11-20 16:49:12 +00:00
bjorn 93ab59dd58 pgf.fcgi: don't install any signal handlers. Since we didn't look at the variable they set, we just created zombies. 2008-11-20 15:00:53 +00:00
bjorn b56a06fdda gwt: rearragne html files and paths to get nicer URLs. 2008-11-20 14:06:06 +00:00
bjorn 61507730e8 Added CAdvNP and CAdvSSlash to ParseEng. Maybe they should go in Noun.gf instead? 2008-11-20 10:32:15 +00:00
bjorn 7dbaae50a9 Fix permissions of pgf server error log. 2008-11-20 09:52:18 +00:00
bjorn 3195979031 gf-server lighttpd.conf: put fcgi socket in basedir, with PID in name. This helps avoid clashed when running muyltiple gf servers on the same machine. 2008-11-20 08:56:17 +00:00
bringert 9167185d21 Include MachDeps.h in Data/Binary.hs, since it uses WORD_SIZE_IN_BITS. Without this, the Binary Word instance would be wrong on 64-bit machines. 2008-11-19 20:30:57 +00:00
bjorn 86878c0cf4 Updated CompatibilityEng to compile with case-inflected Num and Ord. 2008-11-19 14:28:50 +00:00
bjorn 9d1d7dd3c8 Fix good_A in BigLexEng. 2008-11-19 13:57:42 +00:00
bringert 57fbca2133 Merge SyntaxEng.mkOrd and ParadigmsEng.mkOrd in TryEng. 2008-11-19 14:16:28 +00:00
bjorn 76f299b93a Updated ParseEng for case-inflected Num. 2008-11-19 13:15:36 +00:00
bjorn 0c538bf80b Added case inflection to English numerals and adjectives, in order to get genitive forms of stand-alone determiners that use Num or Ord right. 2008-11-19 13:11:45 +00:00
aarne 288ffd290a restored "?" as system pipe command 2008-11-18 15:31:30 +00:00
bjorn bd1417e21a Added overloaded mkQuant to ParadigmsEng. 2008-11-18 15:30:53 +00:00
bjorn f3f29a4683 The stand-alone form of no_Quant should be "none", not "no". 2008-11-18 15:20:40 +00:00
bjorn 7a7f3247b1 Remove "at least" and "at most" from parsing grammar, since they are now in structural. 2008-11-18 15:20:14 +00:00
bjorn 27168a053d Remove no_Det, nobody_NP and nothing_NP from the parsing grammar, sicne they are now in Structural. 2008-11-18 12:38:03 +00:00
aarne f1a68a3ca6 fixed a bug with type checking function types 2008-11-18 10:58:50 +00:00
peb 7babe205e8 Fix in Prolog output of the atom "'" 2008-11-17 13:33:53 +00:00
aarne 5f2ab183ae updated demo page and summer school 2008-11-18 10:00:43 +00:00
aarne cef4793ced new version of summerschool announcement 2008-11-17 17:58:11 +00:00
aarne f30560efcc Attempto complete up to spec 2008-11-15 20:08:09 +00:00
aarne 373b4d6828 PP lists in Attempto via iteration 2008-11-15 17:20:38 +00:00
aarne 79c9ec116a new CAdv type in Dan and Nor 2008-11-15 11:24:22 +00:00
aarne 3ff57f6184 comparative adverbs generalized to cover more of Attempto 2008-11-15 11:19:10 +00:00
aarne 6b4f9715e6 attempto almost complete to spec now 2008-11-14 17:39:05 +00:00
aarne d5fa908250 rules for constructing structural words (separate from Paradigms - is this desirable?) 2008-11-14 17:32:34 +00:00
aarne f2a5937120 added ConjRS and things needed for it 2008-11-14 15:42:09 +00:00
aarne e1662cd851 Attempto lexicon bug fixes 2008-11-14 12:51:14 +00:00
bjorn bc7cb25a09 gwt: fix gf-gwt.jar compilation to use the dnd jar 2008-11-11 22:13:12 +00:00
bjorn 1a6d90ff66 Frdige: hide magnet bag when empty. 2008-11-11 12:44:59 +00:00
bjorn a9d870d76a make food.pgf in src/server from resource-foods 2008-11-11 12:26:00 +00:00
bjorn 18e80ce5de Towards better layout of Fridge app. 2008-11-11 11:00:33 +00:00
aarne a5300ad062 tutorial complete with server and js 2008-11-11 10:28:32 +00:00
aarne db18350b1e fixed some tutorial grammars and updated embedded section (JavaScript and web TODO) 2008-11-11 09:21:59 +00:00
aarne ca59050abc print "no trees found" in GF shell if an empty tree list is returned by p or pt 2008-11-10 16:23:09 +00:00
aarne 821fbe7ddb updated tutorial html 2008-11-10 15:57:29 +00:00
aarne d9ff5aa48c lexer documentation in help and tutorial updated 2008-11-10 15:53:38 +00:00
aarne 7e82e4a710 updated tutorial up to lexers ; fixed lexcode in GF (was wrong due to a typo) 2008-11-10 10:59:13 +00:00
bjorn c6968b626c SRG generation: renameCats now gives new names to all cates used in the grammar, on RHS or LHS. This avoids a crash in non-recursive SRGS generation. The crash happend becase the bottom-up filter has not yet been done when renameCats is called. 2008-11-09 14:27:34 +00:00
bjorn a24fab7873 Fixed PGF file overwriting issue reported by Peter, by refusing to overwrite any of the input pgf files. Maybe the right fix would be to read the PGF strictly? 2008-11-09 13:58:28 +00:00
bjorn d9ef4d7e01 Nicer brushed metal background. 2008-11-08 20:09:24 +00:00
aarne cbec29962e corrections in Attempto grammars 2008-11-08 09:38:32 +00:00
bjorn 4e921573f4 Symbolic.symb: overload versions with Quant instead of Det. 2008-11-07 16:15:53 +00:00
bjorn f0eed5cd69 Added variants of Symbolic.symb that take Numeral instead of Card. 2008-11-07 14:30:32 +00:00
aarne 403a539dc1 one more word in German corrected 2008-11-07 16:24:00 +00:00
aarne 03ffe34dbb bug fixes in German lexicon 2008-11-07 16:16:06 +00:00
krasimir c82fa213ac add TTAnt in CatBul 2008-11-07 09:41:59 +00:00
krasimir 4a1bfac84b add SymbolBul, SymbolicBul, CompatibilityBul 2008-11-07 09:41:04 +00:00
bjorn e2de6a8555 More work on IE 6 bugs. 2008-11-07 09:55:56 +00:00
bjorn 818d9bc122 Fridge: don't carch on start-up in IE6. 2008-11-07 09:07:58 +00:00
bjorn 1ab8dbbd6a Added IE6-only testing module for FridgeApp. 2008-11-07 08:56:19 +00:00
bjorn 654f0b968f Fridge: Added Delete Last button. 2008-11-06 14:31:06 +00:00
bjorn 0d29ad9a6a The PGF GWT module needs to inherit the DnD stuff. 2008-11-06 14:24:38 +00:00
bjorn f866b07f68 Fridge: prefix panel layout tweak. 2008-11-06 14:13:24 +00:00
bjorn 14ea149c7f Fridge: show initial letters in magnet bag when needed. 2008-11-06 14:11:32 +00:00
bjorn 68ee5c15a1 Fridge: minor refactoring. 2008-11-06 13:47:40 +00:00
bjorn 637bdfdb93 Fridge: allow clicks in addition to drag and drop. Don't remove magnets when dnd-ing. 2008-11-06 13:42:16 +00:00
bjorn 58bd23759f Use drag and drop in Fridge app. 2008-11-06 10:15:38 +00:00
bjorn 3f092a5c7a Brushed metal look for fridge app. 2008-11-05 21:03:23 +00:00
aarne d907e644cd German Bronzeage ; two fixes in Italian 2008-11-06 09:55:36 +00:00
aarne 53e84610f1 Scandinavian indefinite modified form fix 2008-11-05 22:00:08 +00:00
aarne bd6fb074aa bug fixes in Finnish 2008-11-05 19:28:14 +00:00
bjorn 5f78c8fa67 Make fridge magnets look more like magnets. 2008-11-05 16:47:52 +00:00
bjorn 29ad828b9d GWT: big refactoring of the translator and fridge apps. 2008-11-05 16:36:52 +00:00
aarne f7aed275d3 distinguished know_VS and know_V2 in Lexicon; patched Italian imperatives (not quite finished yet) 2008-11-05 10:22:09 +00:00
aarne a629d30958 slight modifs in Bronzeage, adapted to next-lib 2008-11-05 10:21:28 +00:00
aarne 6d83ada3eb URL for gwt in README corrected 2008-11-04 15:23:25 +00:00
bjorn cf079aa6e4 Get Fridge to compile with changes in Translate. 2008-11-04 14:12:37 +00:00
bjorn 13042d7dac Forgotten record in src/server/Makefile. 2008-11-04 13:57:27 +00:00
bjorn 84aebb8ab8 Added GWT compile instructions to src/server/README. 2008-11-04 13:32:44 +00:00
bjorn c5bc06c36d GWT: changed input na doutput language boxes to not pretend that they allow multiple selections. 2008-11-04 10:44:23 +00:00
bjorn f1fcee964f pgf-server: write stderr to pgf-error.log, since lighttpd closes stderr for fastcgi processes. 2008-11-04 09:28:21 +00:00
bjorn a6905d654d Use next-lib when building example PGFs in src/server 2008-11-04 09:10:50 +00:00
bjorn 748c695009 Added /random to pgf-server. 2008-11-04 09:09:22 +00:00
bjorn 3a6466ac1a Fix GWT client-side completion caching bug. Typing a space and then a letter quickly would cause the first request to be cancelled, and the second would use the two steps old results, which didn't go past the space => 0 completions. 2008-11-03 21:07:53 +00:00
aarne d6f09a941f some tutorial updates ; new structural words Italian and Finnish 2008-11-03 17:22:21 +00:00
aarne 9ecc663d00 structural words needed for Attempto ; negative items are overgenerating 2008-11-03 16:52:54 +00:00
aarne 44ad7596b6 missing constructions in Attempto grammars added 2008-11-03 16:51:43 +00:00
bjorn bf50b5d70d Added first version of the fridge poetry gui 2008-11-03 16:43:47 +00:00
bjorn 07a0e8fe86 gf-server: complete noew sorts case-insensitive 2008-11-03 16:43:19 +00:00
bjorn ed05fc771c GWT: Refactor TranslateApp to make the suggestion panel and the settings panel separate classes. This makes it possible to reuse them in mosg and fridge. 2008-11-03 14:42:49 +00:00
bjorn 770135af5f ParseEng: more liberal IdRP 2008-11-03 13:00:35 +00:00
bjorn dfd2adad09 Added 'parse' target to Make.hs. 2008-11-03 12:29:28 +00:00
bjorn 759d648de9 ParseEng: StrandRelSlash as variant of RelSlash. 2008-11-03 12:28:40 +00:00
aarne 0c1f5cf9f2 fixed some spurious errors in romance 2008-10-31 14:39:47 +00:00
bjorn 88fa05749b ParseEng: ise CompleBareVS as variant of ComplVS 2008-10-31 11:04:22 +00:00
bjorn 5f59b091a0 Use BigLexEng in ParseEng. 2008-10-31 10:58:21 +00:00
bjorn 531cdf355d BigLexEng: use mkV3 instead of dirdirV3 2008-10-31 10:54:39 +00:00
bjorn ef19c479a2 BigLexEng: drop superfluous parantheses. 2008-10-31 10:51:33 +00:00
bjorn ddcd92d8fe BigLexEng: better use of mkV3, mkV2, mkN2. 2008-10-31 10:47:28 +00:00
bjorn d5b8e459ba ParadigmsEng: more versions of mkV2 and mkV3. 2008-10-31 10:43:13 +00:00
bjorn 229f2569dc BigLexEng: Get rid of the last mkV2 with empty second argument. 2008-10-31 10:34:59 +00:00
bjorn b3e4bf7a36 igLexEng: Use mkV2 : Str -> V2 instead of mkV2 (mkV "...") 2008-10-31 10:32:47 +00:00
bjorn 026086c1e9 BigLexEng: Use one-argument mkV2 instead of two-argument one with empty prep. 2008-10-31 10:28:54 +00:00
bjorn 03d687fad3 Update BigLexEng to use overloaded paradigms. 2008-10-31 10:26:17 +00:00
bjorn c14baecf51 ParadigmsEng: more overloaded version of mkA2, mkV2, mkV3, mkN2. Added mkSubj. 2008-10-31 10:19:44 +00:00
bjorn b4a433bd31 LexiconEng: Lexicon.sister_N is N, not N2 (but it probably should be). 2008-10-31 10:05:59 +00:00
bjorn f33d9e169c Added BigLexEng from mosg (originally from GF/example) to next-lib/parsing. 2008-10-31 09:26:38 +00:00
bjorn 6fcfe5d7b7 Added Pol argument to ExtraEng.Unc* to give them the same signatures as the standard (contracted) versions. This makes it easier to use Unc* as a variant without getting meta-variables when parsing, 2008-10-31 09:22:09 +00:00
aarne b49a021608 refactored romance VP. Now it is possible to parse with Spanish and Catalan; for the rest, some Slash rules still pose a problem. Some clitic and agreement things unfinished. All this in next-lib only; resource 1.4 untouched 2008-10-30 20:38:51 +00:00
krasimir 12338243c5 bulgarian in next-lib 2008-10-30 18:04:09 +00:00
bjorn 09177428d3 Started working on a parsing grammar. English-only so far. 2008-10-30 16:53:26 +00:00
bjorn e64d5a8bb0 Removed "that" variant in RelativeEng.IdRP. Added instead that_RP in ExtraEng[Abs]. 2008-10-30 15:06:34 +00:00
bjorn bed2d9068e More English morphology clean-up. 2008-10-30 14:37:54 +00:00
bjorn 9e26b4f852 Remove lots of dead code from MorphoEng. 2008-10-30 14:21:46 +00:00
bjorn a726630bb7 Added case parameter for stand-alone forms of determiners. I had to move mkPron from ResEng to MorphoEng, and mkQuant from StructuralEng to MorphoEng. I also removed the unused mkPronoun stuff from MorphoEng. 2008-10-30 14:09:27 +00:00
bjorn d4d94f6c23 Towards cleaner english morphology: use mkPrep instead of ss in StructuralEng. 2008-10-30 14:08:21 +00:00
bjorn 0486f4cd37 Removed some unused (and strange) code from MorphoEng.
Why would you want a function that always returns the noun "dog"?
2008-10-30 13:10:29 +00:00
bjorn 5e711e7abc Include .gf file name in source parsing syntax error message. 2008-10-30 10:49:23 +00:00
bjorn 0c7ac1cc6f GWT lib and translator: added support for multiple pgf files. 2008-10-30 09:19:58 +00:00
bjorn 7c3021c2da gf-server: added a way to list the available pgf files 2008-10-29 20:45:18 +00:00
bjorn 55efa546a9 Rename MainFastCGI.hs to PGFService.hs. 2008-10-29 19:49:38 +00:00
bringert 9fab68709c Some lighttpd config fixes for the gwt translator. 2008-10-29 14:45:15 +00:00
bjorn 553d323495 GWT translator: fixed copy-paste bug where the from language was sent as both from and to language. 2008-10-29 14:30:20 +00:00
bringert 7f4ba6333c Better way of building gf-gwt.jar. 2008-10-29 14:02:58 +00:00
bringert 15314fda12 GWT: Some changes to compilation scripts to run on linux. 2008-10-29 13:55:00 +00:00
bjorn 856d401337 Changed UncNegX in ExtraEng to take a Temp rather than Tense and Ant arguments. 2008-10-29 13:27:04 +00:00
bjorn 03fb2af472 Remove superfluous RP argument to EmptyRelSlash. 2008-10-29 13:06:03 +00:00
bjorn 97e1f27a0c Replace PGF.Raw with PGF.Binary in the executable section of GF.cabal 2008-10-29 09:46:46 +00:00
aarne 79d3f7db86 smart consonant duplication in ParadigmsEng 2008-10-29 08:56:36 +00:00
krasimir c3c834c79e even more compact binary representation. saldo < 19MB 2008-10-28 16:54:46 +00:00
krasimir ee8a2738e2 Data.Binary should use Data.ByteString.copy when decoding ByteStrings 2008-10-28 16:43:00 +00:00
krasimir adcf1a8c34 remove some traces that I left by incident 2008-10-28 16:31:30 +00:00
aarne de9ed61a27 German Attempto - lots of words to check 2008-10-28 16:15:13 +00:00
krasimir 03d86ba05c remove some redundant imports of GF.Text.UTF8 2008-10-28 15:47:04 +00:00
krasimir e6bb0a8eda forgot to add PGF.Binary 2008-10-28 15:40:10 +00:00
aarne 4448f92c23 notpresent flags in French auxiliaries 2008-10-28 15:33:57 +00:00
aarne 48dc5208b5 Attempto in French ; not correct for mode in "il n'est pas possible que..." etc 2008-10-28 15:33:02 +00:00
aarne 833752872b part of Attempto controlled language in English and Swedish 2008-10-28 14:05:55 +00:00
aarne 128809b7b8 fixes in next resource needed for Attempto 2008-10-28 14:05:11 +00:00
krasimir ebd98056ce binary serialization for PGF 2008-10-28 13:57:10 +00:00
bjorn 8e43cfb8a8 GWT: better heuristics for when to ask the server for completions. 2008-10-28 12:59:00 +00:00
bjorn 1a34a24df0 GWT completion: only return request.getLimit() results to the SuggestBox. Re-request completions from the server if there is only one completion. 2008-10-28 12:37:52 +00:00
bjorn 50b2b453f3 Changed PGF.complete to include the given input if it can be parsed as a complete tree. 2008-10-28 12:28:46 +00:00
krasimir f8331e5b4b define Read and Show instances for Expr and Tree 2008-10-28 12:22:34 +00:00
bjorn 8de7fa2678 GWT: Hold on to the previous suggestions, and try filtering them before asking the server. 2008-10-27 21:51:54 +00:00
bjorn 9457ebe0c3 GWT: added IterableJsArray.isEmpty(). 2008-10-27 10:18:21 +00:00
aarne 970e69add9 missing case in PGF generation 2008-10-27 09:24:33 +00:00
krasimir 3fed05e121 fix typo 2008-10-25 20:44:04 +00:00
krasimir 4104b83801 Windows fix: the default coding isn't utf8 but the current system codepage. The se command changes the codepage as well as the coding 2008-10-25 20:26:48 +00:00
krasimir e816ae237a add cp1252. usefull for Swedish and German 2008-10-25 20:25:09 +00:00
krasimir a06d2c6d50 extend the cp1251 coding to cover all cyrillic letters 2008-10-25 20:22:06 +00:00
bjorn 4cd3d6395b GWT: hide stale suggestions. 2008-10-24 14:22:19 +00:00
bjorn d5678ee2de GWT code import tweak. 2008-10-24 14:00:24 +00:00
bjorn a2503e3b0f More GWT refactoring. 2008-10-24 08:45:34 +00:00
bjorn edaf206383 Added Eclipse project stuff for the GWT library. Some refactoring of the GWT code. 2008-10-23 11:51:52 +00:00
bjorn 8872b0b010 Added PGF.parse method to GWT client. 2008-10-22 19:59:43 +00:00
bjorn 7c914d39cb Some refactoring of the GWT translator. 2008-10-22 19:37:57 +00:00
krasimir 9ba3b739df fix the word completion in the shell 2008-10-22 11:27:01 +00:00
krasimir bb007215ab fix a typo. It is option "-cat" not "-type" 2008-10-22 09:36:50 +00:00
bjorn 7a2ef0bb09 Make GWT compilation easier. 2008-10-22 13:29:57 +00:00
bjorn 245e1b3300 Remove compiled GWT stuff. 2008-10-22 13:28:33 +00:00
bjorn ecf391ee87 gf-server: preliminary Ubuntu instructions 2008-10-22 12:36:13 +00:00
bjorn 4685919ac3 Recompiled GWT code. I should drop the compiled code from the repo soon, this is getting tedious. 2008-10-22 12:07:04 +00:00
bjorn 5dbace4cc2 Rename the GWT Translate module to PGF. Rename the GF class to PGF. 2008-10-22 12:05:59 +00:00
bjorn 2aa899a5ff Change GWT compilation scripts to make it easier to change the GWT dir location. 2008-10-22 11:19:12 +00:00
bjorn dea941eea9 New compiled GWT stuff. 2008-10-22 09:37:06 +00:00
bjorn acdcd57fa6 Reorganize GWT stuff into a reusable module and one application module. 2008-10-22 09:36:05 +00:00
krasimir 0606de738e efficient and nicer implementation for literal categories 2008-10-21 14:30:36 +00:00
bjorn 6633ae71f1 gf-server: move some general stuff to FastCGIUtils 2008-10-20 15:17:57 +00:00
krasimir 41fb72ca6f the literal categories were slowing down the parser 3 times. this is quick and dirty workaround until I find something cleverer. 2008-10-20 15:38:59 +00:00
bjorn d327d9da6c Added --parser=ondemand flag. 2008-10-20 14:52:50 +00:00
bjorn 6b8c9dd4c9 Added PGF.Macros.mapConcretes 2008-10-20 14:51:42 +00:00
bjorn 05343e78a9 Added on-demand parser generation back in. It's pretty unproblematic, and can help with memory use in some cases. 2008-10-20 14:05:39 +00:00
bjorn 5cbc5aeb9d Added new generated GWT output. 2008-10-20 13:30:01 +00:00
bjorn 66397a454d Removed the flag icons from the GWT client. 2008-10-20 13:23:40 +00:00
bjorn 9b8f50534c Update gf-server instructions and configuration. 2008-10-20 12:56:08 +00:00
bjorn cec2b61af0 Drop -beta2 from version in GF.cabal. It confuses cabal-install. 2008-10-20 12:49:18 +00:00
krasimir 399d1bb09a fixed typo in the Haddock documentation 2008-10-20 12:24:07 +00:00
bjorn 88eed35c18 Reorganize PGF export list to get easier to read haddock. 2008-10-20 12:10:42 +00:00
bjorn 617c707a77 Update gf-server to compile with changed PGF API. 2008-10-20 12:07:05 +00:00
bjorn d41616dd6a Added Read and Show instances for CId. Also added readCId :: String -> Maybe CId, and use that for readLanguage. 2008-10-20 11:59:31 +00:00
bjorn 2174690c5e Added Read and Show instances for Type. This required moving some code around. 2008-10-20 11:36:17 +00:00
bjorn a26290659d Replace Category with Type in the PGF API. Added readLanguage and showLanguage. 2008-10-20 11:35:05 +00:00
krasimir 3d92897a94 more test/srg to examples/test/srg 2008-10-20 11:11:59 +00:00
krasimir 6f7d0ab08d added parser test suite 2008-10-20 09:40:09 +00:00
bjorn 072f19212f Added 'run' target to gf-server Makefile. It compiles the server, and starts lighttpd. 2008-10-20 08:46:32 +00:00
bjorn e6d7e5e97f Added compiled GWT code to repo. 2008-10-20 08:45:42 +00:00
bjorn a11ccb9cd8 gf-server: New URL format: /grammar.pgf/command 2008-10-20 08:45:00 +00:00
bjorn ee08605aee lighttpd.conf tweak 2008-10-20 08:43:23 +00:00
bjorn d205011470 fastcgi: better grammar cache implementation: don't deadlock on exceptions 2008-10-20 08:24:01 +00:00
bjorn 0205f341f5 (fastcgi) replace DataRef with a more general Cache type, which can hold several PGF grammars. 2008-10-17 14:12:53 +00:00
krasimir eb0fefec28 preparation for dep. types. The -cat option can take any type instead of just a category. The PGF API is generalized as well. 2008-10-20 08:42:39 +00:00
krasimir 96bea5a0bb export wildCId from PGF.hs 2008-10-20 07:56:32 +00:00
krasimir abe8da32fd add parser and pretty printer for types 2008-10-20 07:52:14 +00:00
krasimir 418856d9bf move the literal category names to PGF.Macros 2008-10-19 14:21:58 +00:00
krasimir 9837fb8fb1 move PGF.Quiz to GF.Quiz. It is not part of the PGF API 2008-10-19 16:38:56 +00:00
bjorn a6c4747b11 lighttpd.conf: use default server.event-handler = "select" 2008-10-17 12:57:52 +00:00
bjorn 48a031db98 gf-server-jsapi: clean up old callbacks 2008-10-17 12:57:34 +00:00
bjorn feb3e84fb5 Don't include parsers for Ger, Dan, Nor in server/demo.pgf and server/lang.pgf 2008-10-17 12:41:48 +00:00
bjorn 411326de31 Fixed URL in gwt-client/Translate-shell-external to work with lighttpd 2008-10-17 12:41:19 +00:00
bjorn 0eaef4a5b5 Use JSON-P in gf-server-jsapi.js 2008-10-17 11:14:46 +00:00
bjorn 3df821efd7 Added JSON-P support to fastcgi server. 2008-10-17 10:49:34 +00:00
bjorn 1a098d3d7a Delete gf.fcgi in src/server/Makefile. 2008-10-17 10:05:29 +00:00
bjorn 44eeb7a0f7 A bunch of changes that make it easy to run the gf server with lighttpd 2008-10-16 13:39:09 +00:00
bjorn f211fc10ca Multithreaded gf.fcgi. 2008-10-16 13:00:44 +00:00
bjorn 11ba8a6a17 server/makefile added test.pgf target. 2008-10-16 13:00:16 +00:00
bjorn 95278a947f Export list in GF.Compile.GetGrammar 2008-10-16 12:59:40 +00:00
bjorn bb25c86ae5 Copy command-line flags to in-memory module when reading from a .gfo file. This maeans that command-line flags get put in the .pgf file. 2008-10-16 11:58:18 +00:00
bjorn 176dc3e730 In shell "p" command, only try languages that have a parser. 2008-10-16 11:33:09 +00:00
bjorn b0351dc653 build pgf files in src/server with erasing parsing 2008-10-16 11:27:12 +00:00
bjorn f0f4948f5b Allow giving .gfo files as gfc command-line arguments. 2008-10-16 10:33:23 +00:00
bjorn d10c8bd20a Removed on-demand parser generation from the PGF interpreter. 2008-10-16 10:18:54 +00:00
bjorn dc3f283344 Moved parser building in the PGF interpreter to PGF.hs from PGF/Raw/Convert.hs, in preparation for doing something more clever about it (e.g. looking at the parser flag). 2008-10-16 10:13:25 +00:00
bjorn 8726886298 A bit more verbosity when combining PGF files. Use putPointE when writing output files. 2008-10-16 10:12:57 +00:00
bjorn d1633b98d0 Honor --erasing flag from command-line also when compiling existing .gfo to PGF. 2008-10-16 08:27:43 +00:00
bjorn 5422eb54d9 code tweak: use Map.findWithDefault in PGF.Macros.lookMap 2008-10-16 08:22:04 +00:00
aarne 856c31a64b restored the possibility to compile .cf files to gf 2008-10-15 15:08:38 +00:00
krasimir adc6566cd3 high-order syntax in PMCFG 2008-10-15 14:58:00 +00:00
krasimir be75baa4bf rename some variable names 2008-10-15 09:43:15 +00:00
bjorn 7676ab8e00 Copy command-line options to module flags when compiling to .gfo. 2008-10-15 14:24:23 +00:00
bjorn 849642e9dd Merge ModuleOptions and Options. 2008-10-15 11:55:18 +00:00
bjorn 1ecb4f63e9 Added OPTIONS class to make options handling somewhat nicer. Next, I will merge Flags and ModuleFlags. 2008-10-15 11:38:34 +00:00
jordi.saludes 60ba93cfbb for_Prep is 'para' in Spa. 2008-10-11 21:50:28 +00:00
krasimir f438fbb294 rename emptyFRulesEnv to emptyGrammarEnv 2008-10-15 09:26:01 +00:00
bjorn dc2d0f0df4 Added PGF.TypeCheck to .cabal. 2008-10-15 09:05:37 +00:00
krasimir e36d70d483 threat category _Var as a literal category 2008-10-15 08:38:34 +00:00
krasimir 4fa3eb87cd generate metavariables in the tree extraction for PMCFG 2008-10-15 08:02:12 +00:00
krasimir 5f33e0bda9 store the total number of PMCFG categories in the PGF file 2008-10-15 07:47:57 +00:00
krasimir 57ee52103d literal categories in the incremental parser 2008-10-14 15:29:50 +00:00
aarne e4dc63f665 rudimentary abstract syntax type checker and solver in PGF 2008-10-14 14:34:08 +00:00
krasimir ec2d7e2299 pass the full Tokn type to the add function not just the KS string 2008-10-14 13:29:45 +00:00
aarne a2e3b1ce73 moved paraphrases to examples/test/, meant for small grammars used for testing various aspects 2008-10-14 11:20:44 +00:00
aarne a11f1b1437 paraphrase works a little better now ; added examples/paraphrase for testing 2008-10-14 11:19:30 +00:00
krasimir 3fe0cccaf7 remove trace in the PMCFG compilation 2008-10-14 09:40:55 +00:00
krasimir 4573d10442 the new optimized incremental parser and the common subexpression elimination optimization in PMCFG 2008-10-14 08:00:50 +00:00
krasimir 0c66ad597d register PGF.AbsCompute and PGF.Paraphrase in GF.cabal 2008-10-14 07:57:32 +00:00
krasimir e054f9b063 remove GF.Source.ErrM from GF.cabal 2008-10-13 20:03:29 +00:00
aarne 54f8fd9ec1 added a paraphrase method applying def's in both directions, in subtrees, and step by step; doesn't work properly yet 2008-10-13 16:41:21 +00:00
aarne fbc72e3230 added a note on refreshing variables in AbsCompute 2008-10-10 16:01:07 +00:00
aarne 4e795bab9b a first version of PGF.AbsCompute 2008-10-10 15:53:17 +00:00
aarne 917f417413 AdjOrd instance of mkAP 2008-10-10 12:26:09 +00:00
bjorn 88798b2a23 Added option to treat some categories as lexical when generating Haskell data types. 2008-10-10 11:55:12 +00:00
aarne 18aa48941c oops - forgot mkPresent as well 2008-10-08 08:35:51 +00:00
aarne eba875c7d4 oops - had forgotten Makefile from next-lib 2008-10-08 08:28:39 +00:00
aarne ab14205108 next-lib now compiles webalt ; removed subdir mathematical/ for simplicity 2008-10-06 15:27:14 +00:00
aarne e765b97fc4 simplified 1.5 by removing mathematical/ 2008-10-06 12:49:13 +00:00
aarne 394050d9f7 added a command for tree operations and started a module for defining them 2008-10-05 19:49:26 +00:00
aarne e88c7a28a7 adapted old AbsCompute for use with source GF terms 2008-10-05 18:01:42 +00:00
aarne e20969ab5d prevent pgf from being empty when there are no concrete syntaxes 2008-10-05 15:44:16 +00:00
aarne 21aa3cfa17 forced checking def definitions; accept pgf with no concretes 2008-10-05 15:21:08 +00:00
aarne 24207d40e9 extended AP with Ord and compar in 1.5 2008-10-03 20:42:09 +00:00
aarne 27de3c0e7b print full types instead of lock field heuristics in overload resolution if the heuristic is misleading 2008-10-03 18:18:21 +00:00
aarne 4c08128503 return error on undefined opers in instance and resource 2008-10-03 16:16:45 +00:00
bjorn 5bc73e10bc Merge mine and aarne's variants linearization changes. 2008-10-03 09:53:25 +00:00
bjorn 59cb392bda Don't build FV terms if there is exactly one variant. 2008-10-03 08:18:24 +00:00
aarne 8290be0eb2 made variants checking symmetric for Ints m == Ints n in PGF.Check 2008-10-03 08:02:54 +00:00
aarne 759ee4f926 fixed the over-expansion of record variants in PGF.Linearize 2008-10-03 07:57:40 +00:00
bjorn 07b3870699 Fixed variants semantics in PGF linearization to expand make variants of argument lists, to get things like Auto/Wagen gender right. 2008-10-03 07:53:37 +00:00
bjorn 1e8699d159 Added | syntax for variants. 2008-10-03 07:35:26 +00:00
bjorn b7fe4eacc9 Handle concatenations with variants in PGF.ShowLinearize, fixes http://trac.haskell.org/gf/ticket/23 2008-10-03 07:16:39 +00:00
bjorn fa69bd8ab3 Regenerate source GF parser from GF.cf. Now, when GF/Source/Makefile is used, no hand-hacking is needed. 2008-10-02 14:11:41 +00:00
bjorn 9e501521b4 Added src/GF/Source/Makefile for regenerating the GF source parser from GF.cf. 2008-10-02 13:42:24 +00:00
bjorn 86a30ef992 Converted GF/Source/*.hs to Unix line endings, to be able to see what happens when I regenerated the files. 2008-10-02 13:23:54 +00:00
bjorn 8fb068df6a Fail more gracefully on unknown file name extensions. 2008-10-02 12:32:03 +00:00
aarne 6c6ff81109 small fixes in tutorial ; added txt source of the same 2008-10-01 16:07:09 +00:00
aarne 429092ac6a added mode 'gf --run' for running silently a script ; made quizzes handle character encoding correctly ; for this end, collected coding functions in GF.Text.Coding 2008-10-01 16:01:51 +00:00
aarne 307042a6a1 refreshed the tutorial 2008-10-01 13:13:10 +00:00
aarne 8fbdf3e57c Italian "quello" corrected 2008-10-01 12:11:29 +00:00
aarne c2d41e70be download page for beta2 ; link to JEM demo 2008-10-01 09:20:36 +00:00
aarne 08110bf103 more work with Parametric 2008-09-30 20:21:33 +00:00
aarne e9d67dbd2d started experiment on parametrizing more of RG definition 2008-09-30 14:16:39 +00:00
bjorn 203430ae6d Use parantheses for precedence in pgf-pretty lincats. 2008-09-30 12:02:58 +00:00
bjorn 446aa1b5db Added --cfg option for specifying which CFG transformations to use. Added startcatonly CFG trasnformation. Removed output formats that are now easily done with --cfg: "regular", "nolr". 2008-09-30 11:52:11 +00:00
bjorn 794fbd4a41 Fixed CFG start cats for categories with more than one constituent. 2008-09-30 10:53:36 +00:00
bjorn 3ca6c605b0 Use filtering in regular printer. 2008-09-30 09:39:09 +00:00
bjorn 41c95825f3 SRG conversion: print CFG when a unknown cat is found in renameCats. Do filtering in ebnf printer. 2008-09-30 09:32:16 +00:00
bjorn 8716e48c21 pgf-pretty: remove single field record lincat hack. handle f "" (S []) correctly. 2008-09-30 09:31:31 +00:00
bjorn 664bebf5ce Some pgf-pretty fixes, including note by Peter about W "apa" (S []). 2008-09-30 07:24:01 +00:00
peb b5ae83f899 Changes to the prolog output format 2008-09-25 07:32:39 +00:00
bjorn ba321be3ff Added pgf-pretty output-format 2008-09-26 15:21:32 +00:00
bjorn 0f4e8468be Added isLiteralCat function to PGF.Macros. 2008-09-26 15:04:13 +00:00
bjorn 804232aebc Added 'complete' function to the PGF API. This is a higher-level API to the completion functionality. 2008-09-26 13:17:21 +00:00
bjorn b0dde31f00 Added semantic interpretation tag printing to the *bnf grammar printers. 2008-09-26 12:57:20 +00:00
bjorn 2f3b7d1c55 Use ebnf format for "regular" output-format. 2008-09-26 10:20:18 +00:00
bjorn 7a81b559fe Changed nolr printer to use EBNF format. 2008-09-26 10:03:42 +00:00
bjorn a372357adc ebnf printer: print external cats first. 2008-09-26 09:58:57 +00:00
bjorn 86e94e3b1b bnf and ebnf printer: align ::= symbols. 2008-09-26 09:54:09 +00:00
bjorn a4ded76aa3 SRG category renaming: don't count the external cats when calculating indices. 2008-09-26 09:44:02 +00:00
bjorn d1a2cdb948 Changed SRG category renaming to use GF cat + index among CFG cats for that GF cat, instead of the old Concrete syntax name + index among all CFG cats. 2008-09-26 09:39:48 +00:00
bjorn 65f302bb84 Oops, I accidentally disabled all CFG simplification and LR-removal with the ENBF printing patch. 2008-09-26 09:39:04 +00:00
bjorn 1bcffdce30 Change category naming in CFG generation: the number now starts from 1 for each GF category, instead of being the FCFG category number. 2008-09-26 09:28:03 +00:00
bjorn 92c76a6265 Added --output-format=ebnf. 2008-09-26 09:20:39 +00:00
bjorn 8fa99886b3 In CFG generation: don't add linrow number if the lincat has only a single constituent. 2008-09-26 09:06:52 +00:00
bjorn b114cfda77 Added --output-format=nolr. Minor makeRegular refactoring. 2008-09-25 13:41:07 +00:00
bjorn 13191ac155 Added --output-format=regular. 2008-09-25 11:49:00 +00:00
bjorn 7a5e2a15bd Fixe copy-paste error: srgs_abnf_nonrec produced xml, fixed now. 2008-09-25 11:36:04 +00:00
bjorn cc7173a034 Somewhat nicer FCFG output format. 2008-09-25 08:44:23 +00:00
bjorn cdc647e788 Added an FCFG output format (--output-format=fcfg). This now lives in GF.Speech.PGFToCFG, but should probably move somewhere else. 2008-09-25 08:41:49 +00:00
aarne db15fe74be ParadigmsCat in next-lib updated 2008-09-24 08:52:49 +00:00
bjorn 34c5617ef6 Got SRGS ABNF generation to compile. 2008-09-23 12:56:25 +00:00
bjorn 75df5cf443 Added srgs_abnf_nonrec grammar printer to GF.Infra.Options. 2008-09-23 12:44:17 +00:00
bjorn e5779fc594 Re-added old PrSRGS_ABNF (does not compile yet). 2008-09-23 12:41:44 +00:00
aarne ffb5b00748 started Telugu in next-lib 2008-09-23 09:52:10 +00:00
aarne 47abd5327d use hex in transliteration table 2008-09-23 09:04:03 +00:00
aarne cbde244ac1 Telugu transliteration 2008-09-23 08:49:58 +00:00
aarne 9470a689c9 updated HOWTO to the new place of next resource 2008-09-22 12:28:07 +00:00
aarne 766852a64c adapted German to 1.5 2008-09-22 12:24:28 +00:00
aarne 69b96e87ee updated next-resource/src/catalan/Lexicon and Paradigms to Jordi's patches in 1.4 2008-09-22 11:55:27 +00:00
aarne 98665df78b moved lib/next-resource to next-lib/src, to enable linking with next-lib as value of GF_LIB_PATH 2008-09-22 11:49:15 +00:00
bjorn 4862018f14 GWT: somewhat nicer iterable() hack. 2008-09-22 10:11:15 +00:00
bjorn 0031276944 Added iterable() method for nicer iteration through GF method results. (GWT) 2008-09-21 20:37:27 +00:00
aarne e6f5033bc5 adapted Hindi to next-resource 2008-09-20 14:40:18 +00:00
aarne 7215dc71ff new resource-howto 2008-09-20 08:51:39 +00:00
bjorn e9f915ba9c Fixed gf-morpho-server.cabal name typo. Added basic README for morpho server. 2008-09-18 20:12:01 +00:00
bjorn 0fdf2ceea2 GWT: disable translation until the language info has been loaded from the server, 2008-09-17 13:25:08 +00:00
bjorn 6fab2a64f4 GWT: update to use new /grammar resource. Select from language based on Accept-Language header. 2008-09-17 13:04:10 +00:00
bjorn c99ce1fd0d fastcgi: rename /info to /grammar 2008-09-17 12:42:05 +00:00
bjorn db6ff30694 fastcgi: replace /categories, /languages and /mylanguage with /info. 2008-09-17 12:37:34 +00:00
bjorn 417ada31f5 fastcgi server: add /mylanguage resource, which selects the language that best matches the Accept-language header. 2008-09-17 12:22:17 +00:00
bjorn 50e600763f GWT: comment out flag icon stuff in CSS. 2008-09-17 11:40:35 +00:00
bjorn b06039634e Towards looking at the locale for default language. Added flag icons. 2008-09-17 10:12:36 +00:00
krasimir a663eda269 build parsers on demand if they aren't in the PGF file 2008-09-16 15:35:15 +00:00
krasimir 647f7661c2 fix the segmentation fault with Swedish 2008-09-16 15:11:06 +00:00
bjorn 5c2eae8abd Better error handling in GWT UI. 2008-09-16 13:53:07 +00:00
aarne c09783e604 restored the summer school and Resource-HOWTO documents 2008-09-16 08:01:47 +00:00
aarne e112fd188f JEM tutorial examples - some files missing still 2008-09-15 15:28:47 +00:00
bjorn 117b38e47f GWT client: set Accept header to get plain text error messages, 2008-09-15 15:43:37 +00:00
bjorn c72df9914e Added loading popup to gwt ui 2008-09-15 15:27:33 +00:00
bjorn 6fce3054e3 fastcgi server: decode UTF-8 inputs produced by the gwt client 2008-09-15 15:20:15 +00:00
bjorn b6635b200f gwt installball should not contain gf.fcgi 2008-09-15 14:40:05 +00:00
bjorn ce50458877 GWT: only allow a single compeltion request at a time. 2008-09-15 14:39:25 +00:00
bjorn 6edca9983a Use abs path for gf.fcgi in gwt client. 2008-09-15 14:16:56 +00:00
bjorn eb15d88404 Fixes to the GWT UI to be able to run it on other machines (still some hardcoded paths in the compilation). 2008-09-15 13:49:55 +00:00
bjorn aecf9597eb Added partial word completion to fastcgi server and update GWT UI accordingly. 2008-09-15 13:33:40 +00:00
bjorn 3a7888e660 A somewhat better solution to the words/UTF-8 problem: do encoding last, but only on what appears to be string literals. 2008-09-15 13:16:04 +00:00
bjorn dbb0f3f3e4 Temporary fix for the grave accent a encoding problem: change compatPrint to id.
The problem is that lower case a with a grave accent is coded in UTF-8 as \195\160. 
Unicode character \160 is non-breaking space, so Haskell's words function
will break a UTF-8 encoded string at this character.
String literals in the .gfo file are UTF-8 encoded in generateModuleCode,
just before the call to prGrammar (which uses compactPrint, which used words).
The real solution would be to pretty-print the grammar to Unicode, and then
encode as UTF-8. The problem with that is Latin-1 identifers. They are now
kept in Latin-1 in the .gfo file, since Alex can't handle Unicode.
The real solution to that would be to fix Alex to handle Unicode, but 
that is non-trivial. GHC interally uses a very hacky .x file to be
able to lex UTF-8 source files. 

An alternative solution that doesn't address the weirdness of using two different
encodings in the same .gfo as we do now, is to incorporate compactPrint
into the grammar printer, to avoid having to do any postprocessing.
2008-09-15 12:38:37 +00:00
aarne a6345877f8 completing resource api with things needed in WebALT 2008-09-12 22:31:13 +00:00
bjorn becdc147d2 Somewhat nicer gwt client ui style. 2008-09-12 21:07:14 +00:00
bjorn 426b4e8a5b GWT client now has the same func 2008-09-12 11:47:41 +00:00
bjorn e290d744e4 server: changes lang field to name 2008-09-12 11:32:30 +00:00
bjorn 24d82d5a48 Update gf-client.html with new gf.fcgi output types. 2008-09-12 11:14:02 +00:00
bjorn a7bf88fb32 Change JSON structures returned by the translation server to always be arrays of objects. 2008-09-12 11:05:38 +00:00
bjorn 1a320db136 translation server: added limit argument to /complete. 2008-09-12 10:13:16 +00:00
bjorn 45331ffa9c Started working on Google Web Toolkit version of translation server ui. 2008-09-12 10:03:12 +00:00
bjorn 92ffc5072a Fix binary-dist to include gfc and exclude compiled grammars, since the latter didn't work anyway. NOTE: you must re-run autoconf (actually the previous patch is the one that requires this). 2008-09-11 08:35:17 +00:00
bjorn 8a0e9077ce Remove old editor shell script and configure stuff. 2008-09-11 08:30:29 +00:00
bjorn a66913b00a Change version number in configure.ac to 3.0-beta2 too. 2008-09-10 12:48:34 +00:00
bjorn 72b11abe72 Added temporary completions button to AJAX translation UI. 2008-09-10 11:57:00 +00:00
bjorn d6e20ca0bc Note about deleting /tmp/fcgi_ipc 2008-09-10 11:55:10 +00:00
bjorn 7208ead223 missing sudo in erver README 2008-09-10 11:52:45 +00:00
krasimir 1e2f027d18 bump version number to beta2 2008-09-10 09:59:50 +00:00
krasimir c4c1f6d076 print the search path when we can't find a module 2008-09-10 08:55:16 +00:00
bjorn 5210d1745c mod_fastcgi installation instructions in src/server/README 2008-09-10 08:44:18 +00:00
bjorn 6e6efb14f7 Note that Apache must be restarted after config changes. 2008-09-10 08:19:50 +00:00
bjorn b9066feacc Fix type error in fastcgi server.
I forgot to fix this after I copied the modified FastCGIUtils from morpho-server.
2008-09-10 07:09:44 +00:00
aarne e7106b6181 better error msg for missing record labels 2008-09-09 19:43:33 +00:00
aarne 1bd799d006 completed IdiomCat to compile api and math 2008-09-09 16:11:05 +00:00
aarne 8cde25475b missing case in param lookup table in GrammartoGFCC 2008-09-09 15:33:56 +00:00
aarne bc6b91799a debug information in GrammarToGFCC 2008-09-09 14:04:37 +00:00
bjorn e566530c4a More info in src/server/README. 2008-09-09 12:38:45 +00:00
bjorn 6eae3fcf68 Disable translation on every keystroke, and completion, in the gf FastCGI AJAX client, since it can be too slow. 2008-09-09 12:19:28 +00:00
aarne 033da07c39 show "error" in run interruptibly mode in GFI 2008-09-09 06:58:38 +00:00
aarne 63a706b109 enable matching of ++ strings with regular patterns 2008-09-09 06:36:36 +00:00
aarne bdcfcda786 capitals in lextext and unlextext; notice that a sentence starting with a proper name now gets lexed with a small letter if lextext is used 2008-09-05 09:21:48 +00:00
aarne b3803424ff convert all values in shell pipes to strings 2008-09-04 09:03:02 +00:00
bjorn 207ddc4cb6 Added --haskell-prefix option for changing the constructor prefix in generated Haskell modules. 2008-09-03 15:42:11 +00:00
peb 74826158cb new PGF output format: prolog syntax
* output a PGF grammar in prolog readable syntax
* variables in abstract syntax (hypotheses and lambda-abstractions) 
  are translated to unique logical variables
* PGF terms in concrete syntax are translated to more prolog-like terms
2008-09-03 09:04:09 +00:00
aarne cf00c0c2a9 treatment of Int: not always PredefAbs but can be PredefCnc 2008-09-03 09:33:37 +00:00
bjorn d1ebdf8154 gf-server: the readData function given to getData should be m a, not IO a. 2008-08-24 20:44:30 +00:00
bjorn b3ab690ddd First (hacky) working version of FastCGI JSON morphology server. 2008-08-24 19:31:12 +00:00
bjorn a8f0546574 Move CGIError stuff to FastCGIUtils. 2008-08-24 19:12:44 +00:00
bjorn 5c0487200f URL decode text input in fastcgi server, including %uXXXX sequences. 2008-08-24 17:39:24 +00:00
bjorn 23a6375ced Completed SISR 1.0 support (untested). 2008-08-24 14:53:21 +00:00
bjorn a415c83319 Export modifyFlags and modifyModuleFlags from GF.Infra.Options. 2008-08-24 14:52:49 +00:00
bjorn cc2442bec4 Re-enable Catalan in the server demo grammar. 2008-08-24 10:19:44 +00:00
aarne ec9a04467d updated gf-bibliography 2008-08-23 16:34:42 +00:00
aarne ed06f631e9 removed repeated CPU time printing in GFI 2008-08-23 15:35:39 +00:00
aarne 3d22963267 infForm added to Catalan ; debugging alternative in PGF generation 2008-08-23 14:26:34 +00:00
bjorn 90d41b4f4e Added target for building translation server grammar for LangX. 2008-08-23 10:33:16 +00:00
bjorn 8cf0d654ba Added README with build instructions for the fastcgi server. 2008-08-22 13:16:31 +00:00
bjorn c345a087bb Don't include DemoCat in server example grammar, since some parts are missing. 2008-08-22 13:15:51 +00:00
bjorn 52af19bd64 UTF8 encode all generated XML. 2008-08-22 09:47:42 +00:00
bjorn b6785df0d2 In GF.Compile.Export, output file name extensions should not have double dots. 2008-08-22 09:27:44 +00:00
bjorn a76a118ec9 Renamed the gf3 executable to gf in GF.cabal 2008-08-22 08:45:40 +00:00
bjorn cb98536de1 Added srgs_xml_nonrec output format. 2008-08-22 08:43:58 +00:00
bjorn 3e5414ba4a Removed Overload modules from GF.cabal. 2008-08-22 07:18:34 +00:00
aarne 02a80d68aa peace grammars patched to work with the new API 2008-08-20 07:14:20 +00:00
aarne 74373394a6 alternative prtType to help debugging overload resolution errors 2008-08-20 06:44:58 +00:00
bjorn 7d83d90e51 Use overloaded API in peace keeping grammar. Still not compiling, "no instance of mkS for Cl among ... Cl ... ?" 2008-08-19 14:35:45 +00:00
bjorn 9242bdfcc8 tweak ajax client html 2008-08-19 12:40:17 +00:00
bjorn e1584715cc First version of ajax / fastcgi interface with completion. 2008-08-19 12:29:31 +00:00
bjorn bd977e7587 Remove src/server/grammar.pgf from the repo, use 'make food' if you want it. 2008-08-19 08:14:22 +00:00
bjorn d33fe739a7 Added parse and linearize functions to the fastcgi server. Some refactoring. 2008-08-19 08:13:51 +00:00
bjorn bc3281d5e7 Fix order in the cncnames list in unionPGF. It was made in reverse. 2008-08-19 07:40:45 +00:00
bjorn 55603b78f6 Ajax: use onsubmit instead of onclick, to catch Firefox auto-submit-on-enter. 2008-08-18 20:56:30 +00:00
bjorn c102ab157a Ajax translator: copied iPhone viewport stuff from Aarne's JS translator, untested. 2008-08-18 20:28:22 +00:00
bjorn 972d7e4058 AJAX translator: update translation when the from or to language is changed. 2008-08-18 20:26:52 +00:00
bjorn 401d1cd7d1 Some peacekeeping clean-up, still far from compiling. 2008-08-18 20:22:25 +00:00
bjorn 256ab54807 Include all languages in the demo pgf for the fastcgi server. 2008-08-18 20:21:02 +00:00
bjorn c6c9028022 Sort languages in fastcgi /languages output. 2008-08-18 20:20:32 +00:00
bjorn dc1db399f6 When producing PGF, do UTF-8 encoding of the whole file after pretty printing instead of walking through the PGF structure before pretty-printing.
The old code was brittle, and only converted strings in the lins and opers, not in printnames and parsers. The old code also double encoded some grammars when using gfc to combine PGF files.
2008-08-18 12:34:56 +00:00
bjorn 255b5488f4 Updated AJAX translator to make use of canParse and the fixed parseAllLangs. 2008-08-18 09:38:21 +00:00
bjorn 7007a875e3 Added canParse function to the PGF API. Make parseAllLang and parseAll skip languages which don't have parsers, instead of always throwing exceptions when some language is missing a parser. 2008-08-18 09:26:24 +00:00
bjorn 3a21fcd4ba Added languageCode function to the PGF API. 2008-08-18 09:25:43 +00:00
bjorn d22474ea8d Updated resource grammar fle list in GF.cabal 2008-08-18 08:47:39 +00:00
bjorn f28dc5ac16 gfc can now combine PGF files. 2008-08-15 21:10:54 +00:00
bjorn 137133b742 Added peacekeeping example back in. Doesn't compile yet. 2008-08-15 20:21:12 +00:00
aarne 66c927937a bronzeage grammar restored except for three ones with issues ; arabic transliteration added 2008-08-16 18:55:28 +00:00
aarne ddbeff3028 improved error message in pgf compilation to help debugging 2008-08-16 12:27:59 +00:00
bjorn 22c434a39b Added Makefile for fastcgi server. 2008-08-15 20:33:04 +00:00
bjorn 5bdfedcedf Qualify PGF import in fastcgi server, to avoid hiding Language, which breaks with older cgi versions. 2008-08-15 20:31:23 +00:00
aarne 38cdd44001 numerals demo on the web 2008-08-15 15:28:09 +00:00
aarne ba78322409 examples of morphological synthesis/analysis as top-level grammars 2008-08-15 12:41:04 +00:00
bjorn 0475ef3414 Added a basic stylesheet for the js and ajax translators. 2008-08-15 11:46:36 +00:00
bjorn 7a2268d9d5 JS translator: fixed typo, before a ul was produced instead of an li 2008-08-15 11:28:41 +00:00
bjorn 08fae303df First working version of the AJAX translation client. 2008-08-15 11:14:13 +00:00
aarne 0ce04f1a6e forgiving names in concrete that are not in abstract, with a warning (no warning guaranteed if this is because restricted inheritance) 2008-08-14 20:25:52 +00:00
bjorn bf7ec18141 Started working on an AJAX client for the fastcgi server. 2008-08-14 15:56:52 +00:00
bjorn 094150fde1 Added /cats and /langs to fastcgi server. 2008-08-14 15:56:38 +00:00
bjorn b2e7b6f89d Better error handlig in the GF FastCGi server. 2008-08-14 12:08:38 +00:00
bjorn a7aa8fb981 Added first version of the GF FastCGI server. 2008-08-14 09:06:26 +00:00
bjorn 77270a010a Remove the grammars directory. It was full of old grammars that don't compile these days. See the old source distributions if you want them. 2008-08-14 07:58:04 +00:00
bjorn 0bbb906141 Remove src/module-structure.txt, it's about the restructuring in GF 2.2. 2008-08-14 07:14:22 +00:00
bjorn 6619326df0 Include concrete syntax flags in generated JS. 2008-08-13 12:08:11 +00:00
bringert ff39552e41 gfc command now looks for gf executable in the same directory 2008-08-12 14:11:17 +00:00
aarne a9893f4572 ported numerals to GF3 and encoded in UTF8; some problematic ones in todo 2008-08-04 18:26:48 +00:00
aarne a401820e37 corrected links in index 2008-08-04 18:17:41 +00:00
krasimir 776ba32373 change the path from resource-1.4 to resource in cabal 2008-06-28 08:41:48 +00:00
aarne e625f93153 new tramdemo link 2008-06-27 18:31:38 +00:00
bjorn d6f2d6d170 Don't build lib twice in make binary-dist. 2008-06-27 18:16:46 +00:00
bjorn c10ce9ccf0 Build gfdoc in binary-dist, since the tarball includes it. 2008-06-27 18:15:27 +00:00
bjorn 5f6691dac3 Set charset to utf-8 when printing html code. This is needed to get Safari to display resdemo.html correctly. 2008-06-27 18:14:19 +00:00
bjorn a6e7b8d2a3 Drop java-related stuff from Makefile.binary. 2008-06-27 18:02:54 +00:00
bjorn 0dde13ed6f Changed version number in configure.ac. 2008-06-27 18:02:05 +00:00
aarne f6621af538 final adjustments in doc 2008-06-27 17:54:04 +00:00
aarne 65b6780384 finishing doc 2008-06-27 17:50:46 +00:00
aarne 00e2740039 updated readme and install 2008-06-27 17:34:17 +00:00
aarne f6b10c5214 rm obsolete download file 2008-06-27 17:11:54 +00:00
aarne 75abc89350 tiger binary 2008-06-27 17:10:44 +00:00
aarne 9aa2eb23d1 file names in download index 2008-06-27 16:54:21 +00:00
aarne f8d4738a43 added api/Combinators for Eng 2008-06-27 16:48:28 +00:00
aarne 7d7d951c05 documentation almost up to date 2008-06-27 14:43:05 +00:00
aarne 21c457b711 documentation written; some weird constructors excluded from demo 2008-06-27 14:14:01 +00:00
aarne 73e401cee2 updated synopsis, removed GF/devel/ 2008-06-27 11:59:03 +00:00
aarne 64d2a981a9 more rm in doc 2008-06-27 11:32:49 +00:00
aarne 032531c6a6 rm old tutorials 2008-06-27 11:27:40 +00:00
aarne e4e64c13a6 more rm in doc 2008-06-27 11:27:00 +00:00
aarne 7cdbe8e7a3 more obsolete doc rm'd 2008-06-27 11:22:51 +00:00
aarne e7d1aa58f7 removed obsolete items from doc 2008-06-27 11:21:49 +00:00
krasimir 22423c640c change the version number to beta in cabal 2008-06-27 10:46:21 +00:00
krasimir 60c2d054ee the shell now supports cp1251 coding with se command. works with the word completion as well 2008-06-27 10:33:46 +00:00
aarne 5c713d8f02 took away old-examples 2008-06-27 09:18:50 +00:00
aarne f7b2a83059 version-related changes in Makefile and help 2008-06-27 09:09:29 +00:00
aarne e8dc8c3ef5 interrupt in proper place in GFI 2008-06-27 06:50:50 +00:00
aarne 757ea827e6 debugging arabic 2008-06-26 21:40:21 +00:00
aarne a1da4b7c48 removed Transfer interpreter 2008-06-26 21:05:50 +00:00
aarne fb1d9b7d2c removed transfer from gf3 2008-06-26 21:05:01 +00:00
aarne 33eb6d899f moved interruption to GFI level to capture all commands 2008-06-26 21:01:51 +00:00
aarne ba63991007 fixed decodeUTF8 for pgf; removed old resources from darcs 2008-06-26 19:41:25 +00:00
aarne accab4e20b oops, forgot add Coding 2008-06-26 18:48:28 +00:00
aarne ed708ffda6 uniform encoding: gfo and pgf in UTF8, internal in unicode 2008-06-26 16:35:45 +00:00
aarne f7622321de utf8 adjustments 2008-06-26 06:52:01 +00:00
bjorn 313ef2908d Changed src-3.0 to src in GF.cabal 2008-06-25 18:29:21 +00:00
bjorn e459cc7771 Include coding flag in .gfo files.
Because the PGF file gets all the flags from the GFO file automatically, we get the coding flag in the PGF file too. This is undesirable, since PGF is supposed to always by in UTF-8.
2008-06-25 18:14:45 +00:00
aarne 5971c110e9 added a slot for Urdu in Text.Transliterations 2008-06-25 17:42:19 +00:00
aarne 67b80bcd40 removed JavaGUIs from src 2008-06-25 17:05:19 +00:00
bjorn 53a8693f3a quote stirng in getDataDir as generated by make today 2008-06-25 17:20:16 +00:00
aarne e9e80fc389 changed names of resource-1.3; added a note on homepage on release 2008-06-25 16:54:35 +00:00
aarne b96b36f43d removed src for 2.9 2008-06-25 16:43:48 +00:00
aarne fe367412e0 Updated version numbers for 2.9f (final 2.9). 2008-06-25 16:34:50 +00:00
aarne 9557106010 added default decodings to Make, to enable multilingual utf8 generation 2008-06-24 21:52:07 +00:00
aarne 0b22e97524 trying to get the coding flag to work in grammars 2008-06-24 14:31:21 +00:00
aarne 239f310eb5 cp1251 coding ; trying to recognize the coding flag in grammar 2008-06-24 13:58:04 +00:00
aarne 223480bb77 langs option to Make.hs ; utf8 exception in linearization from the coding flag in grammar 2008-06-24 08:35:02 +00:00
krasimir 7e6a3cf32e remove the comments about the meta variables. They are not relevant anymore 2008-06-23 14:32:55 +00:00
krasimir 942bd31273 typo in the PGF documentation 2008-06-23 14:23:14 +00:00
krasimir cec5143092 added type signature for expr2tree to make it visible for haddock 2008-06-23 14:12:40 +00:00
aarne 65b2670ce7 html string option 2008-06-23 09:19:21 +00:00
krasimir f62c70bdd5 the Makefile should generate Paths_gf.hs with GF_DATA_DIR instead of GF_LIB_DIR 2008-06-23 08:53:09 +00:00
krasimir 8b47619361 fix Haskell embedded grammars 2008-06-23 08:48:17 +00:00
bjorn 9d6e3c7b95 SRG generation: start categories etc should be checked after category renaming. 2008-06-22 21:01:38 +00:00
bjorn 377d5664c7 Rename SRG categories after preprocessing, since pp may introduce illegal category names. 2008-06-22 20:28:39 +00:00
aarne 0f205f67d4 threaded string operations to strings if given as options to linearize 2008-06-22 19:02:09 +00:00
aarne e9b21c92a0 Finnish negation particle stored in VP for vowel harmony 2008-06-22 18:33:15 +00:00
aarne 8fb6ed6692 facility to compile many modules (needed for old gf and cf) 2008-06-22 16:04:01 +00:00
aarne 0a43025bbe added -nofun and -nocat options to vt 2008-06-22 14:15:06 +00:00
aarne 0f0e65f706 tree visualization command 2008-06-22 13:07:09 +00:00
aarne 25f486858f prefix and variants restored in linearization 2008-06-22 09:01:32 +00:00
bjorn 80108924f9 Added SLF, RegExp and Dot printing to exportPGF. 2008-06-22 12:01:29 +00:00
bjorn 0643efb659 Get GF.Speech.PrRegExp to compile. 2008-06-22 11:58:31 +00:00
bjorn 0c46e23269 Added old GF.Speech.PrRegExp back in 2008-06-22 11:56:12 +00:00
bjorn 7a70b13866 Get GF.Speech.SLF to compile in GF 3. 2008-06-22 11:51:53 +00:00
bjorn 08df93d892 Added old GF.Speech.PrSLF back in 2008-06-22 11:31:06 +00:00
aarne ff5ddf447f added some words to complete resource test 2008-06-20 16:08:22 +00:00
aarne 298c14046b extended api with some IQuant rules 2008-06-20 11:54:37 +00:00
aarne e4119186fa tutorial semantics example works except one rul 2008-06-20 10:38:03 +00:00
aarne c3bb8267e6 restored mathematical in 1.4; forgave some lock fields in overload resolution 2008-06-20 09:21:52 +00:00
aarne 1d21167ee9 some more words in index-3 2008-06-19 16:25:43 +00:00
krasimir 79bd6c2096 yBGLexicon is not part of the distribution -> remove from cabal 2008-06-19 15:05:59 +00:00
krasimir 883e96b0c5 move the prelude sources to the prelude directory and add the resource library to cabal 2008-06-19 14:16:05 +00:00
krasimir 4dd62417dc split the Exp type to Tree and Expr 2008-06-19 12:48:29 +00:00
aarne 944eea8de9 system command pipes (sp) 2008-06-18 16:26:12 +00:00
aarne 8e5b78f886 term macro help 2008-06-18 09:14:31 +00:00
aarne 0f21f8f343 macros for commands (dc) and terms (dt) 2008-06-18 07:22:30 +00:00
aarne 23b8136af2 started examples-3.0 with examples that are tested to work 2008-06-17 13:16:15 +00:00
aarne 7c097669d2 fixed command abbreviations in GFI 2008-06-17 12:34:02 +00:00
bjorn 327d0a6a4a Remove "srgs" output format name, use "srgs_xml" instead. 2008-06-17 12:30:19 +00:00
bjorn d13b32ea48 Refactor grammar export code. 2008-06-17 12:29:11 +00:00
bjorn 2cf7a7d07e Got GSL generation working. 2008-06-17 12:06:27 +00:00
bjorn aa32e53ad1 Added old GF.Specch.PrGSL back in (still unchanged). 2008-06-17 11:58:51 +00:00
aarne 582ea07fe1 moved commands pf and af to options of pg and wf, respectively 2008-06-16 20:36:10 +00:00
bjorn a47fcbcbf2 Handled renaming external SRG categories centrally. 2008-06-16 16:44:33 +00:00
bjorn 5c7c010f80 Added --sisr option for including SISR tags in generated SRGs. 2008-06-16 16:12:17 +00:00
bjorn 10d5895369 Fix handling of external categories in SRG generation. 2008-06-16 15:49:17 +00:00
aarne ea31c1e63b new languages in resource Make; moved GF-specific stuff from Quiz 2008-06-16 11:15:38 +00:00
aarne 543ef3531a documentation of commands; restriction options to generation 2008-06-15 21:36:41 +00:00
aarne ee4db2ee7d Thai in 1.4 2008-06-15 19:40:53 +00:00
aarne 72b4ba9639 converted Hindi to the revised encoding 2008-06-15 15:55:49 +00:00
aarne c2bbdc8a16 commands for displaying transliteration tables 2008-06-15 15:24:11 +00:00
aarne 8c3111e36a UTF3 coding as ps command options, also -bind 2008-06-15 13:25:22 +00:00
krasimir 486d21cd7a fix the command line parser 2008-06-15 09:21:59 +00:00
aarne 2c8540b7c2 started new forthcoming web page 2008-06-15 08:45:11 +00:00
aarne 7a065580d2 some more command options and documentation 2008-06-14 15:48:52 +00:00
aarne 246f307b22 added syntax and examples fields to command help 2008-06-14 10:02:40 +00:00
aarne c1c8257e82 added translation and mophology quizzes 2008-06-14 08:51:13 +00:00
aarne 4fd5183863 arabic in 1.4 - something makes compilation get stuck 2008-06-13 20:40:50 +00:00
aarne 4b1faf4ae5 make with test trees 2008-06-13 12:49:54 +00:00
aarne 3b15ade685 file name as option in commands 2008-06-12 21:04:16 +00:00
bjorn 4369e67998 Get JSGF generation to compile. Still untested. 2008-06-12 18:39:02 +00:00
bjorn b76c8c195c Add GF.Speech.SRG.isExternalCat 2008-06-12 18:35:25 +00:00
bjorn 43459c75c8 Rename GF.Speech.SRGS to GF.Speech.SRGS_XML 2008-06-12 18:24:26 +00:00
bjorn 1a72dbf6f2 Added unmodified GF.Speech.PrJSGF back in. 2008-06-12 18:19:45 +00:00
bjorn 26afcb4dab Exclude literal categories from generated VoiceXML. 2008-06-12 18:12:43 +00:00
aarne 62b04f399c added command ps -stringop, with stringop being (un)lexer defined in Lexing 2008-06-12 14:36:03 +00:00
krasimir 96230f84f5 fix the tree extractor in the incremental parser to check for cyclic charts and coercion rules. 2008-06-12 13:34:47 +00:00
krasimir 79cbcdad2d add generation of erasing PMCFG grammars 2008-06-12 13:11:38 +00:00
aarne 0a6085a7e2 treating Int as PredefAbs.Int in lookup 2008-06-12 13:11:18 +00:00
krasimir f28e32e688 use import System.Cmd instead of import System. It is in the process package and we already depend on it. 2008-06-11 14:00:04 +00:00
aarne 65cec04ac2 restored the read_file command ; filename must be in quotes (to be fixed?) 2008-06-11 13:18:09 +00:00
aarne a61954fd11 system command (!) in gf3 shell 2008-06-11 12:20:42 +00:00
aarne ad16eb2d78 allow spaces between command options; option -treebank in linearize 2008-06-11 09:20:26 +00:00
aarne 9628eb6314 preliminary version of morpho analysis 2008-06-10 16:00:42 +00:00
aarne 9c75bddcfc release document on gf3 2008-06-10 11:34:16 +00:00
aarne 49dcc123b5 added some functions to overloaded API 2008-06-09 15:54:03 +00:00
krasimir aa5cff205d force the interpreter to flush the output. usefull for the testsuite 2008-06-08 10:35:19 +00:00
aarne ec200fdf0b sorting command list in Commands 2008-06-08 19:27:20 +00:00
krasimir 4268d6219b longname, synopsis and explanation for all commands 2008-06-05 20:48:24 +00:00
kr.angelov c4d298a347 file name completion for command i 2008-06-05 12:12:44 +00:00
kr.angelov abea46022e fix the error checking in the word completion 2008-06-05 12:00:51 +00:00
kr.angelov b8854ea2f4 describe cc,e,ph,q and i in Commands also. Allows word completion 2008-06-05 11:50:24 +00:00
kr.angelov a097dc5e85 remove the wc command 2008-06-05 11:34:29 +00:00
kr.angelov 11f24097b4 complete word completion in the shell. works for commands, flags, options, abstract syntax identifiers and NL strings 2008-06-05 11:29:08 +00:00
kr.angelov f5fd3aa603 in initState report the error strictly. This allows to catch it easily 2008-06-05 11:26:48 +00:00
kr.angelov 1068fbc7cf lookParser already returns Nothing if there is no parser. Don't generate error 2008-06-05 11:18:59 +00:00
kr.angelov 4803fb8052 use parser combinators to parse the shell commands. simplified CommandLine type 2008-06-05 07:33:42 +00:00
kr.angelov 0b1a157222 back to breadth first search. Fixes the the "I am here" bug 2008-06-04 21:49:39 +00:00
krasimir 6743f5bbcd add mtl dependency in cabal. It is used in the speech grammar generation 2008-06-04 09:27:39 +00:00
kr.angelov b5d14ff3df do the cyrilic trick for Windows in gf3 also 2008-06-04 07:52:12 +00:00
kr.angelov a3f4910bdb cleanup, document and export the completion API 2008-06-04 07:49:58 +00:00
bjorn 27dda59db4 Get VoiceXML generation working. 2008-06-03 20:05:52 +00:00
bjorn 957b4252dd Added lookPrintName. 2008-06-03 19:56:51 +00:00
bjorn d57a96a186 Added (still unchanged) GF.Speech.VoiceXML. 2008-06-03 19:34:08 +00:00
bjorn 8f6fc90228 Don't suffix start category name with _cat in SRGS XML printing. 2008-06-03 19:33:13 +00:00
bjorn 7237438a94 Added "bnf" output format for debugging. 2008-06-03 19:32:42 +00:00
bjorn 2ee8ab8a71 Added options to support SRG printing. 2008-06-03 19:20:18 +00:00
bjorn 61ccd948d3 Added speech recognition grammar generation code. There is no way yet to invoke the SRG printer, and only SRGS is included. 2008-06-03 18:53:53 +00:00
bjorn 762a9d16f0 Add GF.Data.XML from old source. This is required by the SRGS printer. 2008-06-03 18:53:30 +00:00
kr.angelov b5ca08c9c2 Use readline for word completion 2008-06-03 17:06:45 +00:00
kr.angelov ea145ddf52 add setCompletionFunction in GF.System.Readline 2008-06-03 16:54:59 +00:00
krasimir bd1fd95696 fix conflicts 2008-06-03 16:27:21 +00:00
krasimir 952e51d8f7 Redesign and opimize the incremental parser 2008-06-03 16:01:48 +00:00
krasimir ac8fa4fd5f Hackish version of the incremental parser 2008-06-03 06:59:44 +00:00
aarne c161e0e4df possible to inherit an overload group without excluding+opening 2008-06-03 11:59:00 +00:00
aarne 130a75a43a eliminated copying of inherited overload branches 2008-06-03 10:06:29 +00:00
aarne 8d98fec81e overload extension: syntax overload OldModule* {def*} 2008-06-03 09:21:24 +00:00
aarne 9dbf9c5660 added an argument place to ResOverload for extended overloads 2008-06-01 11:02:02 +00:00
bjorn 2771367118 Fixed generated Haskell modules to use only the PGF module. 2008-06-02 15:47:56 +00:00
bjorn 5073ac4e7f Honor the --name flag when generating output files. Set module name in generated Haskell modules correctly. 2008-06-02 15:32:01 +00:00
bjorn 20ea9ea5ec Changes lookConcrFlag to return Maybe. 2008-05-30 15:38:35 +00:00
krasimir 59721bfc33 add the MultiMap module 2008-06-02 10:00:13 +00:00
krasimir 75b56603cf use MultiMap from the reference implementation instead of GeneralDeduction and RedBlackTree 2008-06-02 08:38:27 +00:00
krasimir 7ee26238f5 Some more documentation 2008-06-02 07:45:45 +00:00
krasimir cd6fa423a9 rename GF.Grammar.Refresh to GF.Compile.Refresh in .caba 2008-06-02 07:34:15 +00:00
aarne bd7d0c7c5e printing line numbers in rename and check-grammar error messages 2008-05-31 16:30:36 +00:00
aarne 9229c15764 added positions to Module record; avoided Module constructor where possible; moved Refresh to Compile/ 2008-05-31 14:40:46 +00:00
aarne 66c0467201 sync with laptop version, irrelevant changes 2008-05-29 22:32:58 +00:00
aarne 35009a2911 some fixes in pattern matching in Compute 2008-05-27 20:54:31 +00:00
aarne 83dc6de3a8 unforgetting new env after i command 2008-05-30 17:13:38 +00:00
aarne 3a20b4883d error recovery in rename and check grammar: report all errors in a module before terminating 2008-05-30 16:45:48 +00:00
aarne c0ba151aa9 started Finnish 1.4 2008-05-30 09:39:29 +00:00
bjorn 2f89962c44 Refactor GFI to treat command line files and the i command uniformly. Disable CSE by default in GFI. 2008-05-30 15:20:28 +00:00
bjorn 54ebdab1f7 Change setOptimization to produce Options, not a function over Options. 2008-05-30 15:20:09 +00:00
bjorn 7f90087ab9 Added setOptimization function to GF.Infra.Options. I will need to do similar things for other options. 2008-05-30 13:56:50 +00:00
krasimir 150940b870 cleaned up and documented PGF API 2008-05-30 13:07:11 +00:00
krasimir 8bb0c32a9c replace GFCC with PGF in (almost) all places 2008-05-30 11:15:33 +00:00
krasimir 1172539a95 change the PGF.Data.Exp type 2008-05-30 09:10:28 +00:00
krasimir 1077fa1f30 don't need SyntaxTree anymore. Use PGF.Data.Exp directly 2008-05-30 07:23:00 +00:00
krasimir 88d3f61f41 change the library root namespace from GF.GFCC to PGF 2008-05-29 17:55:05 +00:00
krasimir 1bcc4aab81 drop the GF.Command.* dependencies in the library 2008-05-29 16:53:24 +00:00
aarne 2505bfc892 fixing number of interrogatives in English Structural 2008-05-29 16:16:19 +00:00
krasimir 96bdd18dc3 drop the dependency to GF.Infra.PrintClass from the Library 2008-05-29 15:15:00 +00:00
krasimir 77e05b0b36 rearrange the other-modules field 2008-05-29 12:40:32 +00:00
krasimir ecfb1f5e01 move the parsing related stuff to GF.GFCC.Parsing 2008-05-29 12:38:09 +00:00
krasimir 9c2d27b8d1 move GF.Parsing.FCFG.PInfo to GF.GFCC.BuildParser and rename FCFPInfo to ParserInfo 2008-05-29 12:27:26 +00:00
krasimir 9a759a66dc move GF.Formalism.FCFG types to GF.GFCC.DataGFCC 2008-05-29 12:08:45 +00:00
krasimir 363ddd7b91 simplify FSymbol type 2008-05-29 11:43:28 +00:00
krasimir 4d1809ef2d Simplify the Input type. Remove Edge and use only Range type 2008-05-29 11:20:40 +00:00
krasimir bc578a0871 remove Symbol type 2008-05-29 11:00:21 +00:00
krasimir 64d3a1226d simplify the Profile type and remove the NameProfile type 2008-05-29 10:55:34 +00:00
aarne 45e1eedff3 removed extra subex in suffixOptimize 2008-05-29 09:51:37 +00:00
aarne a5d05e8344 type computed in table T [...] 2008-05-29 08:23:23 +00:00
bjorn 34736bb431 Only print \n instead of CPU time in putPointE when printing the text message. This avoids printings lots of empty lines in silent mode. 2008-05-29 08:06:56 +00:00
bjorn d459573c80 Copy startcat flag to .gfo file. 2008-05-29 08:01:55 +00:00
krasimir 152c5698ce if optShowCPUTime is off just print \n in putPointE 2008-05-29 07:34:29 +00:00
bjorn dd8c3e91a0 Oops, inverted meaning of optBuildParser. 2008-05-28 19:56:12 +00:00
bjorn 2fcc77a884 Some printing / verbosity fixes. 2008-05-28 15:56:37 +00:00
bjorn a5cf2afccf Added GF.Infra.GetOpt to GF.cabal 2008-05-28 15:56:25 +00:00
bjorn 3fd1f5652a Switch to new options handling.
This changes lots of stuff, let me know if it broke anything.

Comments:

- We use a local hacked version of GetOpt that allows long forms of commands to start with a single dash. This breaks other parts of GetOpt. For example, arguments to short options now require a =, and does not allo pace after the option character.

- The new command parsing is currently only used for the program command line, pragmas and the arguments for the 'i' shell command.

- I made a quick hack for the options for showTerm, which currently makes it impossible to use the print style flags for cc. This will be replaced by a facility for parsing command-specific options.

- The verbosity handling is broken in some places. I will fix that in a later patch.
2008-05-28 15:10:36 +00:00
krasimir 1bc74749aa move GF.Conversion.SimpleToFCFG GF.Compile.GenerateFCFG 2008-05-28 08:35:31 +00:00
aarne 7d92dc3c0e prepare for optimizing tuple pattern matching 2008-05-27 14:02:26 +00:00
aarne bcdbb26b88 showing labelless table values in cc 2008-05-26 16:08:31 +00:00
aarne 913067543d also lookup in concrete in cc 2008-05-26 15:54:03 +00:00
aarne d4e0caa053 printing options for source GF terms defined in API and used in cc command 2008-05-26 14:50:17 +00:00
aarne 7d0da72db1 getting started with overloaded API for 1.4; some determiner syntax missing 2008-05-26 14:06:56 +00:00
aarne 68903bb251 started source grammar API ; used it for a first implem. of cc command 2008-05-24 16:13:27 +00:00
aarne 0db611a9ab support for source gr and i -retain in GFI env 2008-05-24 09:16:59 +00:00
aarne 5a386209dd interpret "foo bar" as ["foo bar"], silently 2008-05-24 08:03:42 +00:00
aarne 77178cd2ab sort records so that s field is first (use Macros.sortRec) 2008-05-24 07:44:16 +00:00
aarne 1eb1d7e055 temporary work-around of gfcc generation bug in resource-1.4 grammars 2008-05-24 07:18:34 +00:00
kr.angelov 53bfa43a58 allow Ctrl+Break in the shell. Works on Windows too. 2008-05-23 15:16:28 +00:00
kr.angelov 0b80bf17d9 use the version number from Paths_gf 2008-05-23 14:37:39 +00:00
aarne 61e4e6e483 debugging gfcc compilation 2008-05-23 14:10:31 +00:00
kr.angelov e0fb69d2f7 Lets Makefile generate Paths_gf 2008-05-23 14:16:42 +00:00
kr.angelov b89e7a8972 package posix is actualy unix :-) 2008-05-23 14:15:53 +00:00
kr.angelov 3bb4f2c9c3 readline configuration for Cabal 2008-05-23 13:29:33 +00:00
kr.angelov b8814af2f9 Remove GF.Today and use the autogenerated Paths_gf from Cabal 2008-05-23 13:19:24 +00:00
kr.angelov 16ba392ee4 add Cabal description for GF 2008-05-23 13:12:11 +00:00
kr.angelov 4c14927914 remove the deprecated RP constructor in GFCC 2008-05-23 09:54:02 +00:00
bjorn 6027c10a0c Get rid of the 'f' type parameter to the module types.
This was only ever instantiated with Option, and made it diificult to change the options type.
2008-05-23 08:47:07 +00:00
bjorn 5aceb18beb Set version number in configure.ac to "3.0-alpha". You need to rerun autoconf and configure to have this take effect. 2008-05-23 06:53:29 +00:00
bjorn 003278e52d Added GF.System.Readline and related modules back into src-3.0. 2008-05-23 06:31:52 +00:00
kr.angelov 954740933a move GFCCtoHaskell and GFCCtoJS to GF.GFCC.* 2008-05-22 15:47:15 +00:00
kr.angelov 243cbba4c6 move GF.Devel.TC and GF.Devel.TypeCheck to GF.Compile.* 2008-05-22 15:43:25 +00:00
kr.angelov d7bad70865 move GF.Devel.PrintGFCC to GF.GFCC.PrintGFCC 2008-05-22 15:41:17 +00:00
kr.angelov 359647445a GF.Devel.ModDeps is removed. The only used function is moved to GrammarToGFCC 2008-05-22 15:32:31 +00:00
kr.angelov 2ecfbf1543 remove GF.Devel.PrGrammar and use GF.Grammar.PrGrammar instead 2008-05-22 15:23:56 +00:00
kr.angelov 4c0004f714 move GF.Devel.OptimizeGF to GF.Compile.OptimizeGF 2008-05-22 15:04:25 +00:00
kr.angelov d7f81f9f51 move GF.Devel.UseIO to GF.Infra.UseIO 2008-05-22 14:58:44 +00:00
kr.angelov f902f64a3e move GF.Devel.ReadFiles to GF.Compile.ReadFiles 2008-05-22 14:51:08 +00:00
kr.angelov fd01ba1b68 move GF.Devel.GrammarToGFCC to GF.Compile.GrammarToGFCC 2008-05-22 14:46:18 +00:00
kr.angelov d8cabf0263 move GFC and GFI 2008-05-22 14:39:16 +00:00
kr.angelov ebbc0a3e80 move GF.Devel.GF to GF 2008-05-22 14:32:49 +00:00
kr.angelov 35296a555d move GF.Devel.Compute to GF.Compile.Compute 2008-05-22 14:31:36 +00:00
kr.angelov 54e47edb5d move GF.Devel.CheckGrammar to GF.Compile.CheckGrammar 2008-05-22 13:15:45 +00:00
kr.angelov fd1a216fb2 move GF.Devel.Optimize to GF.Compile.Optimize 2008-05-22 13:09:08 +00:00
kr.angelov 9d6c383c07 move GF.Devel.GetGrammar to GF.Compile.GetGrammar 2008-05-22 13:05:12 +00:00
kr.angelov a28b61be1c move GF.Devel.Compile and GF.Compile.API to GF.Compile 2008-05-22 12:57:33 +00:00
kr.angelov 2e49f7f5b1 get rid of GF.System.Arch only one function from it was actually used 2008-05-22 12:39:13 +00:00
kr.angelov df0c4f81fa remove all files that aren't used in GF-3.0 2008-05-22 11:59:31 +00:00
aarne 6394f3ccfb Makefile harmonization 2008-05-22 08:58:36 +00:00
aarne 3a27dd455e restored readline 2008-05-22 07:38:41 +00:00
kr.angelov b7ff446966 further optimization by unpacking the ByteString in Ident 2008-05-21 19:51:52 +00:00
kr.angelov ced73a2f0a fix typo 2008-05-21 19:51:24 +00:00
kr.angelov 1bead9601b remove the -prof flag from Makefile 2008-05-21 19:49:49 +00:00
kr.angelov b114471843 add GF.Source.SharedString 2008-05-21 13:35:26 +00:00
kr.angelov 57d19ce36b add the missing GF.Grammar.Predef module 2008-05-21 13:30:44 +00:00
kr.angelov c544ef3182 use ByteString internally in Ident, CId and Label 2008-05-21 13:10:54 +00:00
aarne 529374caaa added Readline to GF3 shell (in the same way as GF2, using GFCFLAGS in Makefile) 2008-05-21 09:46:30 +00:00
aarne 055c0d0d5a GF/src is now for 2.9, and the new sources are in src-3.0 - keep it this way until the release of GF 3 2008-05-21 09:26:44 +00:00
aarne 915a1de717 some deep java editor sources added 2008-05-20 11:49:50 +00:00
aarne 31bf84122b moved all old source code to src-2.9 ; src will be for GF 3 development 2008-05-20 11:47:44 +00:00
bjorn 74f048dcf4 Fix link to code.haskell.org account request page. 2008-05-13 18:26:46 +00:00
bjorn f17addbcd3 grammars/health/HealthRus.gf: comment out the linearizations of functions that are commented out in Health.gf. HealthRus now compiles (against resource-0.6). 2008-05-09 12:40:16 +00:00
aarne acebf7c912 new refs in bib ; some Hindi parameter experiments 2008-05-05 16:45:28 +00:00
meza 314f147bff JS.cf : Changed the JS grammar to support strings as property names in objects. Changed pretty much all the files in the same folder as well as GFCCToJS.hs and SISR.hs to reflect the changes. 2008-04-29 13:05:24 +00:00
krasimir ba6a2b5d6e print the "linking..." message when building the GFCC code 2008-04-29 09:44:43 +00:00
krasimir 6550daf31c let the putPointE print the time in msec 2008-04-29 09:43:35 +00:00
krasimir 4e4734f5a3 remove the obsolete putCPU, putPoint and putPoint' functions 2008-04-29 09:22:57 +00:00
krasimir e62c5b71c2 add ModEnv to CompileEnv. This removes the need to read one and the same time twice when multiple grammars are loaded. 2008-04-29 09:03:43 +00:00
krasimir 0b47519d44 use cannonicalizePath in getFilePathMsg. This returns an absolute path and removes the .. indirection 2008-04-25 15:53:02 +00:00
krasimir d4832b4eeb completely rewriten readFiles implementation. Much simpler and more efficient 2008-04-25 15:50:54 +00:00
krasimir 46c9a500df use putStrLn instead of print to dump error messages. This avoids the double quotes 2008-04-25 15:49:53 +00:00
krasimir 955a5db693 fix the System.FilePath import for Posix 2008-04-22 20:06:05 +00:00
krasimir d80c1b22ce fix complete pattern in isOldFile 2008-04-22 13:09:14 +00:00
krasimir 43f30025f4 gfLibraryPath is actually an environment variable not a file path. Use the current directory instead. 2008-04-22 12:18:39 +00:00
krasimir 375754e106 move gfLibraryPath and gfGrammarPath to UseIO. Now they are accessible and there is only one place to change if you want to use different envVar 2008-04-22 12:12:29 +00:00
krasimir fc111c1a79 use the standard System.FilePath module instead of our own broken file path manipulation functions 2008-04-22 11:39:46 +00:00
krasimir 7a6adbf359 isOldFile should use the real lexer instead of "words" this avoids the need for custom unComm function 2008-04-22 08:52:11 +00:00
krasimir 92917e6e5e Use Happy grammar for imports extraction instead of hand made shallow crapy grammar 2008-04-22 08:33:23 +00:00
krasimir 4c73735de9 Some more ByteString related chandes in GF2 2008-04-17 13:22:10 +00:00
krasimir 21e5a60ce2 ByteString.readFile should be used instead of readFileStrict. This fixes the problem with the open files 2008-04-17 12:56:46 +00:00
krasimir 0ea2798b3c gf3 should not exit if there is a syntax error in the file 2008-04-17 12:50:51 +00:00
meza 08f92cd180 Changed JS generation to avoid grammar reference files. Removed grammar reference file generation. 2008-04-11 13:52:13 +00:00
bringert f439895ef9 Added GF.GFCC.Macros.lookStartCat. Changed GF.GFCC:API to use it (before, startCat always returned "S"!). GFCCtoJS has not been changed, Moises will do that. 2008-04-07 15:57:04 +00:00
bringert 898c079d84 GF.GFCC.API is for .gfcc, not.gfcm 2008-04-07 15:40:41 +00:00
krasimir 6bb28bcec4 optimized incremental algorithm 2008-03-30 19:57:05 +00:00
aarne cce757bb51 GF ten years 2008-03-20 09:17:55 +00:00
aarne 9a6f1720a9 miising ErrM added... 2008-03-18 15:42:51 +00:00
aarne ca7bcf91ca merging recent changes in Finnish 2008-03-17 12:46:53 +00:00
aarne bae424218f debugging GFCC generation 2008-03-16 13:42:32 +00:00
aarne 6cbb8086c8 putting pattern macros in place (not properly tested yet) 2008-03-15 21:02:59 +00:00
aarne e60237136b fixed bug leading to looping in Devel.Compute 2008-03-15 19:00:09 +00:00
aarne c73bc4f996 switched to unmodified BNFC-generated components 2008-03-15 14:53:42 +00:00
meza eff08dfe88 GFCCtoJS.hs: added the full profile to parsing grammars. added linearization definitions for built-in categories Int, Float and String. 2008-03-14 08:29:05 +00:00
aarne a34eed5189 lincat can now be just Str 2008-03-09 12:17:42 +00:00
aarne aa94e34098 coding flag as pragma in files 2008-03-11 14:37:10 +00:00
aarne 5f731b3ad6 new Finnish paradigms integrated 2008-03-07 14:47:10 +00:00
aarne 27508654c0 option -mac to vt command (uses open with ps) 2008-03-06 21:27:14 +00:00
aarne fe86395853 debugging testgf3 2008-03-05 18:59:14 +00:00
aarne 674b4765e6 added bnfc-generated testgf3 files 2008-03-01 14:29:47 +00:00
aarne bc77ad3163 added wiki grammars 2008-03-04 11:56:12 +00:00
bjorn b21fe03735 Rename index.html to homepage.html. 2008-02-27 15:13:11 +00:00
bjorn 8d5d6cc10e Fix LatestCode link. 2008-02-27 15:12:54 +00:00
bjorn 44454a93ab Build gf-embed with -O2. 2008-02-26 17:22:38 +00:00
bjorn c430d88a09 Replace fromJust with fromMaybe + error message when looking up lintype in SimpleToFCFG. This makes problems easier to debug. 2008-02-26 14:00:15 +00:00
bjorn ad785c1bab Update darcs.html for the code.haskell.org repo. 2008-02-25 15:27:44 +00:00
aarne 2faba90119 started a directory of grammars testing testgf3 features 2008-02-22 15:17:50 +00:00
aarne 9e6064709f testgf3 in progress; fixed VP type in ExtraEng 2008-02-22 14:16:33 +00:00
aarne 4e3d240d2d final version of kotus experiment 2008-02-18 18:20:42 +00:00
krasimir 389ba6058d For Windows change the Console Code Page to the default ANSI code page. This fixes the problem with cyrilic. 2008-02-21 15:58:19 +00:00
krasimir 671b6b4dff For Windows get the default GF_LIB_PATH from the executable path 2008-02-21 15:56:09 +00:00
aarne c764a758e1 documenting testgf3 2008-02-21 08:04:43 +00:00
bjorn 7412c24267 Treat pre tokens as variants in SimpleToFCFG. This should allow us to parse sentences with e.g. "an". 2008-02-19 22:09:56 +00:00
bjorn b468482c3f Some work on gf3/gfc command-line options. 2008-02-19 20:59:01 +00:00
krasimir a4bded9f3a add experimental incremental parser for FCFG 2008-02-18 16:58:27 +00:00
aarne badafa58fa using partitive plural in Finnish mkN 2008-02-18 07:15:50 +00:00
bjorn 8873196f84 Rename gfcats to startupcats in PGF. 2008-02-15 20:13:01 +00:00
krasimir 5b4a228215 fix the singleton selector generation 2008-02-14 12:48:41 +00:00
aarne 0064b67925 bugs in kotus paradigm implementations fixed 2008-02-13 22:01:30 +00:00
aarne c399f4f80a kotus experiments; bindings in gfcc 2008-02-13 17:47:54 +00:00
Moises Meza 0fc72dda44 GFCCtoJS.hs: added new Terminal to parser rules. Added a startcat to the Parser constructor. 2008-02-12 10:08:23 +00:00
bjorn 18b2205d0d Use isAlpha instead of isLetter to compile with GHC 6.4. Reported by moises. 2008-02-08 09:20:32 +00:00
aarne 9bd9e2ee7a kotus paradigms implemented 2008-02-07 16:03:16 +00:00
bjorn 53106abf7e Added PGF version numbers to GFCC file. 2008-02-07 13:48:41 +00:00
aarne 9f861ee537 finnish kotus word list 2008-02-07 08:42:08 +00:00
bjorn d2a5a88b18 Include parser in JS produced by gf3. 2008-02-06 17:08:50 +00:00
bjorn ef50209983 Expand higher-order abstract syntax in SimpleToFCFG. 2008-02-05 14:33:22 +00:00
aarne 9b104373e6 new. more compact tutorial version (also as slides) 2008-02-04 16:34:32 +00:00
aarne 4889558137 added some new pattern forms, incl. pattern macros, to testgf3 2008-02-01 22:01:10 +00:00
aarne 3addf256bc GFCC: TM with argument; fixed labels from bindings in gfc 2008-01-31 20:56:42 +00:00
aarne 8f8aac4d24 gfcc generation with HOAS: var fields appended to records 2008-01-31 16:37:32 +00:00
bjorn c6137229eb Standard format for floats and strings in GFCC. 2008-01-30 17:18:27 +00:00
bjorn 76bfc8e98d Changed GFCC parser format to only include the FCFG rules and the GF cat -> FCFG cat mapping. The other information is very easy to build on the fly. 2008-01-30 16:39:44 +00:00
bjorn 42382d6f93 Merge AId and App forms in GFCCRaw. 2008-01-29 15:53:50 +00:00
bjorn 730a9905f3 UTF-8 encode in printGFCC. 2008-01-28 21:43:04 +00:00
aarne 4c3aa8c164 finnish updates 2008-01-28 17:41:51 +00:00
aarne 327c63eb74 gt command in gf3 2008-01-08 12:22:05 +00:00
aarne 1214408387 Swadesh verb list in uusisuomi revised 2008-01-07 21:03:05 +00:00
bjorn f52c19d4da GFCCRaw printing: no space in App with no arguments. 2008-01-26 16:46:46 +00:00
bringert 10a9e25ceb Better names for the parsing info components in GFCC. 2008-01-09 13:51:21 +00:00
bringert ad355515b0 Change "proj" to "P" in GFCC parse rules to save space. 2008-01-07 21:31:45 +00:00
bringert ff9e6404b8 Replace BNFC-generated PrintGFCCRaw with smaller hand-written one. 2008-01-07 21:31:05 +00:00
aarne c38f3da80b finnish Swadesh verbs 2008-01-07 15:59:17 +00:00
aarne e1dda4b5d8 fixed bugs in optimization of multiple application 2008-01-06 21:27:26 +00:00
aarne fc65b10e0f dictionary experiment with Finnish verbs 2008-01-06 21:05:56 +00:00
aarne 330350325f tests for verbs in uusisuomi 2008-01-06 12:16:07 +00:00
bringert 238dba6264 Remove LexGFCCRaw from GF-embed.cabal 2008-01-04 22:01:13 +00:00
bringert 90e8f433cf Replace BNFC-generated GFCC-parser with a faster and smaller combinator version. 2008-01-04 17:42:28 +00:00
aarne ca409d0047 started adjectives in uusisuomi 2008-01-04 17:54:20 +00:00
aarne d550049873 finalizing experiments with Finnish nouns 2008-01-04 15:54:40 +00:00
bringert 934d4dbd7c Oops, I happend to record a temporary change for testing combinator parsing on GFCC. Reverting that. 2008-01-04 15:00:58 +00:00
bringert a68b2850e7 Added -noparse flag to gfc. In the process, I refactored GF.Devel.GFC and GF.Command.Importing to use a common source to gfcc compilation function in the new module GF.Compile.API. 2008-01-04 14:51:20 +00:00
aarne d54c209e9d dictionary experiment in uusisuomi 2008-01-04 10:15:15 +00:00
aarne 6bca6a97ae Swadesh example in uusisuomi 2008-01-03 17:40:31 +00:00
aarne 3323ccb750 fixed Swadesh for new resource version 2008-01-03 17:11:32 +00:00
aarne c17d8cfd50 Duodecim example treated 2008-01-03 16:08:52 +00:00
bringert af1a3a2473 Store FCFPInfo (all information needed for FCFG parsing) in GFCC files, and in the internal DataGFCC.GFCC structure. The parsing information format is still in flux. 2008-01-03 17:10:05 +00:00
aarne 43ddb41d31 word lists initialized for 2 experiments 2008-01-03 11:22:44 +00:00
aarne 1753d57c65 samples of Finnish nouns 2008-01-03 10:57:13 +00:00
aarne a97ac23f1a new division of Nominal in uusisuomi 2008-01-03 10:01:57 +00:00
aarne cbfb9d5e7d experiment with Finnish morphology 2008-01-02 16:54:22 +00:00
aarne b3da2791fd subex elim in gfr generation 2008-01-01 23:31:12 +00:00
aarne e7611aefb4 Updated version numbers. 2007-12-21 17:43:27 +00:00
aarne d389a174f5 link in download index 2007-12-21 18:02:19 +00:00
bringert 6eb575d55c update syntax.txt with the flags and grammar name changes 2007-12-21 17:26:41 +00:00
bringert 093633a216 Merge abstract and global flags and put them at the top level in GFCC files. 2007-12-21 17:25:35 +00:00
bringert 24c456cadf Fixed bug in toGFCC: cflags where mistakenly taken from aflags. 2007-12-21 17:24:59 +00:00
bringert 645a7db1e2 gfcc files now start with (grammar absname cncname1 ... cncnameN). 2007-12-21 17:18:36 +00:00
aarne 504e7162fc preparing for release 2007-12-21 17:37:19 +00:00
aarne 5ee1714fd2 new tutorial and reference manual 2007-12-21 15:10:38 +00:00
aarne c5017f28aa resource-api demo 2007-12-21 15:07:37 +00:00
bringert ab7da811d2 Fixed indentation in generated haskell code for list categories. 2007-12-20 23:26:10 +00:00
bringert 176abb51d1 in gf-embed.cabal: expose GF.GFCC.CId and hide GF.GFCC.Raw.AbsGFCCRaw 2007-12-20 23:20:53 +00:00
aarne 8e3f63d7fa changed AbsGFCC to CId in GFCCtoHaskell 2007-12-20 22:38:16 +00:00
aarne d14358ff8b merged Gf and Fg classes in generated Haskell 2007-12-20 15:11:18 +00:00
bringert e4ffd51797 Moved Err definition to GF.Data.ErrM from GF.Data.Operations. This means the GF-embed does not have to include GF.Data.Operations. 2007-12-20 17:41:31 +00:00
bringert 6bab46fbb2 Update GF-embed.cabal to use GFCC.Raw 2007-12-20 17:35:18 +00:00
bringert 5b01d912ce Replace all the different ErrM.hs modules with GF.Data.ErrM. 2007-12-20 17:34:12 +00:00
bringert 4ab0df67c5 Added newlines and ends of some files. This makes sed happy. 2007-12-20 17:07:56 +00:00
bringert 3d80cf6bf9 Use GF.GFCC.Raw.AbsGFCCRaw instead of GF.GFCC.AbsGFCC in code generated by gfc -haskell. 2007-12-20 16:57:16 +00:00
bringert 7b7735c12f Added missing BNFC-generated alex and happy files, and alex-generated lexer for GFCCRaw. 2007-12-20 16:32:39 +00:00
bringert 6590edbd48 Handle giving several options in LDFLAGS and CPPFLAGS correctly. 2007-12-20 15:55:26 +00:00
bernardy 701c57f25a Workaround a ghc 6.8.2 bug 2007-12-17 10:15:20 +00:00
aarne 83159c434b more example languages 2007-12-19 10:50:17 +00:00
aarne 27602f4f82 took back smart type of Int ; Digits type in resource and some adjustments of Det syntax (not yet for romance and russian) 2007-12-17 18:12:46 +00:00
aarne 7551c70db6 restored Int size and last ; added lib/prelude to be the last in any grammar path 2007-12-16 22:24:36 +00:00
aarne 49b3ffb7a0 completed ConvertGFCC for all terms 2007-12-14 11:16:01 +00:00
aarne f85ba4bfa0 removed dep. on GFCCRaw 2007-12-14 09:25:18 +00:00
aarne ab7d15ab38 added a module for testgf3 2007-12-14 07:42:56 +00:00
aarne c36ee1492e oops, readded CanonToGFCC to darcs 2007-12-14 07:32:59 +00:00
aarne 745f6ac83f restored CanonToGFCC as a wrapper of GFCC generation 2007-12-14 07:31:53 +00:00
aarne 9e0dd0a41a some generated GFCCRaw files added to darcs; make gf3langs for alltenses 2007-12-13 22:15:19 +00:00
aarne ed5a85ce1d removed gfcc via gfc everywhere; workaround for russian in present 2007-12-13 22:05:14 +00:00
aarne b447cf1a04 new GFCC concrete syntax in place everywhere 2007-12-13 20:19:47 +00:00
aarne a311dda539 lisp-like GFCC syntax; doesn't quite work yet in gf3 2007-12-13 16:36:32 +00:00
aarne af2755eebe prelude sources to lib/src; present in StructuralEng; refactored checkGFCC 2007-12-13 10:12:00 +00:00
bringert 27315ad5d2 s/resource-1.0/resource/ in src/Makefile. 2007-12-13 13:39:04 +00:00
aarne 477f88c1e4 variants in gfcc generation 2007-12-11 15:07:48 +00:00
aarne 83b47b13b7 some adjustments in GFCC generation (old) 2007-12-10 16:46:04 +00:00
aarne 6edb2f075a debugging new compilation 2007-12-09 15:20:50 +00:00
aarne 6a4218e9ef extend behaviour for interface and incomplete 2007-12-09 10:52:19 +00:00
aarne b693ba103c noemit as default in testgf3 2007-12-08 17:02:35 +00:00
aarne 2a46601ebb breaking points 1..6 in new Compile 2007-12-08 16:51:39 +00:00
aarne 99e6923af6 documenting implementation started 2007-12-08 15:59:36 +00:00
aarne f4d3b1a9fa compilation line complete (but dysfunctional) for new GF internal format 2007-12-08 15:15:18 +00:00
aarne e548f096e6 GFtoGFCC type checks (but is not correct) 2007-12-08 15:01:36 +00:00
aarne 5aca148d20 names resolve in new GFtoGFCC 2007-12-08 10:37:49 +00:00
aarne 84c9f3f483 started modifying GFtoGFCC for new internal GF format 2007-12-08 09:32:05 +00:00
aarne e90ccb5002 a couple of fixes in new Optimize 2007-12-07 21:00:24 +00:00
aarne d9521d2f4c restructured some of the new GF format; modules now in place up to gfo generation 2007-12-07 20:47:58 +00:00
aarne 8437e6d295 started adding GF back optimization (Factorize) 2007-12-07 13:00:02 +00:00
aarne 36a0f92bdb optimize in the compilation chain for new format 2007-12-07 11:12:39 +00:00
aarne e013138f0c refresh compilation phase in the new format 2007-12-07 10:23:18 +00:00
aarne 64ebc4f167 new type checker type checks 2007-12-06 21:43:21 +00:00
aarne fe30e32748 in the middle of adapting CheckGrammar 2007-12-06 17:29:19 +00:00
aarne bfd215aa7f started grammar checking with new internal format 2007-12-06 15:50:54 +00:00
aarne f08eb82f2b restored work on Extend and Rename 2007-12-06 12:54:15 +00:00
aarne 7d1b964a78 Delete the silly test file. 2007-12-06 15:19:56 +00:00
aarne 28d7ee2f41 Silly test patch. 2007-12-06 15:18:49 +00:00
bringert 8ddd6a59f3 Expose AbsGFCC and DataGFCC in gf-embed.cabal, since code generated by -haskell needs them. 2007-12-05 21:41:38 +00:00
bringert 2885e2fd8a Update GF-embed.cabal to use expose GF.GFCC.API. This pulls in a lot fewer modules than the old version. Use Cabal configurations to compile on 6.8.1. This unfortunately means that users of GHC < 6.8 must upgrade to Cabal 1.2 or greater. 2007-12-05 20:05:42 +00:00
aarne dc1c835563 restored interface and instance - at least for a while 2007-12-04 20:13:36 +00:00
aarne 11982849b9 rebuild integrated in Extend 2007-12-04 20:00:51 +00:00
aarne 7fabd2345d building extensions in new source format 2007-12-04 17:10:28 +00:00
aarne 61763b5784 unifying judgement information - now easy 2007-12-04 15:23:49 +00:00
aarne 4279b17762 printing new source format 2007-12-04 15:01:01 +00:00
aarne 4698dfbe78 some missing cases in SourceToGF 2007-12-04 11:18:55 +00:00
aarne 7051331c20 test for new GF source format 2007-12-04 11:07:39 +00:00
aarne a7b6887050 moved some modules to Devel.Grammar 2007-12-04 07:48:37 +00:00
aarne 0e1831abb4 SourceToGF working though not complete 2007-12-04 07:40:47 +00:00
bringert 10354e0db2 Haskell GSyntax printer?: encode generated code as UTF-8. Current GHC versions treat source files as UTF-8 encoded. 2007-11-28 13:45:49 +00:00
bringert 3ab863c1d4 Added install-gf3 target. Use EXEEXT to get correct gf3 file name on Windows. 2007-11-12 16:18:01 +00:00
bringert ca6198dc98 Use configure to produce a gfc script with the correct path to gf3. NOTE: you need to re-run autoconf after pulling this patch. 2007-11-12 16:17:04 +00:00
aarne 4500ce6316 started parsing GF source into the new format 2007-12-03 17:40:59 +00:00
aarne cea1946f3f some macros for terms, jments, modules 2007-11-29 10:23:26 +00:00
aarne be080aff39 judgement construction after parsing 2007-11-28 22:11:47 +00:00
aarne 813e899ebb lookup module separated 2007-11-28 12:01:38 +00:00
aarne 5257fd963e new definitions of term and judgement syntax 2007-11-28 11:58:47 +00:00
aarne 5b0f98f388 lookup modules 2007-11-28 08:44:04 +00:00
aarne ba938b3530 started experimental new module syntax 2007-11-27 14:23:11 +00:00
aarne 8852637997 diagnostic error message in GrammarToHaskell 2007-11-15 17:09:33 +00:00
aarne 43eb40a688 dealing with Ints n in GrammarToGFCC 2007-11-15 16:49:20 +00:00
aarne 504bdedcc3 made Devel versions of Compute, CheckGrammar, Optimize, etc, to leave GF 2.8 untouched when experimenting 2007-11-12 21:42:13 +00:00
aarne 7e40df7d4c made compile from source use optimized modules internally 2007-11-12 17:25:00 +00:00
aarne 5d06a31078 fixed a bug on not updating parameter table in record fields in GrammarToGFCC 2007-11-12 14:30:53 +00:00
aarne 6158445114 fixed bug with prawitz transform of course-of-values tables in Compute 2007-11-12 12:36:40 +00:00
aarne b801149fbf merged gfc and gfi to one binary, and a shell script for gfc 2007-11-12 09:17:02 +00:00
aarne eb7b028601 printing grammarReference.js with gfc -jsref 2007-11-10 10:23:35 +00:00
aarne ba735d802b post-compute in GrammarToGFCC - what else is needed? 2007-11-09 17:24:08 +00:00
aarne e394d725a4 ResFin workaround; type annot for ghc 6.8.1 2007-11-09 15:51:12 +00:00
bringert 6568ac4aea Fix pre token bug in JS, both in gf and gfc. Pre tokens are still treated like normal tokens, but at least the generated code should be correct now. 2007-11-09 15:09:09 +00:00
aarne ad96ff1822 debugging gfcc bug; resulted in some type annotations to work around problems 2007-11-09 14:02:11 +00:00
aarne e66aab0978 changed js and hs file names in gfcc output to expected ones 2007-11-09 10:08:07 +00:00
aarne 1ad7527f65 preserve error message in batch compile 2007-11-09 08:56:13 +00:00
aarne 45df6d5ac2 currying in paramlincat encoding 2007-11-09 08:26:56 +00:00
aarne 91415f7ad0 grammar printing options in gf3 and gfc 2007-11-09 00:21:57 +00:00
aarne 5e0e82250e partial check of dependencies with restricted inheritance 2007-11-08 23:34:45 +00:00
aarne f2df8bb144 restricted inheritance in gfcc abstract fixed 2007-11-08 21:34:44 +00:00
aarne fc457ce795 funny ASCII logo 2007-11-06 20:52:49 +00:00
aarne 14e974af9e added linearize -all 2007-11-08 17:01:09 +00:00
aarne 44df29f52d gfi linearization with flags -table -record -term 2007-11-08 16:37:30 +00:00
aarne 23b2826a44 encoding of lincats as gfcc terms with param value information 2007-11-07 17:27:09 +00:00
aarne 947949648f added fields for global options and showable lincats to gfcc 2007-11-07 16:30:56 +00:00
aarne 0be4e801f4 some more issues in gf3.txt 2007-11-07 13:53:48 +00:00
aarne 8c47cb46b2 moved gfcc program to gfi, wrote document gf3.txt 2007-11-07 13:07:02 +00:00
aarne 2c4d34af28 prompt and CPU time in experimental shell 2007-11-06 17:27:20 +00:00
aarne 2b1d5a4d51 Devel/GF3: experimentally putting together all functionalities for the first time 2007-11-06 14:44:17 +00:00
aarne 693621ffbe made command table independent of options 2007-11-06 11:01:45 +00:00
aarne db399191d9 factored out commands from interpreter in gfcc 2007-11-06 10:43:19 +00:00
aarne 5e87b6ef98 fixed variants bug in GFCC.Linearize: l. 64,46 'r' must be 'p' 2007-11-05 21:55:17 +00:00
aarne 2a83f299b4 unionGFCC, to put together GFCC grs with same abstract 2007-11-05 13:48:51 +00:00
aarne 7eecf7f943 command database in gfcc 2007-11-04 22:01:10 +00:00
aarne 76204ad886 changed suffix gfc to gfo in the gfc program to enable sharing directories with gf 2007-11-04 20:36:58 +00:00
aarne bb5af4bbba interpreter with pipes 2007-11-04 10:17:48 +00:00
aarne fdc39cf18c started command interpreter for gfcc 2007-11-03 22:37:18 +00:00
aarne 5956ba6b38 command language and gfcc term parser in bnfc 2007-11-03 22:00:08 +00:00
bringert ed4b43961d Added explicit export list to ParGF. 2007-11-01 10:10:30 +00:00
bringert dafbcb7f9b Regenerated ParGF.y with current BNFC, and regenerated ParGF.hs with Happy 1.17. This seems to fix some of the less informative parsing error messages. 2007-11-01 10:08:32 +00:00
aarne 59e4328128 mock up math extended with Agda 2007-10-31 17:13:20 +00:00
aarne 3f4d3e69cf oper and lindef in CanonToJS 2007-10-31 16:41:39 +00:00
aarne a2a37bc912 mock up variables for js 2007-10-30 13:17:54 +00:00
aarne ab1af18cdb swedish mock up for math 2007-10-30 13:15:18 +00:00
aarne 565bd85329 math wiki example 2007-10-30 13:09:46 +00:00
bringert af54ec7e45 Added type signature to fix GHC 6.8 problem reported by Jean-Philippe. 2007-10-30 09:51:14 +00:00
aarne 70258975f2 semantics <- sementics 2007-10-24 07:49:29 +00:00
aarne fa2131a8be program four second week of the course 2007-10-24 07:47:33 +00:00
aarne 60f714b9c8 insertObject in AdVP in tutorial/syntax 2007-10-23 21:03:06 +00:00
aarne bf223b43d5 insertObject in Grammar 2007-10-23 14:11:22 +00:00
bringert 5b7f45c7e6 Added --output-name to GF.Devel.GFC.Options. Inspired by peb's --output-base suggestion. 2007-10-23 12:19:11 +00:00
bringert 1bf4df8763 Added --output-dir to GF.Devel.GFC.Options. Suggested by peb. 2007-10-23 12:15:01 +00:00
bringert 9dc7843f53 Allow multiple output formats in GF.Devel.GFC.Options. Suggested by peb. 2007-10-23 12:11:48 +00:00
aarne a6f89fefef polished the syntax grammar for the book 2007-10-22 15:56:11 +00:00
aarne 3b878f85d8 Swedish functor implementation of Base 2007-10-21 10:45:51 +00:00
aarne 087fddc174 English Base implementation with functor 2007-10-21 10:06:34 +00:00
aarne a9472f91e5 the lincat of Int simplified to SS again (Linear,Lookup,CheckGrammar by commenting out) 2007-10-21 10:01:14 +00:00
bringert bc2cac719b Added Show isntance generation to haskell_gadt. 2007-10-20 18:57:38 +00:00
bringert 173d0ae876 Added Compos instance generation to the haskell_gadt printer. Added GF.Data.Compos module which is imported by the code generated by haskell_gadt. 2007-10-20 18:42:16 +00:00
aarne 484c4ef336 started resource implementation of query language 2007-10-20 11:34:52 +00:00
aarne 192f55e2f5 semantics extended to questions 2007-10-20 09:51:26 +00:00
aarne e86db4d8c8 two versions of semantics (the Logic version incomplete) 2007-10-19 22:12:30 +00:00
aarne 295c40fe3a started semantics module in tutorial 2007-10-19 16:29:29 +00:00
aarne 59052fd1b6 added coordination to tutorial grammar example. 2007-10-17 19:08:09 +00:00
bringert 5028c62c66 Fixed link to resource grammar synopsis. 2007-10-17 16:18:13 +00:00
aarne cec3d7d603 found and temporarily solved the bug in LangGer gfcc generation 2007-10-16 17:38:57 +00:00
bernardy 869da61a5b add interlingua numerals grammar 2007-10-15 09:54:41 +00:00
bernardy bb0252e323 Fix the belgian numerals grammar 2007-10-15 09:42:34 +00:00
bernardy ec06de5c9f Simplify the swiss numerals grammar 2007-10-15 09:42:06 +00:00
bernardy 43e9eb3a1a Slightly nicer output when reading old grammars 2007-10-15 08:05:33 +00:00
bernardy 0c132a75d4 Add belgian french version of the numeral grammars 2007-10-13 15:32:15 +00:00
bernardy 4cc8611b1f typo 2007-10-13 15:22:59 +00:00
aarne eb145f5fcf adjusting parameter types in Romance and fixing some compilation bugs 2007-10-14 14:08:41 +00:00
aarne 111643eba8 fix in records as param arguments 2007-10-14 10:36:06 +00:00
kr.angelov 873a160537 FCat is just a plain integer now 2007-10-12 16:00:37 +00:00
aarne 96ed0bf4ac demo restaurant info 2007-10-12 13:46:57 +00:00
aarne 530174aad1 some fixes in GrammarTpGFCC, and more tracing 2007-10-12 12:24:07 +00:00
aarne 1fb749a5ec removing a trace 2007-10-12 08:42:52 +00:00
aarne cf3fcbf582 check circularity in param 2007-10-12 08:37:57 +00:00
aarne 697cf5f440 tuning gf optimization 2007-10-10 20:29:10 +00:00
aarne 0fdb2dbc48 patches to Now and Dan verb forms ; opers and lindefs in JS 2007-10-10 17:35:50 +00:00
aarne ebfef6c8cc common subexp elim for src GF 2007-10-10 17:01:00 +00:00
aarne f479ecac03 optimizations on evaluated gf in gfc 2007-10-10 16:13:57 +00:00
aarne f93c17c7b1 GFCCtoJS in Devel 2007-10-09 12:51:09 +00:00
aarne 38a517aafa UTF8 encoding of strings in terms in GFCC in gfc 2007-10-08 14:20:37 +00:00
aarne 5a881a90dd gfc now generates gfcc with deptypes, defs, printnames 2007-10-08 12:45:39 +00:00
aarne 8d0aaf0b24 cleaned up obsolete GFCC references 2007-10-06 07:37:44 +00:00
aarne db606bd2d1 oops - forgot to add GFCCtoHaskell 2007-10-06 07:36:21 +00:00
aarne 33ee832655 removed unnecessary imports from GFCCtoHaskell generation 2007-10-05 16:30:37 +00:00
aarne 51ac00a987 documented new GFCC 2007-10-05 16:18:23 +00:00
aarne 2905d5552c removed Canon/GFCC 2007-10-05 13:38:10 +00:00
aarne 1b4f7c9741 updated gfcc to new gfcc, now with parsing 2007-10-05 13:01:05 +00:00
aarne 48623470cd gf works with the new gfcc format 2007-10-05 12:54:29 +00:00
aarne 945a49214b cleaned up new GFCC, but added RP as deprecated 2007-10-05 09:02:47 +00:00
aarne cc104236df shifted to use general trees and types (with macros for c-f) 2007-10-05 08:17:27 +00:00
aarne 07d2910df1 divided DataGFCC 2007-10-05 07:33:33 +00:00
aarne a0f3aecc51 make gfcc makes old gfcc; use make newgfcc for the format produced by gfc 2007-10-04 21:46:23 +00:00
aarne 48ebf562b9 new GFCC format in GF/GFCC 2007-10-04 21:38:59 +00:00
kr.angelov acc32ec199 handle (F ..) references in the lintypes 2007-10-04 18:23:59 +00:00
aarne 923cfe84f0 started new GFCC syntax with dep. types etc 2007-10-04 14:13:45 +00:00
aarne afbab92605 resource application example in tutorial/syntax 2007-10-04 13:43:29 +00:00
aarne 61dfd0326c refactored tutorial syntax example 2007-10-04 12:29:11 +00:00
aarne 5afdb7e11b make lib in src/Makefile 2007-10-04 11:27:31 +00:00
aarne ea700323ab makefiles for first make 2007-10-04 11:24:46 +00:00
bernardy db8f5d898e Couple of fixes for the "food" example in French 2007-09-14 10:46:30 +00:00
aarne e697fa5c39 eliminated the rest of projections with record in GFCC 2007-10-04 08:23:56 +00:00
aarne 70c8cff0f9 lincat index in CanonToGFCC decreased by 1 2007-10-03 16:15:33 +00:00
aarne 17962eef1a added optimization to GrammarToGFCC 2007-10-03 16:04:30 +00:00
bringert e4ab0e274b Note that darcs 1.0.9 has controlmaster problems. 2007-10-03 13:13:27 +00:00
aarne 7933d12f06 uncurrying performed in CheckGFCC 2007-10-03 11:49:46 +00:00
aarne 156d0e321e marked alternatives for compiling tables 2007-10-02 21:01:38 +00:00
aarne 8fc4f7b1fd more debugging of GrammarToGFCC 2007-10-02 13:44:52 +00:00
aarne dabf5d1ee0 gfcc from GF now works for LangEng (except literals) 2007-10-02 11:15:00 +00:00
aarne 2202cf3ef5 test for gfcc 2007-10-02 05:57:57 +00:00
aarne f72e601d12 work with GrammarToGFCC, not complete 2007-10-01 20:14:23 +00:00
aarne 82754178db more tc of gfcc 2007-10-01 13:18:43 +00:00
aarne 3b4ee92cbe started CheckGFCC 2007-09-28 13:42:50 +00:00
bringert 5fedbc53ae Started on a stub GFC.Main 2007-09-28 13:27:12 +00:00
bringert 64b7683ee4 Removed giant comment and add help message function to GF.Devel.GFC.Options. 2007-09-28 13:12:55 +00:00
bringert 00ec603bf6 Implemented lots of command-line options in GF.Devel.GFC.Options. 2007-09-28 13:10:09 +00:00
aarne 7d7702c375 order of FCFGS in shell state. 2007-09-28 07:06:53 +00:00
aarne b94cb32a04 disambiguate Err 2007-09-26 21:55:53 +00:00
kr.angelov 890b4ca7e0 don't try to search for argument that has been already found 2007-09-25 14:57:14 +00:00
kr.angelov bb8e7d2d58 whitespace only 2007-09-25 14:56:46 +00:00
kr.angelov 6613d5f40a simple optimization of the parser that makes it about two times faster 2007-09-25 12:59:25 +00:00
kr.angelov 286851b7c0 remove the dependency to GF.Data.Operations from GF Embed API 2007-09-25 05:55:49 +00:00
kr.angelov c6c7557b13 merge FCFGParsing with GF.Parsing.FCFG 2007-09-24 14:36:19 +00:00
kr.angelov 9222e4d34c Update GFCCAPI after the removal of FTypes and the FCFG lexer 2007-09-24 08:58:46 +00:00
kr.angelov b109169441 move the FCFG lexer to FCFG.Active where it should have been. It was a hack anyway 2007-09-24 08:56:37 +00:00
kr.angelov 36e091d0a1 remove FCFG folder 2007-09-24 08:19:29 +00:00
kr.angelov 6aacec3591 remove FTypes module and move all definitions to Formalism.FCFG 2007-09-24 08:12:11 +00:00
kr.angelov 0cd5e62e83 remove some redundant dependencies from FCFG 2007-09-23 20:01:25 +00:00
aarne f17728ee55 correctly recognize some parameter records for gfcc 2007-09-21 20:36:43 +00:00
aarne 190066725f trying to get rid of RP 2007-09-21 14:23:30 +00:00
aarne 8dcfb978ef error msg in SimpleToFCFG.convertCon 2007-09-21 13:02:35 +00:00
aarne 0260265de0 fixed reading argvars from gfc in gf-to-gfcc 2007-09-21 12:00:31 +00:00
aarne 73ef8309ab gfcc generation in gfc works for some grammars 2007-09-21 09:15:14 +00:00
bringert 470038e017 Started working on gfc command-line options. 2007-09-21 10:30:00 +00:00
aarne 58d34eca14 gfc --make now works 2007-09-21 07:37:47 +00:00
aarne 58a87653cc compiler "gfc" in GF/Devel 2007-09-20 22:37:09 +00:00
aarne 6e4104ffa9 compact printing of gf files 2007-09-20 21:51:54 +00:00
bringert 46013f103c Restored the GFCC.cf from before the patch "simplify GFCC syntax". This is the version that the exisiting code actually uses, except for the two cases of Int instead of Integer. 2007-09-20 15:20:44 +00:00
bringert 5f5d4b2cbe BNFC doesn't have an Int type. 2007-09-20 14:33:53 +00:00
aarne 8eadf828a9 math with gfcc 2007-09-20 13:31:24 +00:00
aarne 74ad9aa2fd printing GSyntax with GFCC trees 2007-09-20 13:26:59 +00:00
aarne 8bf5ff0a94 embedded parser in MultiGrammar in GFCCAPI 2007-09-20 09:48:50 +00:00
aarne 3707eb4576 refactored FCFG parsing to fit in GFCC shell 2007-09-20 09:10:37 +00:00
aarne ef389db569 started extending GFCC API with parsing 2007-09-19 16:48:13 +00:00
aarne aff4aa20c1 repaired JS generation after GFCC changes 2007-09-19 14:10:04 +00:00
aarne 7825a1a1c5 adapted GFCC2FCFG to other uses of GFCC, made it to default parser 2007-09-19 13:49:12 +00:00
kr_angelov a886f7042b remove trace 2007-01-11 19:19:46 +00:00
kr_angelov 1e6af79046 remove trace 2007-01-11 19:17:36 +00:00
kr_angelov ccc248eb20 fix aliases handling 2007-01-11 19:16:36 +00:00
kr_angelov fad6869ffe remove all fromIntegral calls 2007-01-11 12:48:31 +00:00
kr_angelov 3f183ce821 GFCC to FCFG conversion 2006-12-28 16:45:57 +00:00
kr_angelov 041c00abf3 sync with GFCC changes 2006-12-28 16:45:21 +00:00
kr_angelov 48b4e3de1d simplify GFCC syntax 2006-12-28 16:35:16 +00:00
bringert 46c8026b9d Include startcat in generated JavaScript. 2007-09-19 08:58:39 +00:00
aarne c27087d14d bud fix in reading gfc without gfr 2007-09-17 06:58:41 +00:00
aarne 133b716338 strict reading of files; bug fix in readFiles in ShellState 2007-09-16 20:52:27 +00:00
bringert e8d2281684 make (all) in src now compiles the resource grammars. 2007-09-13 08:27:48 +00:00
aarne c9f8961a9e last adjustments of examples before course 2007-09-12 21:03:00 +00:00
aarne fff6afd438 afternoon quarter past 2007-09-12 18:04:03 +00:00
aarne 2cacf21260 70h to 70min 2007-09-12 12:09:40 +00:00
aarne ff6e9688f4 course time plan 2007-09-12 12:05:19 +00:00
aarne eacd8e0870 cygwin linked from download 2007-09-12 09:42:08 +00:00
aarne fd3339610d install instructions updated 2007-09-12 09:12:42 +00:00
aarne 902b1f3afc bug fix in import reading (had forgotten gfr) 2007-09-12 07:53:54 +00:00
aarne 1d40350b6e refs for book 2007-09-11 13:13:48 +00:00
aarne e68a4c82a7 comented ExtFoods 2007-09-06 13:06:22 +00:00
aarne 10f621045a ExtFoods for book 2007-09-06 11:34:53 +00:00
aarne 238764e1be download 2007-09-06 07:21:05 +00:00
aarne 2d86f7a739 transfer exx 2007-09-05 18:08:16 +00:00
aarne d2a5148708 modernized parser in EmbedAPI 2007-09-05 14:05:42 +00:00
aarne e2b9657f79 cleaned up Calculator example 2007-09-04 20:51:26 +00:00
aarne 6150508b4e new precedence lib 2007-09-04 18:14:36 +00:00
aarne 713fb9122c CP 2007-09-04 14:15:43 +00:00
aarne e9985271e2 div 2007-09-04 07:57:50 +00:00
aarne 14f185d326 calculator ex 2007-09-03 19:21:50 +00:00
aarne ee9416d523 these,those in Constructors 2007-09-03 13:54:44 +00:00
aarne 8118cc46ed Ita Eng 2007-09-03 08:46:34 +00:00
aarne f46317e010 updated quick start 2007-09-03 08:42:10 +00:00
aarne c99fdc5f79 Ita in res 2007-09-02 21:04:24 +00:00
aarne 2ad038e204 resource using exx revised 2007-09-02 19:53:55 +00:00
aarne 545bcc10ac moved away book 2007-08-31 12:11:35 +00:00
aarne d120187c59 course update 2007-08-31 07:04:50 +00:00
aarne e354002039 chaps 1-4 2007-08-30 13:37:15 +00:00
aarne fafc01d390 introductions to chapters 2007-08-29 12:07:58 +00:00
aarne 97908d4a1c patches to forthcoming chapters 2007-08-29 10:02:48 +00:00
aarne 0a2e24493e appendices to the book 2007-08-29 09:00:50 +00:00
aarne 5a6d513a0e chap on syntax and morpho 2007-08-28 20:44:41 +00:00
aarne 8747b74524 section on cf grammars 2007-08-28 14:10:01 +00:00
aarne 0e13ca8d5a intro revised 2007-08-28 13:40:13 +00:00
aarne 5c8535f8bb chapter on parameters 2007-08-26 18:21:33 +00:00
aarne bc3dca6861 generation bug fix 2007-08-26 07:56:46 +00:00
aarne f55a6f6bcc at 2007-08-21 07:22:07 +00:00
aarne c5b6e6d3b0 at 2007-08-21 07:21:29 +00:00
aarne 388ea13bdf mailing list 2007-08-21 07:20:23 +00:00
aarne 53bb4aea74 oops oops 2007-08-20 13:14:23 +00:00
aarne 608c52f068 oops- wrong link 2007-08-20 13:13:22 +00:00
aarne e685c4cfa8 updated course description with schema 2007-08-20 13:10:23 +00:00
aarne 599ddcfe91 section on agreement 2007-08-16 21:35:11 +00:00
aarne 3737b99266 foods example moved and completed 2007-08-16 20:12:45 +00:00
aarne f109a7089d book in separate file 2007-08-16 16:23:30 +00:00
aarne 6234e536f6 moved tutorial examples to GF/examples 2007-08-16 16:18:54 +00:00
aarne 5f0e8a16ec improving mini res morpho 2007-08-16 14:10:06 +00:00
aarne 1f342b2c25 prepared mini syntax example 2007-08-16 09:41:00 +00:00
aarne 69129be4b2 book style 2007-08-15 16:36:31 +00:00
aarne 55347bab45 restructured middle part of tutorial 2007-08-15 10:17:50 +00:00
aarne 76c14c4a2c Hello grammars in tutorial 2007-08-14 14:09:25 +00:00
aarne bc1c5a6a09 new tutorial version started 2007-08-13 15:54:41 +00:00
aarne c448c7ed7c better packages built with make binary-dist 2007-07-08 19:46:55 +00:00
aarne 07812ba399 g to G 2007-07-08 18:45:22 +00:00
aarne 057eadd57e name of the link 2007-07-08 18:44:02 +00:00
aarne 877b9d8cc0 link to tmp-download 2007-07-08 18:43:20 +00:00
aarne e151ecd2ed G to g 2007-07-08 18:41:50 +00:00
aarne 373180df83 tmp download 2007-07-08 18:38:09 +00:00
bringert 0c05a33d82 Use darcs dist instead of darcs get in make dist. This should get around the problem with partial repositories. 2007-07-08 18:32:45 +00:00
aarne 26fba29746 those links to tutorial... make grammar-dist 2007-07-08 17:25:03 +00:00
aarne 8452026f58 links to tutorial in index 2007-07-08 17:11:52 +00:00
aarne fcfd62fc63 doc tut in pdf 2007-07-08 16:55:18 +00:00
aarne 139fe7b6a5 updated doc 2007-07-08 16:53:52 +00:00
aarne 23d8ebeb26 tutorial in final form 2007-07-08 16:36:56 +00:00
aarne 3627875fa8 handle unknowns words graciously in parseAny 2007-07-08 13:55:00 +00:00
aarne ba70611669 peb's forest patch 2007-07-08 12:43:07 +00:00
aarne 08f5f513d7 Updated version numbers. 2007-07-08 12:36:30 +00:00
aarne bb423658aa new tutorial almost finished 2007-07-06 15:37:32 +00:00
bringert bece5b2974 Nicer mkDet usage in Toy0I 2007-07-06 12:03:47 +00:00
bringert 51cba70815 Use compiled.tgz in dist and install-lib. 2007-07-05 12:25:00 +00:00
bringert 2938c2082d Set build variable in config.mk 2007-07-05 12:23:39 +00:00
aarne 1aff0ee08a resource-food example in tutorial 2007-07-05 20:52:56 +00:00
aarne 63f060dcf6 hacky solution to name resolution warnings 2007-07-05 14:08:58 +00:00
aarne 4d228365ac updated gf-modules 2007-07-05 09:58:52 +00:00
bringert 7ef52f7cc8 Changed dist target to work with current darcs version. 2007-07-04 15:38:42 +00:00
bringert 849561bb18 Added lib target to src/Makefile. It builds all the resource-1.0 modules. 2007-07-04 15:30:07 +00:00
aarne 2b5197d61d tutorial exercises; put libdir in place in GF/src 2007-07-04 14:10:41 +00:00
bringert 51d3ade165 Install compiled resource modules in source and binary installs. 2007-07-04 13:27:22 +00:00
bringert 5e58041cfd Remove old VCS configure flags. 2007-07-04 13:27:04 +00:00
bringert 7114ca47af Fixed NOINLINE bug in Today.hs 2007-07-04 13:26:17 +00:00
aarne 74bb2ffdf3 extended Synopsis with categories, structural, and an example 2007-07-04 09:39:24 +00:00
bringert 39de0bca42 Build GF/Today.hs directly from Makefile. Include libdir. 2007-07-04 12:49:01 +00:00
bringert 0f8ef7432c Fized some typos in Toy1. 2007-07-04 11:27:06 +00:00
aarne 173da349b4 documentation for tutorial appendix 2007-07-03 16:32:54 +00:00
aarne 3e174603ab contents of new tutorial 2007-07-03 15:29:23 +00:00
aarne 064df9267c started next version of tutorial 2007-07-03 15:28:50 +00:00
aarne e0071bc69c generalized MakeOverload to TreeSelections 2007-07-03 07:11:30 +00:00
aarne 6fc3bbd457 parsing overloaded constructors as result 2007-07-02 13:58:02 +00:00
aarne c7f488b11e contravariance in forgiving lock fields 2007-07-02 11:53:04 +00:00
bringert da6e0efc11 CFRules tracing. 2007-06-28 01:26:09 +00:00
bringert cbf851b516 -printer=regexp handles precedence 2007-06-28 01:25:36 +00:00
bringert af45f33d51 bottom-up and top-down filtering do not need fix point iteration. 2007-06-27 17:46:34 +00:00
bringert af36dcf13d Refactor TransformCFG: use Map for CFRules. 2007-06-27 17:22:59 +00:00
bringert bb09506ece Make bottomUpFilter better by also removing categories which contain no finite strings. 2007-06-27 16:27:55 +00:00
bringert 92b1b85a1f Print SRG stats when preprocessing grammar. 2007-06-27 16:27:08 +00:00
bringert c3c84f6574 Comment out tracing in CanonToGFCC. It produces lots of junk when generating SRGs. 2007-06-27 15:39:42 +00:00
bringert 2ff350ae59 Use shorter lines and paragraph-filling in SRGS, JSGF and GSL printing. 2007-06-27 14:25:39 +00:00
bringert e7787025f6 The no-functor toy0 english now uses N for Noun. 2007-06-27 13:00:09 +00:00
bringert a22de1a9f6 Cleaned up names and paths in toy0 grammars. 2007-06-27 12:50:42 +00:00
bringert ab99a1f89a Added no-functor version of Toy0Eng.gf 2007-06-27 12:42:25 +00:00
bringert 8a223031b5 Added english and french parameterized toy0 cocnrete sytnaxes. 2007-06-27 12:40:25 +00:00
bringert 54d5325171 Moved the different versions of the toy0 concrete modules to different subdirectories. 2007-06-27 12:38:24 +00:00
aarne 67857cb146 resource synopsis 2007-06-27 11:03:56 +00:00
bringert 43128f80e6 Limit GSL/JSGF/SRGS ABNF grammar line width to 80. 2007-06-27 09:07:51 +00:00
aarne 48b477037d example-based Toy0 2007-06-27 08:23:45 +00:00
bringert 3b93e0ffe2 Fewer redundant parantheses in JSGF and SRGS ABNF. 2007-06-26 16:51:09 +00:00
bringert 99ac3f8d73 SRGS XML: the meta tag should use empty tag short-hand. 2007-06-26 15:20:32 +00:00
bringert 88653403fc Oops, I had managed to remove the preprocessing step in makeSimpleRegular, which broke SLF and non-rec SRGS generation for grammars which need bottom-up filtering. 2007-06-26 15:09:48 +00:00
bringert 3371605af0 Eliminate more redundant item tags in SRGS XML. 2007-06-26 12:27:46 +00:00
bringert 7eaa2af27c Produce less verbose SRGS XML, by eliminating redundant item tags. 2007-06-26 12:19:30 +00:00
aarne 8e012e656d example Toy0Fin0 2007-06-26 08:39:45 +00:00
bringert 22ef3cbc04 Implement makeNonRecursiveSRG by conversion through MFA instead of directly to RE. 2007-06-25 16:50:28 +00:00
bringert eb9a6f7c73 Added srgs_abnf_non_rec. 2007-06-25 16:50:00 +00:00
bringert b17e74bca5 Document non-recursive SRGS. 2007-06-25 16:49:36 +00:00
bringert 862c780f78 Some clean-up in finite-state network generation: MFA now keeps track of start lattice name, instead of having a wrapper lattice. Replaced MFALabel with Symbol. 2007-06-25 16:25:58 +00:00
bringert b086183c0f Added non-recursive SRGS printing. 2007-06-25 13:39:26 +00:00
bringert 2b63a89569 Some refactorings needed for recursion removal. 2007-06-25 13:38:40 +00:00
aarne f081dc0d6b prepared examples for Speechgram presentation 2007-06-25 15:33:40 +00:00
bringert 16bfb1250b Added makeSRG. 2007-06-21 13:40:13 +00:00
bringert 336273c534 SRG always has RE rhs. 2007-06-21 13:11:26 +00:00
bringert bff87e513a Removed some unused imports of GF.Speech.SRG. 2007-06-21 12:52:59 +00:00
bringert 6968004f19 Added regexps grammar printer. This is a first step towards recursion-free SRGS. 2007-06-20 16:08:23 +00:00
bringert 91dcc27668 Added language flags to bronzeage grammars. 2007-06-20 12:22:28 +00:00
aarne badae80454 restricted functor example 2007-06-19 19:35:04 +00:00
aarne 780276850c documented extended module syntax 2007-06-19 18:21:43 +00:00
aarne e3f1210369 extended functor syntax 2007-06-19 18:12:35 +00:00
aarne f30fa0b4d1 overload res doc examples, part 2 2007-06-19 18:09:49 +00:00
aarne 6a926ee3fc overloaded resource doc examples 2007-06-19 18:07:18 +00:00
aarne 05d12d86fe started overloaded Fin 2007-06-19 09:29:43 +00:00
aarne e3a0c60e89 updated resource doc intro with overloaded examples 2007-06-19 09:04:22 +00:00
aarne 632a7d3017 fixes to make resource Makefile to run without errors 2007-06-18 21:44:50 +00:00
aarne c212633be8 fixed the mysterious "file..gfc" error 2007-06-18 21:21:13 +00:00
aarne 6b99696e86 updated document for numerals 2007-06-18 19:25:35 +00:00
aarne c4d855e64d disambiguating qualifications in Bronzeage 2007-06-18 19:14:32 +00:00
aarne 6090012fa2 overloading in ParadigmsFre 2007-06-18 18:31:02 +00:00
aarne ed5b02d4aa checking name conflicts; some RGs don't work now 2007-06-17 21:56:27 +00:00
aarne 4704c68b34 marked deprecated productions in GF.cf 2007-06-17 14:16:01 +00:00
bringert a27643baed Added a simple cabal build system for the embedded API. 2007-06-14 16:08:38 +00:00
bringert 3edaa60988 Move some type annotations from patterns to expressions. Haskell 98 does not allow type signatures in expressions. 2007-06-14 16:02:07 +00:00
bringert 1fa928516c Added OPTIONS_GHC -fglasgow-exts to files that use GHC extensions. 2007-06-14 15:58:36 +00:00
aarne 75a9ea71a2 toy1 with classes and using resource API 2007-06-11 14:53:08 +00:00
aarne 2b438a6284 toy1 in English 2007-06-11 08:55:32 +00:00
aarne a22871d074 initial check for unknown words in parsing 2007-06-11 07:49:30 +00:00
aarne 2353e930e3 README for regulus 2007-06-10 20:28:12 +00:00
aarne 0f3d06022e started regulus grammar implementation 2007-06-10 19:55:45 +00:00
aarne fb730a75b5 bug fix in Compute 2007-06-09 14:08:23 +00:00
aarne 2949a973d0 some new shortcuts in Compute; no impressive results 2007-06-08 16:55:25 +00:00
aarne 695f30725f restructured Russian; copies of Constructors in present and alltenses 2007-06-08 15:30:21 +00:00
aarne ebf1d19e15 some new overload cases in ParadigmsEng 2007-06-08 14:38:02 +00:00
aarne ef9174e35d pattern matching optimization; trace of fun in compilation with -v 2007-06-08 12:50:01 +00:00
aarne 06acca1f67 syntax interfaces 2007-05-31 18:46:29 +00:00
aarne e7b7def313 resource doc in tutorial 2007-05-31 13:43:46 +00:00
aarne 76268417db overload checking and messages; resource.txt modifs 2007-05-31 09:58:38 +00:00
aarne 93b4888b78 further work on tutorial 2007-05-30 19:29:24 +00:00
aarne ebfbf32310 freshed up the tutorial 2007-05-30 12:59:52 +00:00
aarne 5234727cec new bib items 2007-05-29 08:24:42 +00:00
aarne f1627e9912 Dan and Nor missing forms 2007-05-24 14:43:44 +00:00
aarne 3aeaa86460 some new bib entries 2007-05-17 21:09:45 +00:00
aarne 035689f8c7 started direct compiler from GF to GFCC 2007-05-15 16:35:13 +00:00
aarne 8af473a6f5 param values for TInts in Canon.Look 2007-05-11 13:57:34 +00:00
bringert eb89dc2dfe Fixed < > encoding in int parameter example in gf-history. 2007-05-11 13:35:43 +00:00
aarne 97462f7e83 ids for GF rather than BNFC in AbsToBNF 2007-05-10 14:06:45 +00:00
bringert e4ef09f6aa Added haskell_gadt -printer. It does not include a Compos instance yet, so it's not terribly useful. 2007-05-10 13:56:41 +00:00
aarne 278a0ab45d printing abs as BNF 2007-05-10 12:51:40 +00:00
aarne e63fcd0a1f ref to Bj?rn's paper 2007-05-04 09:54:32 +00:00
aarne 3a51d58ff3 Ali's new paper added to refs. 2007-05-04 09:49:25 +00:00
aarne 8e324fc97d gf-bibliography extended and converted to txt source 2007-05-04 08:23:37 +00:00
aarne 5f2121e181 removed the Str/Tok distinction in CheckGrammar - obsolete anyway. 2007-05-03 13:55:34 +00:00
bringert 94d4ec728c Fixed use of -unlexer in EmbedAPI. Before, EmbedAPI.linearize ignored the flags in the grammar. 2007-04-21 16:20:02 +00:00
aarne fcbc004aa6 record labels in compiler experiment 2007-04-20 15:36:33 +00:00
aarne fc2c3cf057 bib entry 2007-03-31 15:53:36 +00:00
aarne b072f0e668 bracket 2007-03-29 14:11:14 +00:00
aarne 1713c5e146 links in gf course 2007-03-29 14:09:53 +00:00
aarne 0cabdd518e I want phrases in thai travel 2007-03-28 14:40:29 +00:00
aarne fd518ed2a3 primitive pattern matching 2007-03-27 20:54:49 +00:00
aarne 7c30d211c3 distinct form for opers that have no value 2007-03-27 16:40:54 +00:00
aarne 1c1acf1b97 top-level toy compiler - far from complete 2007-03-27 16:32:44 +00:00
bringert 273dc7120f Nicer formatting of generated GSL. 2007-03-27 10:21:16 +00:00
aarne 22c4a046e7 started eval 2007-03-26 21:13:37 +00:00
aarne b36f70e6fd toy target language 2007-03-26 21:02:30 +00:00
bringert 5abf240a98 Remove all empty SLF nodes, don't care about edge explosion. Empty nodes are pprobably worse than lots of edges. 2007-03-26 17:36:58 +00:00
bringert 3797cfd11e Use EBNF compaction for GSL. 2007-03-26 14:51:24 +00:00
bringert 5faf418f4e Fixed SISR bug. 2007-03-26 13:12:04 +00:00
aarne 48b8a1345a param encoding 2007-03-25 19:16:47 +00:00
bringert 005ad917d9 Added directly cyclic SRG test case. 2007-03-25 16:44:30 +00:00
bringert 90ddf726c1 Give SRG test cases human-readable names. 2007-03-25 16:42:52 +00:00
bringert de0ca9f533 commented LC_LR modification 2007-03-25 16:34:53 +00:00
bringert 4490e256a8 Also remove indirectly cyclic productions. 2007-03-25 16:34:35 +00:00
bringert 80ea351e5e Removed srg0006, it was a duplicate of srg0002 2007-03-25 16:34:11 +00:00
bringert 85072fb6b2 Added srg0006: A grammar with a cycle caused by an empty production. 2007-03-25 16:11:51 +00:00
bringert 4331167011 Comments only. 2007-03-25 11:26:03 +00:00
bringert ed1e7f4485 SRG generation: merge categories with identical set of productions. The LC_LR algorithm produces lots of those, especially when there is little inflection. 2007-03-24 23:29:38 +00:00
aarne 436ddd5ebf simple source language for compiler experiment 2007-03-24 23:11:59 +00:00
bringert 4fdc0b598a Modified the LC_LR implementation to only produce rules using A-X categories when those categories have any productions. 2007-03-24 17:30:04 +00:00
bringert 61456fd9ca Better debugging output when SRG generation crashes because of a missing category. 2007-03-24 17:26:21 +00:00
bringert 2885cfc5ac Just renaming in srg0005 2007-03-24 17:25:07 +00:00
bringert eca7f691a6 Shrunk srg0005 2007-03-24 15:48:29 +00:00
bringert 407b4bea9c More srg test cases. 2007-03-24 15:34:33 +00:00
bringert e52adbde2e Added srg0004: a simple left-recursive grammar. 2007-03-24 15:13:18 +00:00
aarne 45f7684de1 components 2007-03-23 18:28:26 +00:00
aarne 25d4b89798 gf course description 2007-03-23 18:27:05 +00:00
bringert 5dc92edbb0 Added srg0003: test case for indirect cycles. 2007-03-23 18:13:38 +00:00
bringert ccb76f5da0 Uncommented troublesome rules in srg0002 2007-03-23 18:10:21 +00:00
bringert 94813f9ffb Added test case which demonstrates a bug with implicit left recusion in SRG generation. 2007-03-23 18:09:22 +00:00
bringert 7ae2e01678 Remove removeIdenticalRules, since it would get rid of alternative parse results. 2007-03-20 22:09:17 +00:00
bringert 00e681aee8 Do the same initial transformations as for CFGs when generating FAs: remove cycles, identical rules and down top-down and bottom-up filtering. 2007-03-20 22:00:50 +00:00
bringert 50614d399a Do top-down and bottom-up filtering together to a fixed point. 2007-03-20 21:59:36 +00:00
bringert fa33c22e07 Moved code and comments around in TransformCFG. 2007-03-20 21:35:24 +00:00
bringert a8d356d599 Renamed removeEmptyCats to bottomUpFilter. 2007-03-20 21:15:59 +00:00
bringert fbe8282027 Removed dead export list. 2007-03-20 21:15:43 +00:00
bringert 2230a28e21 Removed fixed FIXMEs. 2007-03-20 21:15:26 +00:00
bringert 3dacf21a41 Use makeSimpleSRG everywhere and remove makeSRG. Reimplemented top-down filtering in terms of CFRules instead of SRG. Do top-down filtering in makeSimpleSRG. 2007-03-19 18:03:19 +00:00
aarne 232c9cbb37 thai phrase translator 2007-03-16 16:23:39 +00:00
aarne f7ce8940fa ma -status; sep lines for l -all 2007-03-14 12:11:18 +00:00
aarne 98fcad148e bib entries 2007-03-01 20:10:25 +00:00
aarne 6248b4a1c7 model for resource 2007-02-28 15:49:13 +00:00
aarne b789031396 parsing method in EmbedAPI 2007-02-28 10:37:37 +00:00
aarne 016d43e26b cc output as pipable string 2007-02-24 09:16:30 +00:00
aarne 5264780e67 cc -table 2007-02-23 16:28:06 +00:00
aarne 1d803dff10 essential LP phrases, pron table 2007-02-17 21:44:42 +00:00
bringert d9e0521c58 VoiceXML generation: the grammar file name should be based on the concrete syntax module name rather than the abstract. 2007-02-16 21:29:01 +00:00
aarne 70eb2d2ace urdu 2007-02-14 14:29:15 +00:00
aarne b34aa07eaa catalan resource 2007-02-13 15:43:36 +00:00
aarne 5ec56ac60b thai word list corrections 2007-02-11 22:15:37 +00:00
aarne 058bf604d0 thai diphthong table 2007-02-11 21:34:10 +00:00
bringert a24166ac25 Handle coercion functions (_) in CFG generation for SRG. 2007-01-29 12:30:49 +00:00
bringert 32d94e908c Removed CFConst constructor, since it was unused. 2007-01-29 12:21:15 +00:00
bringert fef4d56e71 Document CFTerm constructors. 2007-01-29 12:20:31 +00:00
aarne 2a25794c8f produce a readable word list 2007-01-25 17:49:39 +00:00
bringert feef66421e No spaces after newlines in JavaScript pretty-printer. 2007-01-23 16:31:44 +00:00
bringert 02c5dbd04a Rename children to args in VoiceXML/SISR/JavaScript. 2007-01-22 20:48:14 +00:00
aarne e226a377d6 thai questions and negations 2007-01-21 20:41:35 +00:00
bringert abeb18fb20 Use _cat category as root in SRGS ABNF and JSGF. SRGS XML already did this. 2007-01-21 17:10:10 +00:00
bringert 71111e0a7c Nicer spacing and indentation in JavaScript pretty-printer. 2007-01-21 17:00:15 +00:00
bringert 169659c096 Get speechLanguage flag from both command-line and grammar. Reformat it to RFC3066 format (- instead of _) and use it in SRGS, VoiceXML and JSGF. 2007-01-21 16:33:44 +00:00
bringert b974ab06cd SRGS ABNF generation: semicolon after meta decls, no $NULL before initTag since the standard doesn't require it, and it crashes Opera, include tag-format declaration. 2007-01-21 16:01:36 +00:00
bringert 95d3fb5818 Added SRGS ABNF printers to HelpFile. 2007-01-21 15:12:34 +00:00
bringert 59a80fea3e Removed the srg value for pg -printer. Users should use pg -printer=srgs_abnf instead. 2007-01-21 15:10:49 +00:00
aarne 70e3891cd5 started thai resource 2007-01-21 14:17:29 +00:00
bringert d06cd9cf06 Removed the old srg printer, which produced SRGS ABNF. 2007-01-19 17:09:20 +00:00
bringert f61d7b6674 Don't print compile date in SRGS XML grammars. 2007-01-19 17:05:07 +00:00
bringert cae872e75a Added SRGS ABNF generation. 2007-01-19 17:04:32 +00:00
aarne 7e240a69c3 bibliography entries in doc 2007-01-19 16:03:57 +00:00
bringert aa16ddc912 VoiceXML: use block cond instead of field expr. For some reason the field expr doesn't work right in Opera. 2007-01-18 17:58:40 +00:00
bringert 6d19a584ea VoiceXML generation: cleaned out some old cruft. Use simpler names for variables and fields in forms. 2007-01-18 17:29:44 +00:00
bringert c3ec3eb465 Disable help and reprompt stuff in VoiceXML generation, to make nicer looking VoiceXML. They didn't really add much anyway, since there is no help generation yet. 2007-01-18 16:50:29 +00:00
aarne 6c9ddcda8b fix in etaexpand optimization 2007-01-11 11:42:39 +00:00
aarne 46994dec58 a slight optimization in eta expand 2007-01-10 21:27:15 +00:00
aarne 935594eb86 semantics of variants 2007-01-10 21:03:18 +00:00
aarne 0882e5eac2 thai phrasebook example started 2007-01-09 14:53:19 +00:00
bringert 159f6515f7 Sort rules in CFGM files by category and function. 2007-01-08 17:50:24 +00:00
aarne 3978840d5a some changes in Thai coding 2007-01-08 17:25:37 +00:00
aarne 5ac9974085 thai pronunciation better now 2007-01-08 16:12:27 +00:00
bringert 998c20d098 Use ENBF to generate SRGS. 2007-01-07 23:58:41 +00:00
bringert 118468ce16 Added ETag constructor to GF.Data.XML.XML since not all tags can use the empty shorthand. 2007-01-07 23:57:29 +00:00
bringert a68944ade0 Added test/ directory, and a test grammar for the SRG EBNF generation. 2007-01-07 23:18:12 +00:00
bringert 1b8bc71b28 Fixed bug in SRG EBNF generation. Before it assumed that all variation came from variants, and overgenerated if this was not true. 2007-01-07 23:16:32 +00:00
aarne d18ccbf02e thai pron heuristic (not finished) 2007-01-07 22:49:55 +00:00
bringert 090bb30466 Generate more compact JSGF by converting to ENBF. 2007-01-07 20:04:39 +00:00
bringert 7c80aca735 VoiceXML generation: catch up with children array in SISR. 2007-01-07 18:31:03 +00:00
bringert 2121362124 Added unused simple VoiceXML generation. It won't work in Opera because of the lack of subdialog srcexpr attribute support. 2007-01-07 17:19:58 +00:00
bringert 37760cb24c JavaSscript and SISR abstract syntax now uses an array for the node children, instead of cheesy argN fields. 2007-01-07 17:18:50 +00:00
bringert efb806f226 SISR code now type annotates meta variables directly in grammar, to avoid a separate type annotation step. 2007-01-05 17:34:44 +00:00
bringert 36a1998ba3 Use the GFCC type from DataGFCC when building VoiceXML. 2007-01-05 17:05:31 +00:00
bringert 4a5b088f78 Use GFCC to build VoiceXML. 2007-01-05 16:46:50 +00:00
bringert 76b852f510 VoiceXML printer no takes Options and StateGrammar, like SRG printers do. 2007-01-05 15:47:53 +00:00
bringert 6ee7296f9d Changed all SRG printer to take Options and StateGrammar arguments. This makes Custom a lot cleaner. 2007-01-05 15:38:47 +00:00
bringert 741dde5a2a Change input to the different SRG printers to be StateGrammar instead of CGrammar. This to allow looking at the types in SISR, and to reduce the number of argument passed from Custom. 2007-01-05 14:34:20 +00:00
bringert 2b1c6763cc Commented out callbacks stuff in VoiceXML generation. It was not the right thing to have. 2007-01-04 22:40:06 +00:00
bringert 2497093a5e SISR: top categories do not need the Cat_field field. 2007-01-04 20:55:13 +00:00
bringert bead866673 SRG: when making top-level categories, handle value categories introduced by -conversion=finite. 2007-01-03 23:14:10 +00:00
bringert 7577149241 SISR: constants from conversion=finite now produce abstract syntax nodes instead of strings. 2007-01-03 22:57:20 +00:00
bringert bf8b078a7a Updated another reference to "Regular approximation of CFLs: a grammatical view" 2007-01-03 18:28:25 +00:00
bringert 8aa283aebd VoiceXML: when checking the callbacks, use typeof to avoid errors with Opera 9.10. 2007-01-03 18:17:52 +00:00
bringert b1cde222bf Updated reference to regular -> FA conversion. 2007-01-03 18:17:32 +00:00
bringert 475d535651 Use printname to make VoiceXML prompts. 2006-12-28 17:12:40 +00:00
aarne 1ab879764a thainum script 2006-12-28 14:36:21 +00:00
aarne 83c5b57615 corrections in thai numerals 2006-12-28 14:30:25 +00:00
aarne cef20174f6 more thai transliteration; numeral thai grammars 2006-12-28 13:16:05 +00:00
aarne f74d2e3928 update release procedule; start Thai transliteration 2006-12-27 14:05:21 +00:00
aarne a1cccd7076 fixing examples and their doc 2006-12-22 14:08:01 +00:00
aarne 3a84f614a9 documented Combinators 2006-12-22 13:10:48 +00:00
bringert 7abd4c00a2 Added gfcc2c to GF repo. 2006-12-22 13:43:32 +00:00
bringert a335b29c0a Meta variables are now treated as functions with name ? in SISR, VoiceXML and JavaScript linearization. VoiceXML now returns the partial result when update() is false. 2006-12-21 16:48:46 +00:00
bringert 51df5b8a8d Added voicexml,javascript,jsgf+sisr to gf-history and helpfile. 2006-12-21 15:00:30 +00:00
aarne ed46bb1364 length test in overload 2006-12-21 10:38:26 +00:00
aarne fd90fe0791 overload rules and their documentation 2006-12-21 09:25:02 +00:00
bringert 15fd1d590a Generate JavaScript type annotator. Use lindef in JavaScript. 2006-12-21 00:01:45 +00:00
bringert 7cceec0802 Fixed (final?) two bugs in the SISR generation. 2006-12-20 22:13:56 +00:00
bringert 514a8d6afa More JSGF pretty-printing. 2006-12-20 21:50:16 +00:00
bringert 642809fd3b JSGF pretty printing tweaks. 2006-12-20 21:43:41 +00:00
bringert f07b0ef88e Use HughesPJ pretty printer to make JSGF output look nicer. 2006-12-20 21:39:25 +00:00
bringert 0353b7b7cb Make smaller SISR code for tokens. 2006-12-20 20:22:08 +00:00
bringert e74d10952e Removed tracing from PrJSGF. 2006-12-20 20:14:46 +00:00
bringert f9621483a0 Use LCLR algorithm for eliminating left-recursion, with lambda terms in SISR for getting trees right. 2006-12-20 20:10:15 +00:00
bringert c7df9f4167 Added still unused implementation of Moore's LCLR algorithm for left recursion elimination. Fixed top category generation for SRG (included LR-elimination-added categories before). 2006-12-17 19:18:28 +00:00
bringert 4e592d495e Use [] in JSGF printing. 2006-12-17 18:16:20 +00:00
bringert f252bb6090 Some clean-up in GF/Speech/TransformCFG.hs 2006-12-17 13:29:12 +00:00
aarne 0bf909b0fd overload resolution with value type, for experiment 2006-12-19 23:34:36 +00:00
aarne 2f68128323 partial application in overload resolution, with priority for full app 2006-12-19 16:32:15 +00:00
aarne d0b392e318 gfcc with lindef (_dCat) 2006-12-19 15:34:52 +00:00
aarne 08154738fc Koji's bug fixed 2006-12-18 15:25:00 +00:00
aarne 9ab11fe720 debugging AbsCompute 2006-12-17 22:34:03 +00:00
bringert 44af93a9c9 Many fixes to JSGF format (never tested before). Implemented JSGF+SISR. Left recursion removal destroys SISR, must be fixed. 2006-12-17 13:17:17 +00:00
bringert bd4dbfb26b VoiceXML: add _cat and _field to category names, to avoid clashing with javascript built-ins. removed debugging stuff to make maintenance easier. SRGS: changed cate and field names to match the VoiceXML change. 2006-12-16 14:19:04 +00:00
aarne d5e2a0852d key book entry 2006-12-15 16:46:57 +00:00
bringert 215bf61115 Towards smaller SRGs when lots of variants are used. 2006-12-15 16:09:58 +00:00
bringert 1e1401472f Include update function in generated VoiceXML. Generated linearization javaScript now uses the same abstract syntax representation as SISR. 2006-12-15 16:08:39 +00:00
bringert 1f1be57279 Added NOINLINE pragma to Today.hs, to avoid forcing recompilation of modules that depend on GF.Today. 2006-12-15 14:06:42 +00:00
bringert 0b7fef1a33 Use ebnf srg generation in PrSRGS. 2006-12-12 14:01:42 +00:00
bringert 1c8e32e641 Moved profile stuff to GF.Speech.SRG, to allow other SRG formats to include SISR. 2006-12-12 11:59:12 +00:00
aarne b61cd635de Updated version numbers. 2006-12-15 08:12:54 +00:00
aarne fc8884a8a2 fixed some bib entries 2006-12-12 16:20:27 +00:00
bringert 87b66d5205 SRGS generation: don't include debug script stuff if debugging is disabled. Place category comments better. 2006-12-12 10:37:45 +00:00
bringert c07300b86b SRGS+SISR: put tags after items. 2006-12-11 19:41:03 +00:00
aarne 19d5f1b2ea bib entries for the paper 2006-12-11 17:00:47 +00:00
bringert e86aa2deb6 VoiceXML: set xml:lang (value is still fake though) 2006-12-11 16:08:15 +00:00
bringert ce62977188 VoiceXML: print without debugging stuff by default. 2006-12-11 15:20:26 +00:00
bringert c34c26a837 VoiceXML: don't use srcexpr in subdialogs, since Opera does not support that. Also makes fewer subdialogs nows. 2006-12-11 14:47:00 +00:00
bringert 0dc19c3139 VoiceXML: don't use subdialog srcexpr for statically know subdialogs. 2006-12-10 23:32:30 +00:00
bringert c0db56422b Reinstate SISR field name for top-level categories. The VoiceXML generation relies on it. 2006-12-10 23:31:43 +00:00
aarne 7475c2544f some entries in gf-bib 2006-12-11 10:42:19 +00:00
aarne b650359dbc started vr web page 2006-12-11 09:20:59 +00:00
bringert 51ed253c75 Added tag-format attribute to SRGS XML when using SISR. 2006-12-10 20:53:51 +00:00
bringert 7e8d0e49b2 Use public category with original name as SRGS start cat. 2006-12-08 20:10:28 +00:00
bringert a4b0496378 Changed SRGS SISR printing to be closer to the current working draft standard, as supported by the WebSphere implementation (and thus Opera). 2006-12-08 19:53:44 +00:00
bringert c038db9d7c JavaScript generation: compile all concrete syntaxes, not just the first. 2006-12-08 19:53:06 +00:00
bringert 6645233be0 Made generated JavaScript more object-oriented. Moved common JS stuff to lib/javascript/gflib.js 2006-12-06 13:52:24 +00:00
bringert ae43c55ae0 Oops, I broke the gfcc printer. Fixed now. 2006-12-06 11:54:51 +00:00
bringert 18ec82b54d Got GFCC to JavaScript compilation working. Variants are still printed in a weird way. 2006-12-05 22:10:28 +00:00
aarne 3d68f22b95 overload refresh 2006-12-01 17:55:52 +00:00
bringert ba13ff08d2 Added the beginnings of GFCC to JavaScript conversion. 2006-11-30 22:50:25 +00:00
bringert c2ecc9d554 Added tags target for building a TAGS file. 2006-11-30 21:25:23 +00:00
aarne 0c5f2c1288 more in ArithmEng 2006-11-27 21:03:15 +00:00
aarne 8cd9a329fa arithm example 2006-11-27 16:43:57 +00:00
aarne 854fe0aac1 AdvS and for_Prep in resource (except Russian) 2006-11-27 16:21:27 +00:00
aarne a5232f7e5b part of Logic implemented generically 2006-11-27 10:54:26 +00:00
aarne c75688651e a logic library; fix in make mathematical 2006-11-26 17:14:20 +00:00
aarne 13531a66a3 improved error reporting in .ebnf format parser 2006-11-24 17:09:40 +00:00
aarne 35eaaa0da6 rename patterns bug fix 2006-11-24 09:32:16 +00:00
aarne 1d372525ea Constructors documented 2006-11-21 18:18:54 +00:00
bringert 57b39a8475 Fixed typo in Kettil's patch. 2006-11-21 14:14:24 +00:00
Ketil Malde 4615ba447c small fixes for .no numerals 2006-11-21 13:58:57 +00:00
aarne 5c3e14efbc overloading API and examples 2006-11-18 21:10:46 +00:00
aarne 9d1cc07284 normalize record types in overload resolution 2006-11-18 20:54:10 +00:00
aarne 8e07d61ccf overload syntax; type printing in CheckGrammar 2006-11-18 16:54:23 +00:00
aarne 6cee6f0591 gfcc doc url typo 2006-11-17 14:42:34 +00:00
aarne 290dbe823c doc on overloading 2006-11-17 14:39:02 +00:00
aarne 94761f409c example library using overloading 2006-11-17 14:31:29 +00:00
aarne 580f7d7995 oper overloading: first implemenatation using records 2006-11-17 13:40:55 +00:00
aarne 546e778ba8 internal representation for param value index 2006-11-14 19:13:33 +00:00
aarne f10d657df1 bug fix with ** in Evaluation 2006-11-13 23:55:50 +00:00
aarne ae4ba74838 an alternative lookup strategy in Compute 2006-11-13 17:52:58 +00:00
aarne 49c8a52ade robustness to gfcc interpreter ; make gfcc to bin 2006-11-12 20:48:01 +00:00
aarne 52bb034d8e thread EEnv into ShellState 2006-11-12 13:24:13 +00:00
aarne 69dba72a3e i -eval bug fixed: should work now 2006-11-12 11:31:08 +00:00
aarne 0ea31f2601 new compilation phase, not finished 2006-11-10 16:22:01 +00:00
aarne 0958c2e838 experimental new evaluation 2006-11-09 22:07:24 +00:00
aarne d3e1295243 lookup with more information 2006-11-09 22:05:43 +00:00
aarne 2fc97fa6fa took away godis_tram from darcs 2006-11-08 15:14:47 +00:00
aarne c94d5a5f1e corrections in finnish tram 2006-11-08 15:12:35 +00:00
aarne eb3d750459 godis tram grammars, augmented with Fin 2006-11-08 15:08:09 +00:00
aarne 1fd0113015 real parser for Alvey grammar: new version of BigLexEng 2006-11-07 16:38:37 +00:00
aarne e8bad7f7e0 purge in pm 2006-11-07 12:56:16 +00:00
aarne 790ad6d4a5 return ? for nonexistent fun in gfcc 2006-11-03 21:57:37 +00:00
aarne 048ef7d1d1 big lex compiles again 2006-11-03 21:47:56 +00:00
aarne db95cbad6d bew BigLexEng (not ready) 2006-11-03 10:23:06 +00:00
aarne c922c0c488 more accurate BigLexEng (V3 still to do) 2006-11-02 21:45:32 +00:00
aarne 3396a13ee7 new big and shallow modules 2006-11-02 17:04:35 +00:00
aarne b8a454a7d3 shallow grammar experiment 2006-11-01 16:45:07 +00:00
aarne 81b973e197 formal rules in the compilation doc 2006-11-01 09:47:28 +00:00
aarne 264bcfb28e top-level big swedish grammar 2006-10-31 16:49:41 +00:00
aarne a06f512e4b swedish paradigm extensions 2006-10-31 16:34:25 +00:00
aarne daccb10def biglex experiment 2006-10-31 16:33:38 +00:00
aarne 8b753833b5 compilation doc close to final for presentation 2006-10-30 16:43:13 +00:00
aarne f240612ef4 todo in compiler doc 2006-10-23 20:36:40 +00:00
aarne 445f448a6e on module deps in compiling doc 2006-10-23 15:21:02 +00:00
aarne 6b00e78f66 working on gf compiler doc 2006-10-22 14:17:50 +00:00
aarne 6f7617bc72 optimization of RP in gfcc; syntax for lambda 2006-10-22 11:00:38 +00:00
aarne 98e916831a doc on gfcc-lincat 2006-10-19 16:25:55 +00:00
aarne 4b528b6ee2 generated lincat in GFCC 2006-10-19 15:57:44 +00:00
aarne 6c0f599055 compiling examples for doc started 2006-10-18 09:54:17 +00:00
aarne 7dea021ece started compiling-gf 2006-10-18 08:46:44 +00:00
aarne cbedfd152a index news 2006-10-16 14:13:52 +00:00
aarne c3cefb4d48 record order bug fix 2006-10-11 20:44:18 +00:00
aarne 72699f446f italian disamb example 2006-10-10 20:24:15 +00:00
aarne 65fd6edb6c started disambiguation example 2006-10-10 16:43:41 +00:00
aarne 604ec0a8c9 gfcc doc 2006-10-09 07:37:25 +00:00
aarne 5028ea9d9b printing of GFCC 2006-10-07 15:56:54 +00:00
aarne f9cc79eba6 slight change in gfcc syntax and evaluation 2006-10-07 14:08:58 +00:00
aarne 2f284deb1c gfcc.txt almost ready 2006-10-02 19:16:38 +00:00
aarne 514f732d16 removed a silly bug with gfcc generation for multiple languages 2006-10-03 16:10:07 +00:00
aarne 35b9067ed4 more commands in gfcc 2006-10-03 12:59:47 +00:00
aarne 1a86f3bb4c completed gfcc.txt 2006-10-03 09:08:33 +00:00
aarne c8a92c74d0 started documentation of gfcc 2006-10-02 15:40:15 +00:00
aarne 537cacb36e yet another bug found and fixed in gfcc 2006-10-02 08:32:20 +00:00
aarne e97bbc054f gfcc compilation: know bugs fixed 2006-10-01 15:41:32 +00:00
aarne 35e17afb38 param record compiler bug fixed 2006-09-30 14:17:34 +00:00
aarne 31b1321845 tracing a bug in gfcc generation 2006-09-29 15:22:20 +00:00
aarne b39ecf4c32 new constructs in gfcc, removed lambda 2006-09-29 10:55:36 +00:00
aarne f705205b52 resource generates exceptionless gfcc now 2006-09-26 12:53:15 +00:00
aarne deee60f2c2 improving gfcc generation 2006-09-26 10:23:50 +00:00
aarne be2f1ac5c8 another fix towards gfcc compilation 2006-09-25 17:18:40 +00:00
aarne 902ff81773 some fixes in gfcc compilation 2006-09-25 13:03:33 +00:00
aarne 9ae36df220 tools/c++ 2006-09-22 15:13:23 +00:00
aarne fb89adc1cf finished compact tb format (for a C++ interpreter now) 2006-09-21 20:55:49 +00:00
aarne 2d8cff01d4 adjusting compact tb format (not yet ready) 2006-09-21 15:56:39 +00:00
aarne e8530abb74 compact treebank format for translation systems 2006-09-20 19:59:57 +00:00
aarne be200897b8 brute force parsing method in RunGFCC 2006-09-20 15:19:44 +00:00
aarne 5ac6f4bd78 the other direction of FCFG translation 2006-09-19 20:12:28 +00:00
aarne 8a9f2df33d monitor timeout in gfcc generation 2006-09-19 15:45:47 +00:00
aarne 7ea135378f FCFG format in BNFC 2006-09-19 12:59:33 +00:00
aarne 1242b8cc91 predef types in gfcc 2006-09-17 14:57:46 +00:00
aarne 35f81967ea random generation in GFCC 2006-09-17 13:50:41 +00:00
aarne 927ad7b135 bug fixes in multigrammar handling and GFCC generation 2006-09-16 18:42:46 +00:00
aarne 3917291e92 debugging CanonToGFCC 2006-09-15 19:29:45 +00:00
aarne 35932d5472 commented out Swadesh.other_A, which is not implemented 2006-09-15 09:48:20 +00:00
aarne a8a43ed55c fixed some bugs in GFCC compilation; use optimize=values to import GF! 2006-09-15 09:37:18 +00:00
aarne 314d00fab3 generation in GFCC 2006-09-14 14:27:25 +00:00
bringert 429cbe1139 Removed extra comma in import list of src/GF/Speech/Relation.hs. This prevented compilation on current ghc HEAD. 2006-09-13 16:46:07 +00:00
bringert f41c8fd2fc transferc now uses env var TRANSFER_PATH to locate imports. 2006-09-13 11:46:04 +00:00
aarne ba950aab14 lambda in GFCC 2006-09-13 16:49:23 +00:00
aarne a64131afbe RunGHCC for testing 2006-09-07 14:21:08 +00:00
aarne 5664f4da9e simplified recursive search of labels 2006-09-07 09:55:49 +00:00
aarne dbc874d62f finding labels behind selections in GFCC 2006-09-06 20:09:37 +00:00
aarne 9657d57e5b overcoming problems in GFCC generation one by one 2006-09-06 12:59:09 +00:00
aarne 117a1547b7 arranging c2c 2006-09-05 20:18:35 +00:00
aarne f1fc34daaf started translating parameters to numbers in GFCC 2006-09-05 17:11:40 +00:00
aarne b84c129e2f eliminated one-element suffix lists in GFCC 2006-09-05 15:15:02 +00:00
aarne 62c21539db started analysing labels for GFCC 2006-09-05 13:10:55 +00:00
aarne 8484cfab1b starting GFCC format 2006-09-05 12:14:13 +00:00
bringert 1807dc4379 Added darcs add to darcs instructions. 2006-09-03 20:14:10 +00:00
aarne 39a31d07d5 the Error type; better lexer error reporting 2006-09-01 15:11:22 +00:00
aarne 04933ef3c9 the EOF error changed to more informative lexer error msg 2006-08-28 19:36:41 +00:00
bringert df370ec7f8 Updated darcs.html with simpler instructions for current darcs versions (removed the ControlMaster stuff). 2006-08-28 12:12:21 +00:00
bringert d71b576f6e Use mkPrep instead of mkPreposition in peace keeping grammars. 2006-08-28 11:57:19 +00:00
aarne dc5f5811dc some more options to gt 2006-08-16 08:48:26 +00:00
aarne 6bf419c50c help for gt 2006-08-15 20:28:37 +00:00
aarne 28245481a7 Improved generation algorithm (old with -old, all with -all (-lin)) 2006-08-15 19:59:10 +00:00
aarne 6ee69593f0 started looking at gt -all, not ready 2006-06-28 12:31:16 +00:00
aarne 0555834d24 bronzeageAra 2006-06-26 11:41:04 +00:00
aarne a78ded21d8 integrating arabic to document 2006-06-26 11:31:05 +00:00
aarne 67d9dae437 darcs push 2006-06-22 22:41:55 +00:00
aarne 2137f47bff Updated version numbers. 2006-06-22 22:36:13 +00:00
aarne 72ffc5af60 updated gfdoc 2006-06-22 22:18:56 +00:00
aarne a003271549 cleaned up API comments for document 2006-06-22 19:57:31 +00:00
aarne 5382e222d3 integrating russian in document 2006-06-22 13:57:36 +00:00
aarne 56aa14bf60 working with resource.txt 2006-06-22 13:24:41 +00:00
aarne f50f9ce592 preparing doc for Russian 2006-06-22 12:41:42 +00:00
aarne 1704cfa653 utf8 workaround; some restricted inheritances 2006-06-22 09:41:26 +00:00
kr.angelov af555cc6a7 Optimized mkSingletonSelectors 2006-06-21 19:37:18 +00:00
kr.angelov 4813788a9b tail call recursive implementation of BacktrackM 2006-06-21 19:17:25 +00:00
kr.angelov eed8c6f813 the newName variable wasn't used and now it is removed 2006-06-21 13:45:45 +00:00
kr.angelov 811621520c Some performance optimizations 2006-06-21 13:40:59 +00:00
aarne 3fd9f33323 nocf default, docf explicit or by HOAS 2006-06-21 07:55:35 +00:00
aarne b5539fe0db romance ImpPlP1 corrected 2006-06-21 07:51:44 +00:00
aarne a3b054778f note on Italian contracts 2006-06-20 16:51:04 +00:00
aarne a75c3b1907 resource.txt updates ; lock field and lookup book fixes 2006-06-20 15:05:22 +00:00
aarne 402a113b56 made -fcfg default parser; added lexer textvars 2006-06-20 08:38:44 +00:00
kr.angelov cb168e92e2 Sync FCFG with the latest repo version 2006-06-19 20:17:05 +00:00
kr.angelov 694f6eb984 code polishing for the literal category support 2006-06-08 21:23:29 +00:00
kr.angelov 98d0af8d73 add the chartAssocs function. It returns both the key and the item. 2006-06-08 21:19:40 +00:00
kr.angelov f09e929dd1 initial support for literal categories e.g. String,Int and Float 2006-06-06 21:30:14 +00:00
kr.angelov 283379b57f support for non-linear grammars 2006-06-03 17:58:34 +00:00
aarne fb32d7f3e9 Spanish irregular verbs 2006-06-19 13:09:15 +00:00
aarne c07a901090 parameters in resource doc summaries 2006-06-19 11:53:38 +00:00
aarne 09c91e29d8 lock fields in DialogueI 2006-06-18 21:35:31 +00:00
aarne d1dc04747b restored lock fields with a clearer warning 2006-06-18 19:23:00 +00:00
aarne 4204b3e4eb doc update, preparing 2.6 2006-06-17 09:53:42 +00:00
aarne df3b453f3b tutorial edited 2006-06-16 15:29:01 +00:00
aarne c84e19b21d tables and figures to resource.txt 2006-06-16 14:25:10 +00:00
aarne 653f571826 dep types in new tutorial 2006-06-16 08:35:24 +00:00
aarne be0e4d6203 tutorial example of LF 2006-06-16 08:06:52 +00:00
aarne cb3dfbd9bf updated tutorial and resource howto 2006-06-15 23:05:42 +00:00
aarne a25c73cb1a adjustments in Paradigms ; lang-specific modules for all except Rus, Ara 2006-06-15 16:24:09 +00:00
bringert afac97b821 Block SIGINT while running gfInteract, as suggested by Peter. 2006-06-15 01:41:18 +00:00
aarne 3efba2f5cc API module titles, resource.txt corrections 2006-06-14 21:16:06 +00:00
aarne faeb1125a3 improved final-resource 2006-06-13 14:40:12 +00:00
aarne 876c3389d2 complete resource document 2006-06-13 10:07:16 +00:00
aarne 1395c5e359 continuing with resource.txt 2006-06-12 20:29:25 +00:00
aarne c58fa965b4 still resource.txt 2006-06-12 18:56:12 +00:00
aarne 479132383a more work on resource.txt 2006-06-12 15:10:39 +00:00
aarne be4e21f4b5 working on resource.txt 2006-06-12 09:02:59 +00:00
aarne d44e420b6e more overview of linguistic structures 2006-06-10 23:00:54 +00:00
aarne 1f2310da94 started document on linguistic structures in the resource 2006-06-09 15:22:54 +00:00
aarne a0c60530cb bug fix in MkConcrete 2006-06-08 09:54:41 +00:00
aarne 112eea3f36 updated lexicon in animal 2006-06-08 09:44:22 +00:00
aarne 00934345ed BronzeageRus 2006-06-08 08:55:53 +00:00
peb 14f9452fd8 added the file GF.Conversion.MCFGtoFCFG 2006-06-07 20:25:39 +00:00
aarne 06e8ae025e Lang modules in terms of Grammar 2006-06-07 18:37:11 +00:00
peb da3a5d27e3 corrected bottomup MCFG parsing, added GF.Parsing.MCFG.FastActive 2006-06-07 16:18:28 +00:00
peb 55cb508a0f corrected bottomup FCFG parsing 2006-06-07 16:16:17 +00:00
peb 4009b46358 new conversion MCFG -> FCFG, new grammar printers for FCFG 2006-06-07 16:06:49 +00:00
aarne 4a3d280df5 fixed a file reading bug ; improved pi 2006-06-03 13:03:17 +00:00
kr.angelov 97dada16f6 remove the dummy (Print n) context 2006-06-03 10:31:36 +00:00
kr.angelov 81d9aea92f the constraints list in the conversion rules should be sorted too 2006-06-03 10:30:10 +00:00
aarne c5550bd482 check circularities in ln 2006-06-03 11:51:08 +00:00
aarne f24ec8b8c2 also count lin in oper circ check (some problems remain) 2006-06-02 15:42:57 +00:00
peb 3ddb066a55 added -fcgf grammar printer 2006-06-02 10:44:41 +00:00
kr.angelov 58bcb9e22e fix the "stack overflow" error with the Swedish grammar 2006-06-02 08:34:17 +00:00
kr.angelov 81f2e036e7 enable parsing of empty string 2006-06-01 21:37:22 +00:00
kr.angelov d1fa17ba6b bugfix 2006-06-01 21:36:17 +00:00
aarne 501c3eed7f less recompilation of cf and morpho 2006-06-01 22:35:43 +00:00
aarne 013f3ce803 resource examples in tutorial 2006-06-01 16:16:18 +00:00
aarne 89bd3aff33 author list 2006-06-01 14:15:51 +00:00
kr.angelov 35d2d47356 update the copyright messages 2006-06-01 11:29:30 +00:00
kr.angelov e51eaed4fd add the FCFG parser 2006-06-01 11:19:47 +00:00
kr.angelov 496f1fc876 The SLinType type is changed so that you don't have to use enumerateTerms each time when you want to know the possible table arguments 2006-06-01 10:26:49 +00:00
kr.angelov f7d8cdfc2e Add foldBM, foldSolutions and foldFinalStates functions 2006-06-01 10:12:38 +00:00
aarne 34ca8208ac reload = r command 2006-06-01 08:16:21 +00:00
aarne 5e665fa2ac bug fixes: too much reading of files ; lin of variant records 2006-06-01 07:51:53 +00:00
bringert 0e484f094f Disable special treatment of lists in SRGS+SISR generation, since OptimTalk can't handle it. 2006-05-31 19:41:05 +00:00
aarne c51846361f l -multi -all/-table ; same with tb 2006-05-30 22:02:25 +00:00
aarne 719e751051 BronzeageDan 2006-05-30 14:36:40 +00:00
aarne 5dc1edf50f lincat typecheck and abstract-interface extension fixed 2006-05-30 12:19:19 +00:00
aarne e9ce09cb45 Danish lexicon and verbs complete, but inflection has to be verified 2006-05-25 21:59:00 +00:00
aarne 479e2d5ed6 cleaned up in multimodal and dialogue 2006-05-24 16:51:52 +00:00
aarne 1aa8abb074 updated dialogue to multimodal ; bug fixes in grammar compilation 2006-05-24 15:40:15 +00:00
aarne 750ef2ca30 bug fix in with-modules and gr checker; factoring out cats to Common 2006-05-23 22:20:00 +00:00
aarne 00e7c3225e bug fix in Predef.toStr compilation 2006-05-21 11:38:00 +00:00
aarne 4f9ba74f72 removed automatic lock fields - must be added by hand in places in resource 2006-05-22 15:48:59 +00:00
aarne 41519ea40b removed a large obsolete fine 2006-05-20 07:20:51 +00:00
bringert 6217a2a4d9 Imported latest config.sub and config.guess from http://cvs.savannah.gnu.org/viewcvs/config/config/ 2006-05-20 03:31:59 +00:00
bringert b7e1e31909 Changes to make GF compile with GHC 6.5 from CVS: remove inlines use of !, change all latin-1 characters in haskell code to escapes. 2006-05-20 02:56:06 +00:00
bringert 49849d7fe3 Regenerated transfer bnfc stuff with latest bnfc, happy and alex, to be able to compile on GHC CVS. 2006-05-20 01:41:53 +00:00
aarne 25bc367f40 gfwl example 2006-05-18 15:01:43 +00:00
aarne 7fa31cc644 Wordlist format 2006-05-18 14:59:58 +00:00
aarne 747eccf2df some godis additions to dialogue 2006-05-17 21:04:54 +00:00
aarne cc07890344 changed readme name 2006-05-16 21:18:40 +00:00
aarne 63f03f8c73 field names added to Prolog 2006-05-16 21:10:47 +00:00
aarne 29d04d8a90 extended dialogue example 2006-05-16 20:44:33 +00:00
aarne 5082ebd0f4 renamed Godis to Prolog ; added Fin 2006-05-16 18:48:46 +00:00
aarne ecf429c593 README completed in dialogue 2006-05-16 13:13:33 +00:00
aarne 6bbd4e423a examples of dialogue system grammars 2006-05-16 13:07:41 +00:00
bringert e1ea20277c VoiceXML generation: use cond attribute with blocks, instead of having ifs inside. Recommended by OptimSys support. 2006-04-27 09:30:59 +00:00
bringert 1db0885429 Commented out one_Det in peacekeeping grammar. 2006-04-25 15:44:43 +00:00
bringert 10bf3b1d9f Moved punctuation to a separate field, to allow spoken language grammars to omit it. Created top-level spoken language grammars. (all in peacekeeping) 2006-04-21 21:53:20 +00:00
bringert 9a51ac6ebf Peacekeeping README: added reference to "Emergency multilingual phrasebook" 2006-04-21 14:49:46 +00:00
bringert 4bc12bcde1 Peace keeping: added more lexicon words. Added this_NP and that_NP. Added some more examples. 2006-04-21 14:34:45 +00:00
aarne f75efc970a PeacePhrase_Fin ; -p in resource Makefile 2006-04-21 15:20:03 +00:00
bringert c4560e21b0 Build peace grammars with optimize=share to work with GF EI. 2006-04-21 13:55:19 +00:00
bringert 3c1ef84ddd Peacekeeping: moved startcat flags to top level concretes to work around problems in figuring out the startcat for CFGMs. 2006-04-21 13:16:14 +00:00
bringert fc72f8b730 Added TODO item about startcat in CFGM grammars. 2006-04-21 13:13:28 +00:00
bringert c4f36a024a Implemented some new words in swedish. Use english compound for police officer. 2006-04-21 12:08:10 +00:00
bringert 4bb72d9343 Changed gfdoc to: include modification time of the gf file, instead of document generation time; ignore pragmas at the start of the GF file; not put note about txt2tags in the generated html. 2006-04-21 11:49:06 +00:00
bringert 53b86102ff Changed PeacePhrases_Swe to latin-1. 2006-04-21 09:55:15 +00:00
aarne 0268576142 embedded haskelle example: query 2006-04-21 09:14:05 +00:00
bringert 028561ac2a peacekeeping: implemented the new lexicon entries in english. 2006-04-21 07:49:53 +00:00
bringert 44300844db peacekeeping: add a module with phrases which are very different in different languages, e.g. greetings. The english and swedish implementations do not yet use the resource grammars, and the finnish is empty. 2006-04-20 22:46:41 +00:00
bringert 79c0cc23e6 Added section for examples we I don't know how to handle well without overgenerating too much. 2006-04-20 22:33:47 +00:00
bringert e75689439d Added some more words to the peacekeeping lexicon. Did not add them in the concrete syntaxes yet. 2006-04-20 22:18:35 +00:00
bringert 58a6088a4d Fixed a swedish peacekeeping missed latin-1 conversion. 2006-04-20 21:11:03 +00:00
aarne 95a672ce28 paths to parent dir ; Swe char coding 2006-04-20 21:23:13 +00:00
aarne 3ce9a4fd89 finnish peacekeeping 2006-04-20 21:04:04 +00:00
bringert ca96cb741b Added swedish version of the peacekeeping grammar. 2006-04-20 18:27:51 +00:00
bringert a1e2767dbe Reorganized the peacekeeping grammar. 2006-04-20 17:55:46 +00:00
bringert f9cdc3c732 Added QuestIAdv_NP. 2006-04-20 16:43:13 +00:00
bringert af52e49d59 PeaceKepp: added a bunch of examples. Added a few words. Added some missing syntax constructs. 2006-04-20 15:13:55 +00:00
bringert 35cd3af661 Added Quest category to PeaceKeep grammar. 2006-04-20 11:46:50 +00:00
bringert 72dbe753e0 Added the beginnings of the PeaceKeep grammar. 2006-04-20 11:13:43 +00:00
bringert 8c77d8e951 Added debugging flag to generated VoiceXML. 2006-04-20 09:46:54 +00:00
aarne 5f0b09fa08 star in morpho analysis 2006-04-19 10:04:01 +00:00
aarne 0ab646fa2f utf8 in editor 2006-04-19 09:33:39 +00:00
bringert ccd5189766 Use quest_Cat to generate questions in the VoiceXML printer. 2006-04-19 09:03:19 +00:00
bringert 43b962f525 Disable readline support on cygwin, regardless of GHC version. 2006-04-19 08:48:54 +00:00
bringert a663a046ed Look at both command-line and grammar startcat falgs in pg commands. 2006-04-18 12:42:20 +00:00
aarne 5ccf994499 spelling alphabet 2006-04-17 21:03:41 +00:00
bringert 6eac1e2be2 Fixed left recursion removal to not create cyclic rules. 2006-04-13 15:07:17 +00:00
bringert dbfef31538 Removed cycles when building SRGs, to avoid getting left-recursive grammars. 2006-04-13 14:47:37 +00:00
bringert c5d0416996 generate unique new category names when removing left recursion from cfgs. 2006-04-13 14:29:27 +00:00
aarne 8edb88dcab extended unix grammars with character-based spelling 2006-04-13 14:19:27 +00:00
bringert 47dedcf256 Fixed bug in SRG top-down filtering where the start category would be removed if it wasn't referenced by itself. 2006-04-13 14:18:13 +00:00
bringert aa309abecf Added top-down filtering to the GSL printer. 2006-04-13 13:33:35 +00:00
bringert 293a0eb988 Added -startcat flag to the pg command. 2006-04-13 13:32:58 +00:00
bringert 97956fc13f The SLF removeTrivialEmptyNodes optimization could orphan the final node. Fixed this by not bypassing final nodes. 2006-04-12 23:22:35 +00:00
aarne e07d9dea34 unix command grammar started 2006-04-12 21:14:32 +00:00
aarne a42a232c57 inherent features of Int 2006-04-04 14:44:46 +00:00
peb c437f63404 adding support for 2nd order functions in SimpleGFC format 2006-04-04 09:33:22 +00:00
aarne f1000ca8c3 version 3 of quick reference 2006-04-04 07:41:32 +00:00
aarne 07c7333c0f editing the tutorial 2006-04-03 15:37:39 +00:00
aarne c41537a447 date of 2.5 2006-03-31 16:41:53 +00:00
aarne 82fbc184b6 added some generation facilities 2006-03-31 16:30:44 +00:00
bringert cb046fea18 In GSL generation: remove punctuation before LR analysis. 2006-03-31 15:52:03 +00:00
bringert 8dfa27bb6d Added colon to the list of punctuation chars in GSL generation. 2006-03-31 15:31:33 +00:00
aarne ae30eca844 gt -noexpand 2006-03-31 13:20:40 +00:00
aarne 0b3af5175e doc/ 2006-03-29 11:58:04 +00:00
aarne cccd3b166c reference linked 2006-03-29 11:56:02 +00:00
aarne f69a95dbb4 reference card 2006-03-29 11:53:30 +00:00
aarne eda051a318 gf reference 2006-03-28 17:02:00 +00:00
peb e6beca01cb translated TODO to english, restructured to fit with todoo-mode.el 2006-03-22 12:38:47 +00:00
peb 2e25df8941 todo 2006-03-22 05:57:28 +00:00
aarne d4c4038241 index 2006-03-21 16:52:49 +00:00
aarne e7f325f975 unlexer bug ; "vilka" ; lib path warning ; p -lines result 2006-03-21 13:57:38 +00:00
bringert da61e709ad Updated version numbers to 2.5. 2006-03-21 13:57:00 +00:00
bringert 789ce01032 Added release number in debian/changelog. 2006-03-21 13:49:42 +00:00
bringert e97e112937 Set GF_LIB_PATH to the dist dir when building grammar-dist. 2006-03-21 13:20:03 +00:00
bringert f5f230b6c0 Use date-based package name for grammar dist. Included compiled resource-1.0 in grammar dist. 2006-03-21 13:02:14 +00:00
bringert 385774a6b7 Debian package: build and install gfdoc. 2006-03-21 13:01:58 +00:00
bringert 388fd424a9 Don't rebuild java code when installing it. 2006-03-21 12:25:34 +00:00
bringert b7f5f9d404 Updated copyright year in src/GF.hs. 2006-03-21 10:55:38 +00:00
bringert 1b28230449 Debian package: use install-gf 2006-03-21 10:49:59 +00:00
bringert 9cb1998948 Debian package: use prefix in isntall rule. 2006-03-21 10:48:54 +00:00
bringert b87b82fbd9 Debian package: run configure and make in src/. 2006-03-21 10:30:19 +00:00
bringert cf2c5641a2 Added beginnings of debian packaging stuff. 2006-03-21 10:25:40 +00:00
peb 6d13bb9e3c fixed bug with variants in GF.Conversion.RemoveErasing 2006-03-21 06:18:03 +00:00
peb ab8edebcee todo 2006-03-10 05:49:30 +00:00
bringert 0419860b4e Transfer: some TODOs. Lots of minor fixes in type checking algorithm. 2006-03-20 18:23:55 +00:00
bringert 8d1543684a Some simple clarifications in the transfer type checking document. 2006-03-20 15:15:56 +00:00
bringert eacb437f43 Expermintation woth a collections framework for transfer. 2006-03-20 14:46:47 +00:00
bringert d760ce9738 Added some tricky transfer type checking examples. 2006-03-20 14:04:11 +00:00
bringert 2371a1fcca Transfer TODO: added (A,B : Type) argument types. 2006-03-20 14:03:34 +00:00
bringert 19af3254dc Replaced all used of Data.FiniteMap with Data.Map. 2006-03-20 12:49:31 +00:00
aarne 076c390b73 documenting nodupatom, announcing 2.5 2006-03-16 21:41:13 +00:00
aarne 5d772cbfa2 MatchTerm: testing conditions on terms, e.g. nodup 2006-03-16 21:26:22 +00:00
aarne e658e345fd exitFailure with gf -make 2006-03-16 20:33:35 +00:00
aarne f156073a13 method for flattening grammars 2006-03-16 15:26:37 +00:00
bringert 31fdc0d29a Updated config.sub and config.guess. 2006-03-16 09:11:12 +00:00
bringert 5da597da36 Transfer prelude: added missing type arguments to some type classes. 2006-03-15 16:48:35 +00:00
bringert 379a969f67 Fixed typo in transfer prelude: prim_eq_Str 2006-03-15 16:25:40 +00:00
bringert 626a23ac78 Use ghc-pkg field instead of latest, to work with ghc-pkg 6.4. 2006-03-14 09:31:27 +00:00
bringert eee0f20ea8 Transfer reflexive example: added ideal version. 2006-03-13 10:56:45 +00:00
bringert 941a9f35ba Added transfer example: constructing reflexives. 2006-03-13 10:53:44 +00:00
aarne c5eea4b375 example index 2006-03-10 10:05:49 +00:00
priesnit eca7de185a Added SwadeshGer. 2006-03-09 17:01:12 +00:00
peb 00d3d0b27d fixing prolog printing 2006-03-09 12:39:11 +00:00
peb 641fa54ddc inferred constants in profiles 2006-03-09 11:32:52 +00:00
peb 960d4f1e78 added todo 2006-03-08 05:41:18 +00:00
aarne dc53739149 todo 2006-03-07 20:12:23 +00:00
aarne 3c11bdfd1d merging Lexicon with Swadesh 2006-03-07 18:26:47 +00:00
aarne 0112bfb284 changed regN to be always of type Str -> N 2006-03-07 10:59:39 +00:00
aarne 7d2a9992f3 more treebank options; updated history 2006-03-06 21:27:49 +00:00
bringert a961739bbf Transfer type system: some random changes 2006-03-06 16:55:22 +00:00
aarne 611f24d4df working on ExTramI and german verbs phrase 2006-03-06 15:36:09 +00:00
aarne 65d841bc1b make help and treebank options 2006-03-05 20:30:37 +00:00
aarne 2657c51e04 example based also with treebank, with real term parser 2006-03-04 22:14:33 +00:00
aarne 84e01c303d proper place of -treebank option 2006-03-04 15:24:03 +00:00
aarne 3589e352cc treebank creating script; duplicated consonants in LexiconEng 2006-03-04 14:58:11 +00:00
aarne 3ff765620c distinguished uni and multi treebanks 2006-03-03 20:51:03 +00:00
priesnit e6f115a300 continuation of environment variable patch 2006-03-02 22:47:45 +00:00
priesnit 434053ac2c GFHOME must now be set in the environment
minor change in German numbers
2006-03-02 20:53:44 +00:00
bringert f568dbcf64 Transfer type checking algorithm: started on conversion. 2006-03-03 15:56:15 +00:00
bringert 54542c8423 Transfer type checking: Added some notation explanation. Added constructor context. Added proper pattern checking operation. 2006-03-03 10:56:34 +00:00
bringert 0dfd55a30d SRGS generation: use XML module escape mechanism. Added beginnings of a not yet working SRGS minimization function. 2006-03-03 10:40:53 +00:00
bringert 11cba226ea Towards a working VoiceXML generator. 2006-03-03 10:40:23 +00:00
bringert cbcdc01380 XML module: added CData support. Escape stuff that needs to be escaped in XML. 2006-03-03 10:38:49 +00:00
bringert 0453d5c45e Transfer: added beginnings of a type checking algorithm description. 2006-03-03 10:37:59 +00:00
bringert 145e0a4c82 Transfer: Removed PType from source and core languages. 2006-03-03 10:34:15 +00:00
aarne 6c5763615f several treebanks in shell state 2006-03-02 20:27:42 +00:00
aarne 32508e37b3 treebanks in shell state: i -treebank and lt 2006-03-02 17:19:36 +00:00
aarne 35aac815db tb -trees ; rl ; path in gfe ; removed spurious "file not found" 2006-03-02 09:55:50 +00:00
aarne c30936dc16 refreshing gfe example 2006-03-01 17:36:34 +00:00
aarne 8cf236bfbb ResourceHOWTO updafed 2006-03-01 16:17:19 +00:00
bringert c01ff143f4 Remove superfluous space in transfer let description. 2006-03-01 12:52:23 +00:00
bringert 4cb90a0c69 Transfer reference: remove type annotations in let. 2006-03-01 12:51:10 +00:00
bringert 41db0b588e SwadeshEng: give_V uses "to" 2006-02-28 19:47:42 +00:00
bringert 0814cf42a2 SwadeshSwe: know = känna. 2006-02-28 19:44:13 +00:00
bringert 6233a27c56 Swadesh: fog is a MassN. 2006-02-28 19:29:48 +00:00
bringert 5aa2ae4271 SwadeshSwe: give_V = ge till. 2006-02-28 19:25:38 +00:00
bringert b81bd14d34 Swadesh: made fat MassN and guts N. 2006-02-28 19:25:02 +00:00
bringert a632b947a6 SwadeshSwe: changed far_Adv to långt (was långt borta). 2006-02-28 19:19:53 +00:00
bringert 237af833a0 Swadesh: changed smell_v from V2 to V. 2006-02-28 19:18:01 +00:00
bringert 4c6994d0c7 Swadesh: fight_V is now "slåss med" in swedish. 2006-02-28 19:11:27 +00:00
bringert 4aa6113d57 Fixed morphology of swedish "mun". 2006-02-28 19:07:54 +00:00
bringert ec217d9b6e Guessed implementation of left and right in spanish, french and italian. 2006-02-28 19:02:43 +00:00
bringert cd1fcf61c3 Swadesh: added MassN category and made some nouns MassN instead of N. Removed some unused instantiations from Bronzeage??? modules. Swadesh: left and right are now Ord instead of A. Bronzeage: all pronouns as NP. 2006-02-28 18:49:04 +00:00
bringert b90629b765 Fixed salt_N is swedish. 2006-02-27 21:34:02 +00:00
bringert 57f323e167 Print grammar names in translation exercise lists. 2006-02-27 20:45:54 +00:00
bringert e85fb4bf69 VoiceXML generation: fixed threading of existing values through subdialog calls. 2006-02-06 16:45:59 +00:00
aarne f24ab0fe79 adjustments and clean-up in resource 2006-02-26 18:43:13 +00:00
aarne 70ac18e908 bug fixed (?) in compilation 2006-02-26 11:16:53 +00:00
aarne 38a2d080f9 bronzeage 2006-02-25 23:23:05 +00:00
aarne a911adada0 documenting the library 2006-02-25 22:58:55 +00:00
aarne 281f57112a directories of precompiled libraries under lib 2006-02-25 21:12:59 +00:00
aarne 3cbd135010 resource specialized to present tense ; preprocessor flag 2006-02-25 18:59:32 +00:00
aarne 56a9e025d5 bronzeage README ; topological sorting of abstract modules 2006-02-24 15:49:14 +00:00
aarne e8b4d1697d bronzeage 2006-02-24 13:57:41 +00:00
aarne f4775347f9 swadesh adjustments 2006-02-24 10:12:49 +00:00
aarne 22be1f33d5 swadesh migrated 2006-02-23 22:39:35 +00:00
aarne d4a4c783dd templates for German 2006-02-23 18:06:15 +00:00
aarne 0215c2fdc3 started Swadesh in 1.0: Eng and Swe ready (also stoneage1) 2006-02-23 17:46:49 +00:00
aarne c5666fabdd the -gfc option 2006-02-23 09:58:59 +00:00
aarne 97485761cb completed Multimodal and Tram with new languages 2006-02-23 09:16:11 +00:00
aarne b30e817e55 tram using compiled resources 2006-02-22 22:29:11 +00:00
aarne c2636ea968 testing precompiled libraries 2006-02-22 11:13:42 +00:00
aarne 13672549f8 Tense to Common ; Idiom ; Text 2006-02-20 22:11:57 +00:00
aarne 4e574703de nocf flag ; mathematical API 2006-02-14 21:19:24 +00:00
aarne b087db0871 Romance clitics almost OK ; bug fix in tb -c 2006-02-14 20:42:36 +00:00
aarne 167a6dd60a test probabilities for resource; rounding of prob sum 2006-02-09 10:54:07 +00:00
aarne fd9da86d24 added timeout to gr -cf 2006-02-08 22:43:07 +00:00
aarne f916352116 testing treebanks 2006-02-08 21:58:36 +00:00
aarne c9ae662c24 numeration in treebank 2006-02-08 14:05:46 +00:00
aarne 98b24d0e33 command tb for creating treebanks 2006-02-08 10:18:00 +00:00
aarne 85910ef776 Most of Finnish done. 2006-02-06 20:44:41 +00:00
aarne 8876a6a8db intro to gf-formalism 2006-02-06 08:28:20 +00:00
bringert 9bae44c37d Moved general XML stuff to GF.Data.XML. Started working on VoiceXML generation. 2006-02-03 18:43:06 +00:00
aarne 074efc5cd7 started talk for Paris 2006-02-03 14:46:27 +00:00
aarne adad6f44b7 gf-formalism.html 2006-02-02 13:17:01 +00:00
bringert bdf602b95c SRGS: add top-level rules for each GF category. 2006-02-01 19:00:48 +00:00
bringert 8cd03874f6 Include GF version and compile date in SRGS meta creator tag. 2006-02-01 18:09:47 +00:00
bringert a26ccb40bd SRGS semantic results for list categories is now an array. 2006-02-01 18:03:13 +00:00
bringert fd0dfd7d4d First version of SRGS with semantic tags. 2006-02-01 16:23:14 +00:00
bringert 992e212bcc Escape backslashes and double quotes in SRGS attribute values. 2006-02-01 10:24:37 +00:00
bringert 36492443e9 Set xml:lang in SRGS grammars to the value of the language flag. 2006-02-01 10:16:40 +00:00
aarne e59bad1f19 math API; lock field warnings 2006-01-31 17:10:31 +00:00
aarne 755a3d4ccc Math to mathematical/Symbol 2006-01-31 14:04:38 +00:00
aarne 5c9b9213d0 shortcuts on index page 2006-01-31 13:41:15 +00:00
aarne c04e8739c0 gslt sem 2006-01-29 10:22:31 +00:00
aarne 0839a2ce18 gslt talk 2006-01-27 14:52:20 +00:00
aarne 443f86ba4d Norwegian 2006-01-26 13:57:22 +00:00
bringert ad65c86860 Updated GHC version requirement and file names for GF 2.4. 2006-01-26 12:06:24 +00:00
aarne b830e47608 cheese.s in tutorial 2006-01-25 15:03:11 +00:00
aarne 7c11be5683 el date 2006 2006-01-25 14:19:18 +00:00
aarne b2416daa0c el date 2006-01-25 14:18:49 +00:00
aarne bdc36fe5f9 link to emacs mode 2006-01-25 14:07:11 +00:00
aarne f7c3729106 documentation varia 2006-01-25 14:04:39 +00:00
aarne 32a0a9ac0f optimization of selection computation 2006-01-24 20:36:37 +00:00
aarne e8d50c3841 the parser can read .gfm files (but they are not yet compiled all the way) 2006-01-24 15:18:46 +00:00
aarne bcb62c87c5 completed French ordinals and thereby French/Romance 2006-01-24 12:55:30 +00:00
aarne 5a84f996b0 French close to complete; reported on regexp bindings 2006-01-23 16:38:42 +00:00
aarne a5cd07e026 clean up tram; report German 2006-01-22 21:30:26 +00:00
aarne 2a0a60ef8f working towards tram in 4 langs 2006-01-20 23:03:50 +00:00
bringert 92f22c8f5c Use right start category names in si command. 2006-01-20 18:20:02 +00:00
bringert 0f6c51f741 Report errors in at command. 2006-01-20 18:18:49 +00:00
aarne c9ed0c4218 more french 2006-01-20 16:56:38 +00:00
aarne 60d7d16906 started romance predication; some restructuring of modules; CheckGrammar value table bug fix 2006-01-20 10:54:38 +00:00
aarne 62105801a1 workaround for a compilation bug for param defs (to be fixed) 2006-01-19 17:27:46 +00:00
aarne ae1d654a5b indexing the new resource document 2006-01-18 18:26:07 +00:00
bringert d4d89c72f3 Use cat and language in ATK si. Support language switching with ATK. 2006-01-17 02:13:57 +00:00
aarne 74c5d41152 incompleteness warning and PNeg in CheckGrammar 2006-01-16 09:47:08 +00:00
aarne 90c7caa788 type checking pattern bindings 2006-01-13 13:47:15 +00:00
peb acd24331af peb 2006-01-13 08:42:25 +00:00
aarne 7752543f04 API documentation and slight change in Det syntax 2006-01-10 15:39:20 +00:00
aarne 59c4536d5e fixes in multimodal document, last section 2006-01-09 19:30:27 +00:00
aarne 7fbaae3350 matching empty string fixed 2006-01-09 09:22:39 +00:00
aarne 316802e52c html version of multimodal doc 2006-01-08 20:51:32 +00:00
aarne cba2b83ded multimodal document revised 2006-01-08 20:50:56 +00:00
aarne 54d77b022f multimodal grammar document 2006-01-08 18:57:17 +00:00
aarne 4dec64349a regex in the tutorial 2006-01-07 20:53:47 +00:00
aarne 00ea4e3dcd documenting regular patterns 2006-01-07 15:42:13 +00:00
aarne d133e0353c regular expression patterns 2006-01-07 14:39:40 +00:00
aarne 4e42d73ee5 regex patterns for tokens 2006-01-07 12:26:11 +00:00
aarne a641bf4004 documenting CC patterns 2006-01-06 22:19:02 +00:00
aarne 88b09b8ae0 concatenation string patterns 2006-01-06 21:49:25 +00:00
bringert 3bf8e5ce6f Fixed-point iterate unneccessary node removeal. 2006-01-05 20:55:13 +00:00
bringert dc3f7e1d61 Generate monolithic FAs by expanding an MFA. 2006-01-05 20:35:22 +00:00
bringert 7faaa9772b Added monolithic SLF builind back in. 2006-01-05 19:34:12 +00:00
bringert 7ee1ba0001 Sort sub-networks topologically. HTK's HBuild seems to require this. 2006-01-05 19:03:31 +00:00
bringert ca84f92302 Remove unused sub-networks when generating multiple FAs. 2006-01-05 17:46:30 +00:00
bringert bffc7df07e Remove more unneccessary nodes in SLF networks. 2006-01-05 16:48:55 +00:00
bringert 12187f684e Refactored Graph module. Remove some unneccessary states in slf networks. 2006-01-05 16:35:04 +00:00
bringert a373760ebb Use language flag to select the acoustic model to use with ATK. 2006-01-05 16:34:35 +00:00
bringert 5c0d9d52b3 Print slf_graphviz with subgraphs. 2006-01-05 12:59:36 +00:00
bringert a4ba93cc55 Build SLF networks with sublattices. 2006-01-04 21:41:12 +00:00
bringert e22275d467 Regenerate Transfer abstract syntaxes with updated BNFC. 2006-01-03 10:29:47 +00:00
bringert 14079a9d7c Finite state networks: more strictness. alternative (still unused) implementation of reachable. 2005-12-29 21:35:40 +00:00
bringert d854890820 Fintie state networks: fixed stack overflow problem with strictness in Graph and FiniteState. Some clean-up and smaller performance fixes. 2005-12-29 20:24:34 +00:00
bringert f4f1f04123 Finite state networks: replace some lookup tables with maps. Rewrite closure for speed. 2005-12-29 16:29:21 +00:00
bringert 5ad1ca8827 Finite state minimization: improved performance by using Set State instead of [State] as DFA labels. 2005-12-29 15:55:48 +00:00
bringert cb5e52bd2e Finite state network generation: reimplemented getOutgoing using Data.Map to improve performance of minimize with large networks. 2005-12-29 13:33:58 +00:00
bringert e32472a9bb Some performance improvements in the FA generation. 2005-12-22 23:16:15 +00:00
bringert 29ba681242 Some tracing and formatting stuff looking for the the stack overflow problem in the FA generation. 2005-12-22 18:04:05 +00:00
aarne 81aad9adeb mailing list 2005-12-22 20:24:33 +00:00
aarne 0f85146395 nosignal 2005-12-22 19:48:17 +00:00
aarne ddc4b8803b newline in welcome 2005-12-22 18:27:27 +00:00
aarne 7b90174976 Updated version numbers. 2005-12-22 18:14:39 +00:00
aarne 3a753f926a moments 2005-12-22 18:05:00 +00:00
aarne aa59c14b5a Hebrew Letter; news on index 2005-12-22 18:01:35 +00:00
aarne 58d1fa84c5 moved obsolete files; updated umlaut help 2005-12-22 17:27:00 +00:00
aarne 14f70e478d version number, encoding 2005-12-22 16:46:38 +00:00
aarne b4fe6336af preparing for release in doc 2005-12-21 20:40:03 +00:00
aarne 89ec5b808b parsing escaped strings from command line fixed 2005-12-21 19:46:48 +00:00
bringert f4c5fcf44a More details about the si command. 2005-12-21 11:48:28 +00:00
aarne c15ee36f74 html version generated 2005-12-21 09:29:20 +00:00
aarne e6f46da89b batch mode in tutorial 2005-12-21 09:28:28 +00:00
aarne 24953789b0 bug fix in updateShellState 2005-12-21 09:20:53 +00:00
aarne 8c9e6e2219 history update 2005-12-21 08:08:25 +00:00
aarne 59ee1bfd7c full disjunctive patterns ; more prec levels for Exp 2005-12-20 22:38:38 +00:00
bringert 7383e6d93e Don't import toLower in PrSLF. 2005-12-20 15:17:43 +00:00
aarne 25b3168437 CS's system S 2005-12-20 14:20:42 +00:00
aarne 774abf612d typo fix 2005-12-19 17:05:42 +00:00
aarne b1480a4ef1 wrote on resource in tutorial 2005-12-19 17:01:39 +00:00
aarne bfbe2e3d47 resource examples 2005-12-19 16:31:40 +00:00
aarne 7878cd5e0a diagrams 2005-12-18 21:29:55 +00:00
aarne 3d9a05f843 txt2tags result 2005-12-18 21:27:23 +00:00
aarne 6398140d0a new tutorial example 2005-12-18 21:26:21 +00:00
aarne a205829623 end of tutorial sketched 2005-12-17 22:21:23 +00:00
aarne 14defedc65 tutorial; mkMorpho bug fix 2005-12-17 20:44:20 +00:00
aarne d3157ad7e7 morpho in tutorial 2005-12-17 12:33:15 +00:00
aarne c9264a4e1f progress in tutorial 2005-12-17 12:32:15 +00:00
aarne 5161a93ae8 tutorial goes on 2005-12-16 21:19:32 +00:00
aarne 7110ad70cc tutorial Tree 2005-12-16 20:27:01 +00:00
aarne fd917d04ea tutorial elaboration 2005-12-16 20:25:52 +00:00
bringert 74792360f1 ATK: set CMNDEFAULT programmatically. Requires latest version of atkrec. 2005-12-16 15:13:37 +00:00
bringert 068180ecc0 Include atk config file in GF. Use environment variable to find the file. 2005-12-16 14:17:39 +00:00
aarne 9ebdba894b work on tutorial 2005-12-16 14:10:32 +00:00
aarne 43f43a176b resource mp3 document 2005-12-16 13:32:04 +00:00
bringert 9e19f5ab44 ATK: prepare for supporting multiple languages. 2005-12-16 13:05:56 +00:00
bringert ed3700c5b3 Fixed conflict from Aarne's ATK path changes. Added NOILINE pragma to ATK initialized variable. 2005-12-16 09:54:31 +00:00
bringert 82cb712132 Use ATK_HOME variable to find resources. 2005-12-14 15:11:26 +00:00
aarne e3a896685c tutorial in txt format 2005-12-15 15:45:42 +00:00
aarne 1acf3636d3 mp3.gfcm 2005-12-14 16:51:25 +00:00
aarne f4cd764f2a mp3 example 2005-12-14 16:28:57 +00:00
bringert cee5ee4b66 Fixed arguments of NoSpeechInput.recognizeSpeech so that GF compiles without ATK. 2005-12-14 14:53:28 +00:00
bringert f996c8b186 Added explicit type signature to GF.System.NoSpeechInput.recognizeSpeech. 2005-12-13 21:09:29 +00:00
bringert 5a480fac52 Added semi-working speech_input command. 2005-12-13 21:03:56 +00:00
aarne 9f867c4922 float parsing fixed 2005-12-11 17:48:55 +00:00
aarne 8ee11c0e7e tram with new API 2005-12-09 16:29:49 +00:00
aarne 5766d566a8 multimodal for Swedish 2005-12-09 16:28:45 +00:00
aarne f63542c17f gfdoc for tags 2005-12-09 14:18:32 +00:00
bringert bf44a7aae3 Use tags in SLF generation to get out a parsable string. 2005-12-09 13:35:50 +00:00
aarne 7e1bf1dbd8 doc/ 2005-12-09 13:31:05 +00:00
aarne 313791d016 compiler example in index 2005-12-09 13:29:45 +00:00
aarne 08814d1d5a formats in index 2005-12-09 13:23:39 +00:00
aarne 438268c15a dashed and box 2005-12-09 13:12:19 +00:00
bringert dc54207d3b Transfer compiler: rename variables before doing any substitutions. 2005-12-09 13:06:05 +00:00
bringert ccfe7fb119 Transfer: changed syntax to remove the mandatory type annotation in let. 2005-12-09 11:45:57 +00:00
bringert ce8376885c Regenerated gf-compiler-png with Aarne's and my changes. 2005-12-09 11:05:53 +00:00
bringert 1637695529 Added more steps in the speech grammar part of the GF compiler graph. 2005-12-09 11:04:53 +00:00
aarne 1b00603a8b more compiler data 2005-12-09 11:04:01 +00:00
bringert bbd3222a6b Added note about Transfer being experimental. 2005-12-09 10:56:07 +00:00
aarne e964a4d3ca doc on chart 2005-12-09 10:48:35 +00:00
aarne 12aa64ec7d doc on GF compiler 2005-12-09 10:46:59 +00:00
aarne 04b27db949 doc on embedded 2005-12-09 10:00:24 +00:00
aarne d0737c7114 mcfg 2005-12-09 09:25:20 +00:00
aarne 129ad92662 link to GF prolog 2005-12-09 09:23:51 +00:00
bringert cb18297ace SLF generation: make sure that there is only one final node, and that it is actually final. 2005-12-08 16:01:13 +00:00
bringert 913a15a083 Set encoding in txt2tags documents to utf-8. 2005-12-08 10:04:34 +00:00
bringert a282336de6 Transfer: fixed bug in prelude partition. Fixed naming of tuple field names, made it 1-based as in docs, instead of 0-based as before. 2005-12-08 09:45:17 +00:00
bringert df5ce0a256 Transfer: Added compile_all.sh. 2005-12-08 09:39:36 +00:00
aarne feb2265d8f document on main index 2005-12-08 09:01:58 +00:00
aarne 4520420e00 documentation document 2005-12-08 08:59:24 +00:00
aarne b25eb5c7c3 removing obsolete doc/book 2005-12-08 08:20:09 +00:00
aarne d9d20326ce removed obsolete index file 2005-12-08 08:18:04 +00:00
aarne a5f90fa0fc more Scandinavian 2005-12-07 18:59:35 +00:00
bringert 63f19f992d Transfer reference: first proof reading fixes. 2005-12-07 12:24:30 +00:00
bringert 84d60f7602 Transfer reference: operators, overloading 2005-12-07 11:53:29 +00:00
bringert 56a00d37dd Transfer: derive Eq Bool 2005-12-07 10:11:41 +00:00
bringert 09e62111fd Transfer reference: added list patterns, do notation. 2005-12-07 10:03:18 +00:00
bringert 06c3d3e004 Transfer reference: added metavariable section and implementation status section. 2005-12-07 09:46:21 +00:00
bringert 67395b24d9 Transfer tutorial: conjunction, not conjugation. 2005-12-06 22:51:00 +00:00
bringert c703a92136 Transfer: Changed transfer program file extension from .tr to .tra to avoid collision with Troff file extension. 2005-12-06 16:33:40 +00:00
bringert ee4adf5ba8 Simple transfer tutorial touch-up. 2005-12-06 16:26:55 +00:00
bringert 41aaed58d4 Moved transfer documentation to doc/. Added sections and text to transfer tutorial and reference. Added script for generating html from txt2tags files. 2005-12-06 16:23:29 +00:00
bringert 1094204640 Transfer: Fixed BNFC's layout resolver to not insert semicolon at end of line if there is one already. 2005-12-06 16:19:29 +00:00
bringert cec34b7924 Transfer: fixed syntax error in prelude definition of partition. 2005-12-06 15:59:43 +00:00
bringert 5be879dd54 Transfer: Changed BNFC's layout syntax resolver to add a semicolon at EOF if using top-level layout sytax. Changed transfer syntax to use this to force semicolon after imports when pretty printing transfer. transfer grammar printer now produces Transfer syntax, not core. It also imports prelude and includes Eq and Compos instances. 2005-12-06 15:57:43 +00:00
bringert 54b8d70443 Transfer: moved pair stuff to prelude. Added partition function. 2005-12-06 12:39:11 +00:00
aarne a6dc944356 opers in cnc 2005-12-06 12:39:36 +00:00
bringert 54671579f5 After suggestion from Jordi: note that darcs pull should be done inside the local repository. 2005-12-06 12:23:54 +00:00
aarne 66caf2aa65 bug fix in Shell commands at, wt 2005-12-06 11:46:35 +00:00
aarne 9db6f69d0a multimodal resource recreated for new API 2005-12-05 18:31:15 +00:00
bringert 6c9b2bf6df Added beginnings of a transfer language reference. 2005-12-05 18:01:59 +00:00
bringert 71349c1c5b Removed variable for the type argument of List. 2005-12-05 17:35:32 +00:00
bringert f4a28c94aa Renamed transfer compiler and interpreter. 2005-12-05 16:53:27 +00:00
bringert 56e9e45171 Changed test.tr to run a fibNat test. 2005-12-05 16:52:56 +00:00
bringert 7c24fcb38f Added aggregation example. 2005-12-05 16:45:11 +00:00
bringert 747271941a Added tuple expressions and patterns. 2005-12-05 16:44:56 +00:00
aarne 066d5bb0a9 tidy up res; bug fix in ShellState.addTransfer 2005-12-05 16:14:12 +00:00
bringert ddc8d5d0cc Transfer: fixed Eq derivation to at least work for GF-generated Tree types. 2005-12-05 14:14:19 +00:00
bringert 983aef132b Transfer added guards and Eq derivation. 2005-12-02 18:33:08 +00:00
aarne dea5158cbf floats in GF and GFC (parsing user input still doesn't work) 2005-12-02 13:13:14 +00:00
bringert 50ddb387f4 Added some differences between Cayenne and Transfer to transfer README 2005-12-02 13:05:02 +00:00
bringert 6cba6eb004 Make words in SLF language models upper case. 2005-12-02 12:55:24 +00:00
bringert 6b536cf07a Transfer: removed list syntax from TODO. 2005-12-01 17:28:50 +00:00
bringert 396cc63cfc Added list patterns. Added som simple prelude functions. 2005-12-01 17:27:06 +00:00
aarne 8de44f741e EInteger 2005-12-02 08:46:30 +00:00
aarne b1f6099025 rearranging resource-1.0 2005-12-01 21:18:42 +00:00
aarne d3e74d9aa9 document update 2005-12-01 20:38:22 +00:00
aarne 9fcef260a1 updating documentation 2005-12-01 20:31:25 +00:00
aarne 13855da238 history link 2005-12-01 18:01:22 +00:00
aarne da22eac180 making apply_transfer work 2005-12-01 17:58:31 +00:00
bringert 56f62f31d8 Transfer: Added Double type. 2005-12-01 16:55:57 +00:00
bringert d15acf44b6 Transfer: remove disjunctive patterns from TODO. 2005-12-01 16:19:43 +00:00
bringert 635845eed8 Transfer: added support for disjunctive patterns. 2005-12-01 15:37:47 +00:00
bringert 30bb51372f Added binary numeral grammars. 2005-12-01 13:11:01 +00:00
bringert bb82938d72 Transfer: removed some fixed TODOs. 2005-12-01 11:32:09 +00:00
bringert 4a40cf9861 Transfer: moved stuff around in prelude. Added some new simple instances. 2005-12-01 11:30:15 +00:00
bringert 01028ce52d Transfer: Added Add instance for lists. 2005-12-01 11:18:05 +00:00
bringert 938318d72b Fixed layout stop word bug. 2005-11-30 21:30:36 +00:00
bringert 71fb2c16cd Transfer: added example which makes the layout resolver go wrong. Added binary conversion from numerals. 2005-11-30 21:02:44 +00:00
bringert 7dfa184285 Added bind operators, do-notation, a cons operator and list sytnax. 2005-11-30 20:27:01 +00:00
bringert d92a26fc9b Added monad isntances for List and Maybe. 2005-11-30 18:57:23 +00:00
bringert 12ca29b32b Transfer: derive instances, not functions. 2005-11-30 18:42:45 +00:00
bringert 01d1715994 Transfer: added monad class. fixed Compos class types. 2005-11-30 18:40:29 +00:00
bringert a68cd282cb Transfer: reimplement operators with type classes. 2005-11-30 17:40:32 +00:00
bringert 94b99219b8 Transfer compiler: don't load the same module twice. 2005-11-30 17:40:11 +00:00
bringert 3139bd2a2e Transfer compiler now has a search path. Use -ipath to add to the path. Created CompilerAPI. 2005-11-30 16:32:13 +00:00
bringert cba2fcb9b1 Moved transfer libraries to transfer/lib 2005-11-30 16:00:06 +00:00
bringert 86df2a69b1 Moved class stuff to prelude. 2005-11-30 15:51:43 +00:00
bringert 48b70b2d9b darcs.txt: mention that several patches can be sent at once. 2005-11-30 13:27:53 +00:00
bringert eaf65c4e6a Transfer: Ord extends Eq. 2005-11-30 13:20:04 +00:00
bringert b6ee983432 Fixed typo in overload.tr. 2005-11-30 13:18:43 +00:00
bringert b846b4c4fd Transfer: fleshed out overloading examples. 2005-11-30 12:34:14 +00:00
bringert 71b77a5481 Added transfer Maybe module. 2005-11-30 12:28:50 +00:00
bringert f2e0c40f5b Remove more useless pattern matching and variable bindings in transfer compilation. 2005-11-30 12:04:21 +00:00
bringert afffb0367b Transfer: removed some fixed TODOs. 2005-11-29 19:43:57 +00:00
aarne 68d4cc143f added transfer cases 2005-11-30 09:14:07 +00:00
aarne ac08470c22 transfer added to GF command interpreter[ 2005-11-30 09:04:45 +00:00
bringert 9db05c57f8 Added example of composOp overloading to overload.tr. 2005-11-29 19:43:00 +00:00
bringert d0d110ed6a Added patterns with guards to transfer TODO. 2005-11-29 19:42:43 +00:00
bringert 9a2dea46d1 Use rec and sig for records. 2005-11-29 18:16:33 +00:00
bringert 5b9249a422 Split widesnake example. Changed examples to use rec and sig keywords. 2005-11-29 18:15:15 +00:00
bringert f6159d4bff Added stoneage transfer example. 2005-11-29 17:42:43 +00:00
bringert 9cc9a1fa8b Transfer: let expressions caused non-termination due to excessive strictness, fixed. 2005-11-29 17:40:43 +00:00
bringert f85a51515d Transfer: added derive composFold 2005-11-29 17:08:43 +00:00
bringert 3374034bbf Transfer: support printing meta variable values. 2005-11-29 17:08:08 +00:00
bringert c756b75ad8 Transfer: don't eta-expand overshadowed constructors. 2005-11-29 17:07:17 +00:00
bringert 68411f04f9 Fixed type argument to recursive call in generated composOp. 2005-11-29 16:10:52 +00:00
bringert 0d0c7e5b2d Added numerals example. 2005-11-29 16:00:52 +00:00
bringert bc2c57f5dc Made layout test example more compilcated. 2005-11-29 15:57:51 +00:00
bringert ba9461090e In transfer beta reduction optimization: reduce bottom-up instead of top-down. 2005-11-29 15:56:35 +00:00
bringert eef20fa404 Added meta variables to transfer front-end and core. 2005-11-29 15:48:13 +00:00
bringert 2be80a7e3b Transfer generation: cat constructors should not have tree types. 2005-11-29 14:55:45 +00:00
bringert dc06abd643 Transfer data type generation now uses the Tree type constructor for data constructor types. 2005-11-29 13:59:27 +00:00
bringert 3564aa406b Added GrammarToTransfer. It works, except that the constructor types are missing Tree here and there. 2005-11-29 12:22:40 +00:00
bringert 19f052723f Added TODO about layout bug. 2005-11-28 23:03:22 +00:00
bringert 967891cfd7 Transfer compiler: extended variable removal to variables bound in case expressions. 2005-11-28 23:02:04 +00:00
bringert 884055566e Transfer compilation: Change varibles which are not used to wildcards. 2005-11-28 22:39:53 +00:00
bringert cb6f3088b5 Fixed transfer composOp generation to support tree types that don't take a single type argument. 2005-11-28 22:31:09 +00:00
bringert 5d7bcac1e5 Changed precedence of projection to be higher than application. 2005-11-28 21:45:58 +00:00
bringert 02c23401a7 Changed all example programs to use layout syntax. 2005-11-28 21:45:22 +00:00
bringert 5a82068ddc Regenerated transfer layout syntax module with bug-fixed BNFC. Fixed printing of tokens in correct positions in the layout test program. 2005-11-28 21:25:03 +00:00
bringert 2455b73559 Changed exp.tr to use layout syntax and the Cat type. 2005-11-28 21:24:31 +00:00
bringert 8535445a81 Removed interpreter API TODO. 2005-11-28 19:15:27 +00:00
bringert 9fe010ce58 Removed BNFC layout fix from transfer TODO. 2005-11-28 19:12:50 +00:00
bringert 101f43dcd4 Cleaned up closure stuff in the transfer interpreter. 2005-11-28 19:12:15 +00:00
bringert e74fc3a3b5 Add instructions about compressing patches. 2005-11-26 01:36:32 +00:00
bringert 2f5ee5b6ef Added evaluateExp and builtin to InterpreterAPI. Check for EOF in interactive transfer interpreter mode. 2005-11-25 18:02:36 +00:00
aarne fe1fdf3afd questions and transfer in shell state 2005-11-25 17:40:51 +00:00
bringert dbe8e61acc Move transfer into the GF repo. 2005-11-25 16:36:19 +00:00
bringert fe2731e5f8 Added note about read-write access on Windows. 2005-11-24 16:27:43 +00:00
bringert bb573d016c Document ControlMaster problem in Cygwin. 2005-11-24 15:34:49 +00:00
bringert 4e39769f07 Include darcs-cm wrapper. 2005-11-24 13:05:27 +00:00
bringert 853bcef7b9 Include darcs-cm script. 2005-11-24 12:59:28 +00:00
bringert b71cf25c86 Mention what the ssh -M session looks like. 2005-11-24 10:43:56 +00:00
peb 78e272be3c solved: path problem in SimpleGFC 2005-11-24 10:02:53 +00:00
bringert b3c7bd8e6b Emphasize need to use momo. 2005-11-24 10:31:05 +00:00
bringert a197138357 Added mkdir to chalmers path setup. 2005-11-24 10:27:35 +00:00
aarne 9a9d057a34 simple problem tracing 2005-11-24 09:25:39 +00:00
aarne 2f8514e54a extending proto resource API 2005-11-23 21:38:11 +00:00
bringert fe0408c9a4 Make tools/mktoday.sh executable in dist and snapshot. Reported by Johan Bockgård. 2005-11-23 15:35:21 +00:00
bringert 68e216d7f8 Added srgs_xml_prob to HelpFile. 2005-11-23 13:16:31 +00:00
aarne ce6c032c6f experimenting with English VP 2005-11-22 22:00:47 +00:00
bringert e8cc4b5967 Added SRGS printing and command interruption to gf-history. 2005-11-21 10:21:05 +00:00
bringert 90bdab23e0 Fixed bugs in the snapshot versioning code. 2005-11-18 14:43:44 +00:00
bringert 92973fe78a Fixed snapshot building to use data-based version number. 2005-11-18 14:40:31 +00:00
aarne 7c6210d6e6 matching with "" 2005-11-18 14:24:12 +00:00
aarne 524c4829f9 nondeterministic lexer, e.g. subseqs 2005-11-17 23:17:42 +00:00
bringert e29a1430bf Added section with technical information. 2005-11-17 18:21:42 +00:00
bringert da018afd5a Documented how to record changes when using read-only access. 2005-11-17 18:00:17 +00:00
bringert a889489b95 Added a missing dot in darcs.txt (testing new permissions posthook). 2005-11-17 17:51:47 +00:00
bringert 6cf5a133ab Updated ReleaseProcedure with darcs stuff. 2005-11-17 16:13:37 +00:00
bringert f9e1075bc5 Changed Makefile use of CVS for creating dists to use darcs. 2005-11-17 16:07:51 +00:00
bringert 65b42711d6 Document version requirements for ssh. 2005-11-17 15:57:09 +00:00
bringert 68972edf3e Some formatting fixes. 2005-11-17 15:03:30 +00:00
bringert 2e808d442d Some fixes in darcs.txt. Added darcs.html. 2005-11-17 14:57:23 +00:00
bringert fc0316e7ae Added darcs.txt. 2005-11-17 14:31:15 +00:00
peb 01c9d9ebf2 "Committed_by_peb" 2005-11-16 09:21:21 +00:00
aarne 2cea1a25bb work on cf 2005-11-15 16:56:13 +00:00
aarne 1fd1f44fcc extended cf syntax; Det experiment 2005-11-15 10:43:32 +00:00
aarne f339b8839b arbitrary lincat records; noparse pragmas 2005-11-14 15:03:40 +00:00
aarne 505eb2ec57 project to interpret CLE 2005-11-12 15:26:21 +00:00
aarne 00b435c839 compilation of functors 2005-11-11 22:24:33 +00:00
bringert c52e57411b Made mapAssignM more efficient. 2005-11-11 15:38:00 +00:00
bringert 1c4c17f1b6 More efficient implementations of mapPairsM and mapPairListM 2005-11-11 15:12:41 +00:00
bringert ac4ce06a21 Allow disabling signal support in configure. 2005-11-11 10:12:49 +00:00
bringert 136728e336 Prepared for generation of finite automata in C. 2005-11-10 15:43:44 +00:00
bringert 5ae8cdc3d0 Moved FA and regular grammar printers to a separate module. 2005-11-10 13:19:33 +00:00
aarne e322a9e5e3 started IDE support project 2005-11-09 21:34:01 +00:00
aarne aa3ba333d8 preparing for new ShellState 2005-11-09 14:14:30 +00:00
aarne d1675f0aba trams with mm library 2005-11-07 21:45:22 +00:00
bringert 71cd8efe27 Restore old signal handler after each computation. 2005-11-07 21:27:13 +00:00
bringert abf9823601 Allow interrupting commands with Ctrl-C. Catch exceptions throw by commands. 2005-11-07 19:15:05 +00:00
aarne c113c20862 multimodal resource 2005-11-06 21:00:36 +00:00
aarne 9ee93b4dce tt 2005-11-02 09:51:37 +00:00
bringert 928c84b36c Documented SRGS XML generation. Started working on support for probabilities in SRG generation. Added support for probabilities in for SRGS. 2005-11-01 19:09:04 +00:00
aarne a6cd4c131b variants compilation 2005-11-01 14:39:12 +00:00
aarne 27c65e985d doc of prob 2005-11-01 08:20:09 +00:00
aarne a48236172f PCFG example 2005-11-01 08:10:54 +00:00
aarne f06638cc7d probabilities in ShellState 2005-10-31 18:02:34 +00:00
bringert 94f87d8502 Added SRGS XML grammar printer. 2005-10-31 15:48:08 +00:00
aarne 7c78f5e409 more probs 2005-10-31 07:12:18 +00:00
aarne f9293c6b29 probabilistic 2005-10-30 22:44:00 +00:00
janna 815dda6b4b *** empty log message *** 2005-10-28 08:45:28 +00:00
aarne c9977d50bf so 2005-10-27 12:21:53 +00:00
bringert 9dfa8a5032 Reduced complexity of reachable in FA determinization. 2005-10-27 08:16:30 +00:00
bringert f3bd409b1b Made removeIdenticalRules faster by using sortNubBy instead of nubBy. 2005-10-26 17:47:16 +00:00
bringert a01248d1c9 Removed superfluous Debug.Trace import from SRG.hs. 2005-10-26 16:14:03 +00:00
bringert 3d4200d3fe Moved Graph and Relation stuff to separate modules. Added some QuickCheck properties for Relation. Improved relation datastructure and algorithms, making FA generation much faster. 2005-10-26 16:13:13 +00:00
janna 5a9ec27143 *** empty log message *** 2005-10-16 20:16:05 +00:00
aarne 129c509516 make resource 2005-10-13 12:43:47 +00:00
aarne 7b941a4ffa gt -atoms 2005-10-12 11:38:29 +00:00
aarne ea1dcfd70a Embed/TemplateApp 2005-10-07 12:06:19 +00:00
aarne 01466aa3fd cfgm 2005-10-07 10:24:51 +00:00
aarne bf2fdeb22e eqStr ; pipe to system 2005-10-06 13:21:33 +00:00
aarne c2aeb9ae16 macro commands 2005-10-06 09:02:33 +00:00
aarne a78acc722e grep etc 2005-10-05 19:02:19 +00:00
peb 1703bb826e "Committed_by_peb" 2005-10-05 10:56:42 +00:00
aarne fff9b01aa9 ENglish 2005-10-05 07:47:26 +00:00
aarne 1d83b32f61 data defs 2005-10-04 10:05:06 +00:00
aarne 1ea059cdcb def and List 2005-10-02 19:50:19 +00:00
aarne 1db8b90811 lexer=ignore 2005-09-29 12:20:08 +00:00
aarne 34c0e79259 check deps 2005-09-27 09:25:07 +00:00
aarne 93a57fbbca index 2005-09-22 18:01:26 +00:00
bringert a2ff05dfd9 Added placeholder for minimizing SLF-style automata. 2005-09-22 16:08:48 +00:00
bringert 9bb01bfc38 Generated finite state networks are now state minimal. 2005-09-22 15:56:05 +00:00
aarne eace8bcd68 history 2005-09-20 08:38:12 +00:00
aarne 6d179267de CSEE now works fine 2005-09-20 08:32:55 +00:00
aarne 263beccd56 debugging csee 2005-09-19 15:11:06 +00:00
aarne 517d7ec419 more clee fix 2005-09-19 12:01:18 +00:00
aarne 8342cba9bd debug csee 2005-09-19 09:05:48 +00:00
aarne db4cf670d0 common subexp elimination 2005-09-18 21:55:46 +00:00
aarne 076452779c tabulation optimization 2005-09-16 12:56:12 +00:00
bringert 5171e7d384 Fixed some bugs in the Graphviz printer. 2005-09-15 17:10:44 +00:00
aarne 989fb2e4d3 MAth 2005-09-15 15:22:00 +00:00
bringert eeb833ca43 Started wotking on NFA to DFA. 2005-09-14 17:00:19 +00:00
aarne e3395efbf1 unpar 2005-09-14 15:26:21 +00:00
bringert b109bcaafa Parametrized the type of FAs over the state type. 2005-09-14 15:08:35 +00:00
bringert 6381c27bff Parametrized the Graph type over the node type. 2005-09-14 14:29:53 +00:00
bringert a8bc5590af Added Graphviz module for graphviz stuff. Move a lot of utility functions to GF.Data.Utilities. 2005-09-14 14:17:29 +00:00
peb 16f2bf8cd6 "Committed_by_peb" 2005-09-14 08:51:18 +00:00
aarne 95463f6dba fix in tc 2005-09-13 21:05:32 +00:00
bringert 314a9db89f Added FA and SRG stuff to HelpFile. Fixed typos in history file. 2005-09-13 07:33:56 +00:00
bringert 0199234b2d Added FA approximation to history file. 2005-09-13 07:24:30 +00:00
bringert 42d3ccda90 Fixed makeTransitions/mapTransitions typo in PrSLF. 2005-09-13 07:20:20 +00:00
bringert b90e16b221 Cleaned up some stuff while trying to find a bug. Turned out I just had not set the startcat in the grammar file. Time to go home I think. 2005-09-12 21:32:24 +00:00
bringert 8e53a8e849 Some preparations for graph minimization. 2005-09-12 20:54:32 +00:00
bringert 37ef225420 Used home-grown graph implementation in FiniteState, to remove dependency on fgl. This also lead to a dramatic performance increase. 2005-09-12 20:41:19 +00:00
bringert 01ef25792c Added printer for regular grammars. Changed some foldrs to foldls to improve stack usage. 2005-09-12 15:10:23 +00:00
bringert ddda900d53 Completed unoptimized SLF generation. 2005-09-12 14:46:44 +00:00
hdaniels f882f97a22 Lots of refactorings for gfeditor 2005-09-10 09:15:54 +00:00
bringert aa92464b1c More work on make_fa. 2005-09-08 14:45:17 +00:00
bringert 832a2219c5 Started working on make_fa. 2005-09-08 14:40:49 +00:00
bringert 9508120dd1 Defined compileAutomaton in terms of make_fa 2005-09-08 14:39:12 +00:00
bringert 982a522272 Added the prerequisits for automaton building. 2005-09-07 13:21:30 +00:00
bringert 7bbdc17211 Finished untested function for making context-free grammars regular. 2005-09-06 07:06:42 +00:00
aarne 1a9a2ceaea stat; type of imperatives in lib/resource 2005-09-04 10:45:37 +00:00
bringert 6a01681d73 Some baby stpes closes to ATK SLF generation. 2005-09-02 14:47:46 +00:00
aarne 5e190b38fd parameters to dep 2005-09-01 19:18:55 +00:00
peb 7ad0dda9ed "Committed_by_peb" 2005-09-01 08:53:18 +00:00
aarne f323d48fbb experiment with dep resource 2005-08-31 20:43:38 +00:00
bringert 919ebaade9 Removed -package util (why was it ever there?), since that caused linking with libreadline on Unix, even with --without-readline. 2005-08-31 13:02:32 +00:00
peb f812648dc3 "Committed_by_peb" 2005-08-18 12:18:10 +00:00
aarne b235391d51 edit command ct pos1 pos2; fixed undo bug 2005-08-17 14:13:55 +00:00
aarne dfba9956ae edit command ct pos 2005-08-17 13:43:50 +00:00
peb 73c6ae2a4c "Committed_by_peb" 2005-08-17 07:27:29 +00:00
peb 26b84344f7 "Committed_by_peb" 2005-08-11 13:11:46 +00:00
peb 1351c10133 "Committed_by_peb" 2005-08-08 08:01:10 +00:00
peb b03a738c44 "Committed_by_peb" 2005-08-08 07:09:49 +00:00
bringert edab6db989 Fixed shell scripts for java apps to use windows paths instead of cygwin paths. 2005-07-20 10:34:04 +00:00
bringert c575a9b864 Removed unneeded elements in classpath when building gfeditor in order to work around problems with different path separators. 2005-07-17 14:49:50 +00:00
bringert 7065b5b42e Changed jar target according to Kristofers note about OS X behaviour. 2005-07-17 14:31:47 +00:00
aarne 348406b6a7 correction 2005-07-02 05:37:38 +00:00
aarne 2b33526ca7 oops doc 2005-07-01 19:59:03 +00:00
aarne dc8cc04a91 doc 2005-07-01 19:31:50 +00:00
aarne c4f1ebc2ca Finnish and res doc 2005-07-01 18:54:08 +00:00
peb 0c3da8e32f "Committed_by_peb" 2005-07-01 16:14:26 +00:00
hdaniels f3d774c5f7 Navigating in the tree now works (using absolute positions), what it not always did before. 2005-07-01 14:29:38 +00:00
hdaniels 8f785c8ed4 Append an additional newline before the message from GF. reordering of read and form methods. 2005-07-01 11:40:50 +00:00
hdaniels be4ad4a7cf Eliminated result as a global variable 2005-07-01 08:47:21 +00:00
aarne c8a190cba9 vt -o doc 2005-07-01 07:19:01 +00:00
aarne d27fd4913b vt -o ; Finnish infinitives 2005-07-01 07:16:31 +00:00
aarne 4d94cdfd66 gfcm in Java ; Finnish close to finished 2005-06-30 22:09:36 +00:00
aarne 7bb9e88cb8 Updated version numbers. 2005-06-30 10:36:49 +00:00
aarne cbb34f6518 work on Finnish 2005-06-30 07:35:01 +00:00
hdaniels 4a0abcaf1f parsing via middle-click works now 2005-06-29 17:53:04 +00:00
aarne 093ac15f72 unoptimize for Java ; Finnish 2005-06-29 15:27:56 +00:00
aarne 99ea0f8bfc more Finnish 2005-06-29 09:31:56 +00:00
aarne 14cd757e13 started Finnish 2005-06-28 17:36:42 +00:00
aarne fc0e0eee39 history updates 2005-06-27 14:15:24 +00:00
aarne 2d8dd807d8 added README on Dj Godis 2005-06-27 12:32:04 +00:00
aarne 3c508f4f89 added Ann-Charlotte's grammars 2005-06-27 12:20:33 +00:00
aarne b9e13711db Finnish close to production ; Predef.occurs 2005-06-26 19:40:31 +00:00
hdaniels 5d6bb705e6 Fixed double r 'refine ...' or even refine 'refine ...' 2005-06-23 15:23:32 +00:00
hdaniels 8dbdf17270 added a prominent place for the current tooltip description + bugfixes there 2005-06-23 14:38:52 +00:00
aarne 22b5b12a2a finnish vowel harmony unlexer ; optimizations and mcfg 2005-06-23 13:32:43 +00:00
peb 34e441d2e3 "Committed_by_peb" 2005-06-23 12:23:01 +00:00
hdaniels 46e7ad75aa better icon for the editor 2005-06-23 11:48:10 +00:00
hdaniels 82a8acca71 added an application icon for gfeditor. But the icon itself is worth improvement 2005-06-23 10:52:38 +00:00
hdaniels c9b5a36e03 changed 'Open' into 'Open Text' and 'New Topic' into 'New Grammar' 2005-06-23 10:18:36 +00:00
hdaniels c68aa2b0e6 added GPL headers to JavaGUI2. Include LICENSE files in gfeditor.jar 2005-06-23 09:18:52 +00:00
peb 5438bcfc9a "Committed_by_peb" 2005-06-23 08:43:40 +00:00
hdaniels 1f193ff830 reduced log level if no param descriptions are present 2005-06-22 14:57:02 +00:00
hdaniels 8d79dd035a deleted log4j jar. It is no more used. 2005-06-22 14:53:10 +00:00
hdaniels 46976becbd removed calls to log4j. Logging sth. does not work yet 2005-06-22 14:48:25 +00:00
hdaniels e7a7f7b223 typed menu entries even with printnames, on exit one is asked if 'text' instead of 'constraint' should be saved 2005-06-22 12:09:08 +00:00
bringert ae2627ff5b Fixed some formatting errors in the rpm spec. 2005-06-22 11:54:57 +00:00
aarne 20f694b8e9 printname cat bug fixed 2005-06-22 07:52:02 +00:00
bringert 5398983836 Fixed silly typo in Makefile.binary. 2005-06-21 18:56:32 +00:00
bringert 50f52aa183 Delete GF_DATA_DIR in binary dist uninstall. 2005-06-21 18:55:32 +00:00
hdaniels 7d32e5b390 added gfeditor script to Makefile.binary 2005-06-21 18:52:45 +00:00
bringert f96b05923a Include gfeditor.in in binary dists. 2005-06-21 18:50:27 +00:00
hdaniels 37ac948641 Changed gf.spec to produce a rpm for the HTML and printnames enhanced editor. Package called editor2 2005-06-21 18:46:37 +00:00
hdaniels 6693b50c9d added daniels' version of the Java editor 2005-06-21 18:40:22 +00:00
aarne 0c71d62d4c better tree viz 2005-06-21 14:49:08 +00:00
bringert 1073bc1d3f Wrote about list syntax in gf-history.html 2005-06-21 14:19:03 +00:00
aarne 9cf71d3bba parse tree visualization 2005-06-20 15:14:19 +00:00
bringert 2c48a10236 Changed name of Con constructor in GFC.cf to avoid errors on Windows when generating Java code with BNFC for the GFC grammar. CON is a reserved filename on Windows. Con was changed to Par, and all the code using was changed too. 2005-06-17 13:15:16 +00:00
bringert 05b5ffe5bf Added beginnings of ATK SLF generation. 2005-06-17 11:46:04 +00:00
bringert 30e3a8fd99 Generate Haskell lists for GF lists. 2005-06-17 11:39:07 +00:00
aarne fd56758c40 started Finnish paradigms (still dummy); exper with non-precomuted gfr 2005-06-14 19:09:56 +00:00
aarne a40d1b5305 some more tense in FInnish 2005-06-14 14:43:03 +00:00
aarne e2cc1184d4 undo k and keep position in editor 2005-06-11 19:27:05 +00:00
aarne 6a66fc5d71 gfe as preprocessing to compiler 2005-06-10 20:04:00 +00:00
aarne 3f192bd2bb editor command pc n ; resource/finnish 2005-06-10 14:59:58 +00:00
aarne 17c4219691 qualified cat in gfe 2005-06-06 08:56:28 +00:00
aarne 9d6aaadb03 improved parsing of gfe 2005-06-05 08:11:00 +00:00
aarne e6e29eab78 editor command sequence 2005-06-03 21:44:36 +00:00
aarne 0bb4ffe057 oops 2005-06-03 20:53:36 +00:00
aarne e8aa32d746 example substitutions 2005-06-03 20:51:58 +00:00
aarne 4b281ab7d6 adjusting doc on gfe 2005-06-03 08:35:22 +00:00
aarne 2e0b40f138 improved gfe; sloc stats 2005-06-03 07:29:37 +00:00
aarne f0e13dd29f better MkConcrete and example in lib/resource/doc/example 2005-06-02 16:31:56 +00:00
aarne a38a894481 lin rules by parsing 2005-06-02 09:23:52 +00:00
aarne d1ce9df464 history doc 2005-05-31 19:27:58 +00:00
aarne d4c1a0f09d cf for restricted import; new API funs 2005-05-31 11:47:51 +00:00
aarne 3a3342a0f9 restricted inheritance almost implemented 2005-05-30 20:08:14 +00:00
aarne 5bf9a7fe70 BinTree vs. FiniteMap 2005-05-30 17:39:43 +00:00
aarne 24d5b02523 a dialogue resource started 2005-05-30 15:22:42 +00:00
peb e04956a42d "Committed_by_peb" 2005-05-30 07:11:32 +00:00
aarne 136b0203eb experiment with gfc input 2005-05-27 20:05:17 +00:00
aarne dc49b7a891 lib path and * 2005-05-27 10:37:57 +00:00
aarne 276a08a0d7 paths 2005-05-27 07:13:35 +00:00
aarne f77c9c86ae include - in header 2005-05-26 13:34:21 +00:00
aarne 9a756a3ac1 romance Inf ; %, included 2005-05-26 13:18:17 +00:00
bringert 71c50e18d3 Added new GF.cf. 2005-05-26 08:26:18 +00:00
aarne 908add0d17 printing % 2005-05-25 18:59:59 +00:00
bringert ef49f67b1c Added very basic list test grammars. 2005-05-25 09:42:32 +00:00
bringert 65bc1948d4 Added support for list categories. 2005-05-25 09:41:59 +00:00
bringert 4690a23538 Use explicit imports from SourceToGrammar 2005-05-25 09:27:12 +00:00
bringert 820be04201 Updated GF language doc to include list categories. 2005-05-25 09:20:00 +00:00
aarne 04f6e91ee8 disc. cont in tut 2005-05-23 20:16:29 +00:00
aarne f4a453c119 Spanish verbs (almost) corrected 2005-05-23 15:42:54 +00:00
aarne d3e1fdd291 stared on discont const 2005-05-23 07:05:08 +00:00
aarne 3984f65688 improved resource doc 2005-05-22 18:43:00 +00:00
aarne 1a292ca64e Spanish 2005-05-22 09:12:49 +00:00
aarne 0441f07242 oops, doc 2005-05-20 15:59:51 +00:00
aarne f6a921cf6c more quick start 2005-05-20 15:57:11 +00:00
bringert 06469bd953 i, wf, af, rf commands unquote first argument. 2005-05-20 13:34:11 +00:00
bringert 8952bb9abd Allow quoted strings for shell command arguments. 2005-05-20 13:18:15 +00:00
bringert e10c1bea53 Allow both slash and backslash as separators. 2005-05-20 12:31:28 +00:00
bringert 058bc27936 Mark platform-specific functions that need to be fixed. 2005-05-20 12:12:33 +00:00
peb d04c1afb2b "Committed_by_peb" 2005-05-20 08:42:18 +00:00
aarne b89cfa7c5d optimize restriction doc 2005-05-20 07:12:45 +00:00
aarne f2bd241375 quick start 2005-05-20 06:48:07 +00:00
bringert 9843884512 Only create gf.wxs when build MSI package, to avoid including it in binary dists. 2005-05-19 19:19:10 +00:00
bringert b6028484a6 Use $(TAR) instead of gtar in Makefile 2005-05-19 19:11:18 +00:00
bringert 8f34e389bc Look for tar in configure, since we must have gtar on Solaris and tar on Windows. 2005-05-19 19:07:18 +00:00
bringert f0e3d46b33 Added jgf.bat. Set GF_HOME variable and use it in jgf.bat. 2005-05-19 17:56:30 +00:00
bringert 138ac2dece Clean target now works in cygwin. Quoted paths to java executables to handle spaces in paths. Include more files in the MSI package. Disable readline automatically on GHC 6.4 for Windows. 2005-05-19 17:19:42 +00:00
bringert c2ac91bc16 Can now build Windows MSI packages using WiX. 2005-05-19 14:19:13 +00:00
bringert fb90359e32 Allow setting GHCFLAGS with configure. 2005-05-19 12:48:00 +00:00
peb a3bdf26f22 "Committed_by_peb" 2005-05-18 08:04:07 +00:00
aarne d57b5b2416 reformulate vint-i 2005-05-18 07:51:54 +00:00
bringert 6446a9f8b5 Changed wording of -utf8id highlight. 2005-05-17 19:13:48 +00:00
bringert b7a27396b5 Added a few more highlights. 2005-05-17 19:12:58 +00:00
aarne 5d511c397e index moved 2005-05-17 19:12:42 +00:00
aarne 9a59b5e4fd index and bib 2005-05-17 19:12:04 +00:00
bringert f56d32a96e Added SourceForge file release stuff and grammar dist building to ReleaseProcedure. 2005-05-17 18:56:31 +00:00
aarne 6dd070f12e index etc 2005-05-17 18:50:43 +00:00
bringert 1d6094c7ef Updated version numbers to 2.2. 2005-05-17 18:04:01 +00:00
aarne a0cc2e00c9 index 2005-05-17 16:43:55 +00:00
aarne ef10aef38a some doc fixes 2005-05-17 16:25:50 +00:00
aarne f592002e7d some doc for release 2005-05-17 16:16:59 +00:00
bringert 8abf80dc4d Changed CFGM format and printer to allow constants in profiles. 2005-05-17 13:04:35 +00:00
peb 31044ec728 "Committed_by_peb" 2005-05-17 12:38:46 +00:00
aarne b12608fb09 ml and tl 2005-05-17 11:37:17 +00:00
peb 9b42aff901 "Committed_by_peb" 2005-05-17 10:20:25 +00:00
aarne fc11aeef6d more in tutorial 2005-05-16 16:07:18 +00:00
aarne 486eed70c5 on resource 2005-05-15 19:14:15 +00:00
aarne 3304438e5a corrected option order; tutorial 2005-05-14 07:38:55 +00:00
peb 20eae7786f "Committed_by_peb" 2005-05-13 11:40:18 +00:00
bringert 0853d7bcfb Added defattr for editor rpm files. 2005-05-13 08:30:46 +00:00
aarne f496c49263 index and tutorial 2005-05-12 16:12:03 +00:00
bringert 73a60aabf5 Added grammar-dist target. 2005-05-12 13:10:16 +00:00
bringert d31e5a4d44 Restored package name to upper case GF. 2005-05-12 12:20:41 +00:00
bringert 1d2830d8bd Split rpm into gf and gf-editor rpms. 2005-05-12 12:19:03 +00:00
bringert 24f2eb8e33 Put RPM-building stuff on one line. 2005-05-12 09:23:46 +00:00
bringert 1e5041cc78 Changed version to 2.2pre2 2005-05-12 09:22:09 +00:00
bringert c7b82c43e2 Add optP/optl flags only when needed, and last to avoid ghc 6.2.1
Add optP/optl flags only when needed, and last to avoid ghc 6.2.1
problems.
2005-05-12 09:21:26 +00:00
aarne ae60299c7d pre-release adjustments 2005-05-12 09:03:33 +00:00
bringert d50c932a41 Use -optl/-optP hacks to pass CPPFLAGS and LDFLAGS 2005-05-11 14:50:35 +00:00
bringert 20a0ff0bff Changed version number to 2.2pre1 because of rpm requirements. 2005-05-11 14:44:27 +00:00
bringert ebc7114469 Fixed more jgf.in weirdness. 2005-05-11 14:03:15 +00:00
bringert e3caa322bc Fixed some shell spacing weirdness in the jgf script. 2005-05-11 13:57:17 +00:00
bringert d06f41240b Print more useful erro messages when GF cannot be started. 2005-05-11 13:52:06 +00:00
bringert c3da162360 Quote and print command in jgf 2005-05-11 13:39:47 +00:00
bringert a3ad05ad10 Fixed typo in binary-dist target. 2005-05-11 13:29:14 +00:00
bringert 5a4b683d10 Set version to 2.2-pre1 2005-05-11 13:23:12 +00:00
bringert 11b9dee938 Updated RPM spec for 2.2 release. 2005-05-11 13:20:01 +00:00
peb 54a1e0f879 "Committed_by_peb" 2005-05-11 09:28:16 +00:00
bringert faa3144390 Fixed some missing lincats and a syntax error introduced when adding lincats. 2005-05-11 08:34:17 +00:00
bringert 6ad5b937bb Added all missing lincats in numerals grammars. 2005-05-11 08:10:23 +00:00
bringert 3645de0113 Fix conditional checks so that java code is compiled when it should. 2005-05-11 07:38:11 +00:00
bringert 63d3bb58ee Made conditional compilation of readline stuff cleaner 2005-05-10 14:04:01 +00:00
bringert 2fa6b60d04 Added option to disable readline. 2005-05-10 13:55:01 +00:00
aarne 41657fed46 tiny fixes 2005-05-10 13:16:59 +00:00
peb 6f3229f087 "Committed_by_peb" 2005-05-10 11:52:06 +00:00
aarne 5111762d31 modules for embedded GF 2005-05-10 11:49:13 +00:00
bringert 75f12f69e3 Updated INSTALL, removing difference between windows and unix. 2005-05-10 11:07:45 +00:00
bringert 09efc28c01 Allow disabling building of Java components 2005-05-10 11:05:40 +00:00
bringert 6896332b66 Get executable suffix in configure, unify unix and windows make targets. 2005-05-10 10:45:00 +00:00
aarne 0d5329eaf8 typos 2005-05-09 16:49:49 +00:00
aarne 8d5e4b2538 preliminary release 2005-05-09 16:36:17 +00:00
aarne 6a79b6fe2d empty in pre 2005-05-09 14:44:59 +00:00
bringert 3ce7d2ca18 Use GHCFLAGS when compiling for windows. 2005-05-09 14:29:25 +00:00
aarne 2805a8ee2c fix in CheckGrammar case exprs 2005-05-09 08:45:23 +00:00
peb 2b059b811d "Committed_by_peb" 2005-05-09 08:25:56 +00:00
bringert 01696e4f86 Removed use of lang package. 2005-05-02 08:18:34 +00:00
aarne 830f7c14bc library adjustments, error message clean-up 2005-04-28 15:42:47 +00:00
bringert 8b7e450f1c Changed IOExts import to Debug.Trace 2005-04-26 08:54:11 +00:00
aarne 8f84c1934c record extension typs checking fixed 2005-04-25 17:19:32 +00:00
bringert d4b55ae65f Updated config.sub after bug report that configure does not work on x86-64. 2005-04-25 15:23:06 +00:00
bringert 153418f0aa Some small Makefile dist tweaks 2005-04-21 16:17:05 +00:00
bringert a7532df686 Changed version to 2.2 2005-04-21 16:13:35 +00:00
bringert e2b689cea3 Cleaned up Makefile 2005-04-21 16:12:10 +00:00
bringert f3bdbbef58 Removed for-ghc, for-ghc-nofud and for-windows directories. 2005-04-21 15:45:56 +00:00
bringert 5c9917ff8d Fixed module names and imports after giant file move. 2005-04-21 15:21:02 +00:00
bringert 3433c97848 Removed GF/UseGrammar/TeachYourself.hs, it seems to have been replaced by GF/Shell/TeachYourself.hs 2005-04-21 10:47:28 +00:00
bringert a2662cd563 Added new HelpFile 2005-04-21 10:40:58 +00:00
bringert 2d420088a2 Removed HelpFile.hs from top-level. 2005-04-21 10:39:29 +00:00
bringert 5f999f0eef A bunch of Makefile fixes. Moved HelpFile and HelpFile.hs. 2005-04-21 10:38:24 +00:00
bringert ed5b70164d Removed some now removed dirs from NOT_IN_DIST 2005-04-21 10:14:47 +00:00
bringert 9b8d7a994f Changed mktoday to generate use hierarchical name 2005-04-21 10:11:21 +00:00
aarne 3155a82696 smaller exx 2005-04-20 19:55:00 +00:00
aarne eabbc979df sub in modules 2005-04-20 19:22:38 +00:00
aarne b60b42ccef pg printnames 2005-04-20 19:09:19 +00:00
peb 78108f7817 "Committed_by_peb" 2005-04-20 11:49:44 +00:00
peb 5621344c73 "Committed_by_peb" 2005-04-19 10:57:18 +00:00
peb 6e93b2c4c6 "Committed_by_peb" 2005-04-19 09:46:07 +00:00
peb c1592825c7 "Committed_by_peb" 2005-04-18 13:55:32 +00:00
aarne 1323b74063 defLinType and pr no s label 2005-04-17 18:48:34 +00:00
aarne df4f4bcd6f shrank example 2005-04-17 18:47:51 +00:00
aarne 2f692a7dd2 more fixes in htmls 2005-04-17 16:29:51 +00:00
aarne e21633c5df minor fixes in htmls 2005-04-16 19:24:42 +00:00
aarne adecc423db added toc generation to htmls 2005-04-16 16:35:42 +00:00
aarne 026701b2f7 oops, renamed files 2005-04-16 16:02:51 +00:00
aarne b71611851a arrived to the module system 2005-04-16 16:02:03 +00:00
aarne e24a8298f0 new tutorial 2005-04-16 11:32:08 +00:00
peb 9e510f5245 "Committed_by_peb" 2005-04-16 04:40:48 +00:00
aarne 9d112935dc links 2005-04-15 18:58:58 +00:00
bringert 2c36d9c623 Removed some dead code from gsl and cfgm generation. 2005-04-15 08:45:32 +00:00
peb 5207c27bff "Committed_by_peb" 2005-04-14 17:38:36 +00:00
peb f070a412a1 "Committed_by_peb" 2005-04-14 10:42:05 +00:00
aarne 03fad6e1b8 updated resource doc 2005-04-12 14:20:29 +00:00
peb fa6ba9a531 "Committed_by_peb" 2005-04-12 09:49:44 +00:00
aarne 5f25c82817 corrected gf-modules 2005-04-11 15:03:03 +00:00
peb ac00f77dad "Committed_by_peb" 2005-04-11 12:57:45 +00:00
aarne f6273f7033 module rules added 2005-04-10 18:40:08 +00:00
aarne dc0ec11e28 just module rules missing 2005-04-10 15:57:33 +00:00
aarne 792fea08bd still more tutorial to the module system 2005-04-10 15:29:39 +00:00
aarne 46fbfe4bff more tutorial to the module system 2005-04-10 10:39:34 +00:00
aarne 43559cdd6e tutorial to the module system 2005-04-10 08:42:25 +00:00
bringert 7fd69dad23 Added italian stoneage grammar to stoneage grammar script 2005-04-07 16:01:48 +00:00
aarne 2c6c4e4bce Italian Swadesh (incomplete) 2005-04-04 20:14:41 +00:00
aarne f7ecc10d13 started Italian Swadesh 2005-04-04 16:29:18 +00:00
aarne 41108818c9 support for multi-character string literals 2005-04-04 14:50:27 +00:00
aarne 3f91f61735 mapStr ; appPredefined in err monad 2005-04-01 20:24:24 +00:00
aarne 75c08d7abf capitalization in lexer 2005-03-31 15:57:35 +00:00
aarne 0151c5c418 new unlexers ; work on Romance 2005-03-31 14:47:42 +00:00
aarne 70deda4132 ArchEdit moved; spanish/Structural now works 2005-03-30 11:41:12 +00:00
aarne 3c11f7e112 removed deprecated stuff; changed parser default 2005-03-29 12:26:34 +00:00
peb 2160e648da "Committed_by_peb" 2005-03-29 10:58:46 +00:00
peb 67aa6e7a81 "Committed_by_peb" 2005-03-29 10:17:53 +00:00
peb ccf6017b03 "Committed_by_peb" 2005-03-21 21:40:03 +00:00
peb 531be3a72e "Committed_by_peb" 2005-03-21 21:31:43 +00:00
bringert 75d228629a Build cfgm files using the nondeterministic conversion. Allow coercions in cfgm rule functions and remove the name. 2005-03-21 13:27:04 +00:00
peb 96a08c9df4 "Committed_by_peb" 2005-03-21 13:17:44 +00:00
peb aef9430eb0 "Committed_by_peb" 2005-03-21 12:54:24 +00:00
peb b36e9e32c6 "Committed_by_peb" 2005-03-21 12:16:27 +00:00
peb dbae321c69 "Committed_by_peb" 2005-03-18 09:17:10 +00:00
aarne 5b9d27ee9f fix in TC handling with qualified names 2005-03-17 08:58:18 +00:00
aarne 1f16988540 fixed an end tag 2005-03-15 16:44:59 +00:00
aarne 4f8bb52fc4 news in index 2005-03-15 16:38:18 +00:00
aarne c68a3fd63d bug fixes in dependency handling 2005-03-15 16:18:51 +00:00
bringert b3f5d1f0fe Changed Think to an action without an object. 2005-03-15 15:38:20 +00:00
peb 581ead0a73 "Committed_by_peb" 2005-03-15 10:18:51 +00:00
krijo 2edae8de54 Err is now an instance of MonadPlus. 2005-03-14 22:45:36 +00:00
aarne 4ca5d0b507 swadesh fixes; bug fix in i -old 2005-03-14 16:40:08 +00:00
aarne 623521c70b French Swadesh, some bugs remain 2005-03-13 21:29:29 +00:00
aarne 79fd7902f0 Norwegian checked 2005-03-13 11:09:51 +00:00
aarne 505d19f4d2 checkd BasicNor and half of SwadeshNor 2005-03-13 09:55:09 +00:00
aarne f11a6b6813 fixed lbnf printing 2005-03-12 12:01:48 +00:00
bringert 8886f40660 Include norwegian stoneage grammar in stoneage.gfcm 2005-03-11 15:04:46 +00:00
aarne 328cf308f3 Norwegian Swadesh (raw); bug fix in TC of variants 2005-03-11 14:37:18 +00:00
bringert 1507a4afcd Added snapshot target 2005-03-11 14:04:03 +00:00
bringert e8d082fb82 Disabled stoneage conjunction. Added optimize=share to stoneage grammars. 2005-03-10 13:29:47 +00:00
aarne 03b2d09e79 hmsg for Hajo's editor 2005-03-10 10:14:10 +00:00
bringert 2bbc7418eb Added this, that, conjunctions and giving to stoneage grammars. 2005-03-09 20:13:24 +00:00
bringert e037fe087f Fixed a number of error in swedish verbs, swadesh and stoneage grammars found by random generation and just talking to the system. 2005-03-09 19:34:27 +00:00
bringert 24e55ad36d Added mkStoneage script, added missing linearizations in swedish stoneage grammar 2005-03-09 16:24:53 +00:00
bringert 92012958ac Added The_Many to stoneage grammar 2005-03-08 17:21:50 +00:00
aarne 73b0f9dbab auto-insert default lincat; eliminate deps bug; less verbosity in import; take away word order variants in Scand 2005-03-08 17:08:58 +00:00
bringert eefced4abe Use Phr for S linearization. 2005-03-08 16:38:12 +00:00
bringert a1aa9c01e6 Removed unused utf8-conversion code. 2005-03-08 14:51:17 +00:00
bringert e19f8f8922 Switched to doing utf8-conversion after pretty-printing. 2005-03-08 14:49:24 +00:00
bringert 7194efcea8 Finished UTF8 identifier conversion. Will probably redo it at string level, i.e. after pretty-printing instead 2005-03-08 14:31:22 +00:00
bringert a4b8921544 Added onTermIdents function. 2005-03-07 16:50:00 +00:00
peb dcf87cd664 "Committed_by_peb" 2005-03-07 11:44:09 +00:00
bringert b2fa8408c6 Removed some old dead code. The functionality is in API.hs. 2005-03-04 13:08:36 +00:00
bringert 40191cc5b2 Added swedish linearizations of left and right 2005-03-04 11:34:09 +00:00
bringert da66378851 Changed PresV to PresV2 for transitive verbs in StoneageResEng. 2005-03-04 11:20:14 +00:00
bringert 55465542c1 Use StoneageResEng, not the now non-existing StoneageRes 2005-03-04 11:12:36 +00:00
aarne 172d19ade9 gt with metavariables fixed 2005-03-04 11:05:10 +00:00
aarne 270b54395f one more improvement in gt 2005-03-04 07:12:56 +00:00
aarne 198ac61a65 better gt all the way 2005-03-03 15:40:51 +00:00
aarne f07ea93082 better gt 2005-03-03 15:10:37 +00:00
bringert 0caa34b163 Added not yet working swedish stoneage stuff. 2005-03-02 13:48:06 +00:00
aarne df0db79480 sorry, removed StoneageEng first by accident 2005-03-02 13:45:14 +00:00
aarne 696f85fdd6 Sats 2005-03-02 13:42:41 +00:00
aarne 48deedea14 fixed shell solve command 2005-03-02 13:25:45 +00:00
peb 7b08eb7ffd "Committed_by_peb" 2005-03-02 13:22:53 +00:00
aarne d1a21f9562 bug fixes in generate and type check 2005-03-02 08:43:52 +00:00
janna 0bd427b5a8 *** empty log message *** 2005-02-28 21:21:24 +00:00
bringert baf836e436 Added half-finished swedish swadesh lexicon. 2005-02-25 17:01:02 +00:00
aarne 115be3d52b p by lines, lin to multi 2005-02-25 14:35:48 +00:00
bringert 224244c825 Added numeral determiners to stoneage grammar 2005-02-25 14:18:46 +00:00
bringert 370125adc9 Added pronouns to stoneage grammar. 2005-02-25 14:13:13 +00:00
bringert ed4fd35555 Added stonage grammar (abstract and english), which uses the Swadesh lexicon. 2005-02-25 12:44:16 +00:00
peb bf436aebaa "Committed_by_peb" 2005-02-24 10:46:37 +00:00
bringert 0137dd5511 Added export list to TransformCFG and removed obsolete headers from other speech files. 2005-02-22 12:35:19 +00:00
bringert fd08b83a6a Build java code and gfdoc when doing make all, since this is needed by make install. 2005-02-22 12:33:25 +00:00
peb 33962f95df "Committed_by_peb" 2005-02-22 12:31:44 +00:00
peb ddc2276771 "Committed_by_peb" 2005-02-22 11:57:12 +00:00
peb 9568d7a844 "Committed_by_peb" 2005-02-18 18:21:06 +00:00
aarne 1c4f025320 error msg in update 2005-02-18 15:30:05 +00:00
aarne 75b03fb624 working on resource doc and exx, fixing bugs 2005-02-18 13:53:29 +00:00
peb bafc9fbd05 "Committed_by_peb" 2005-02-17 09:21:04 +00:00
peb 359f1b8ea2 "Committed_by_peb" 2005-02-17 09:12:32 +00:00
peb 55f889eda8 "Committed_by_peb" 2005-02-16 10:33:05 +00:00
aarne f8df4df530 record type extension freshness check 2005-02-15 10:06:30 +00:00
aarne 1befa19e22 command vg 2005-02-11 15:08:10 +00:00
aarne b90332065c bugfix in make of incomplete 2005-02-11 11:06:47 +00:00
aarne 012d2dd0c4 more on romance 2005-02-11 08:11:29 +00:00
peb 40aed94124 "Committed_by_peb" 2005-02-11 06:08:28 +00:00
aarne d676355271 gfc generation to incomplete modules 2005-02-10 09:43:33 +00:00
peb 9afbd25b64 "Committed_by_peb" 2005-02-09 19:45:54 +00:00
aarne c467ef8d03 cleaned up French verbs 2005-02-09 16:50:49 +00:00
peb a0d4129863 "Committed_by_peb" 2005-02-09 11:46:54 +00:00
aarne 4fd0c636f8 unlexer concat 2005-02-08 15:35:58 +00:00
peb 6fe9cca0ff "Committed_by_peb" 2005-02-07 09:58:08 +00:00
bringert cec6ea60bd Convert tokens to lower case when printing GSL. 2005-02-07 08:39:00 +00:00
aarne a19fce9abb optimization on src 2005-02-07 08:00:48 +00:00
aarne 92ba304626 tuning resource API 2005-02-06 09:52:19 +00:00
aarne a1e8229910 cleand up Structural 2005-02-05 20:52:31 +00:00
aarne 45f3b7d5e7 optimization flags and improver eng 2005-02-05 09:52:04 +00:00
aarne bc05653e82 resources and new instantiation syntax 2005-02-04 19:17:57 +00:00
bringert b8b5139a8a Removed module headers from generated files with pragmas 2005-02-04 13:17:06 +00:00
peb 6381f3a998 "Committed_by_peb" 2005-02-04 09:10:28 +00:00
peb b2a6b1a176 "Committed_by_peb" 2005-02-04 08:57:10 +00:00
peb 54e7b5a5ef "Committed_by_peb" 2005-02-04 08:46:17 +00:00
peb 1afb28b644 "Committed_by_peb" 2005-02-03 14:23:02 +00:00
peb 4a5a48157f "Committed_by_peb" 2005-02-03 14:13:35 +00:00
peb a7b25a9ca4 "Committed_by_peb" 2005-02-02 14:37:28 +00:00
aarne ca6dfea53e tense update for lib/resource/english 2005-01-30 14:45:01 +00:00
bringert 8947c49066 Make first letter in GSL category names upper case. 2005-01-28 15:57:59 +00:00
krijo 37db5016a8 Handling absolute paths in prefixPathName :: String -> FilePath -> FilePath
Handling absolute paths in prefixPathName :: String -> FilePath -> FilePath
(absolute paths are simply never prefixed).
2005-01-24 15:41:16 +00:00
aarne d911208046 bug fixes in Danish 2005-01-19 19:58:31 +00:00
aarne 87b55df10f -val optimization 2005-01-11 15:06:12 +00:00
janna bb3d2e1d42 *** empty log message *** 2005-01-07 19:48:22 +00:00
aarne 46f85fb13a command cm 2004-12-29 13:48:41 +00:00
janna bba1cb2d10 *** empty log message *** 2004-12-22 15:11:10 +00:00
janna 310ba62601 *** empty log message *** 2004-12-22 14:47:06 +00:00
janna 49e901ec65 *** empty log message *** 2004-12-22 14:37:46 +00:00
aarne bf022485b3 ShellState.changeMain 2004-12-22 12:49:44 +00:00
aarne 6e1f41b26a gfcc in Types 2004-12-20 07:57:05 +00:00
bringert 8caa3ed737 Added script for creating a clickable module dependency graph. 2004-12-10 15:24:50 +00:00
bringert 1711cac062 Minor clean-up and comment in module dep visualization. 2004-12-10 14:56:52 +00:00
bringert 95d434bbd2 Added visualization of source modules. 2004-12-10 14:02:00 +00:00
bringert 0d99169a7f Make flag value checking depend on the command. Fixed spurious error messages with pm -printer values. 2004-12-09 09:51:41 +00:00
janna 087b30adc9 *** empty log message *** 2004-12-08 22:16:18 +00:00
bringert ecd0594547 Generated GF and GFC lexers with BNFC with string sharing support. 2004-12-08 13:21:40 +00:00
janna b5ab17ca73 *** empty log message *** 2004-12-07 20:37:36 +00:00
bringert d42984a08f Do string sharing after unescaping in source and canonical grammars. 2004-12-07 13:02:27 +00:00
bringert eaa2dcde07 More sharing of reserved words in GF and GFC lexers. Added GF lexer alex file. 2004-12-06 19:08:58 +00:00
bringert 0098d5e943 Use strict parser and GHC-specific lexer for source grammars. 2004-12-06 17:44:59 +00:00
bringert 798cb37002 Use HashTable to share strings in tokens when parsing GFC files. 2004-12-06 16:02:08 +00:00
janna b637293072 *** empty log message *** 2004-12-04 10:50:49 +00:00
aarne b0fc3c72f4 experiment with new Rename 2004-12-03 16:04:25 +00:00
bringert 2e5bd1b547 Made GFC parser strict. Generated GFC lexer with alex -g. In total, this drops the memory residency after loading a large gfc file by about 40%. 2004-12-02 16:13:16 +00:00
bringert 78fa296cac Changed default optimization level to -O2 2004-12-01 14:14:07 +00:00
janna 1937fbfab3 *** empty log message *** 2004-11-29 19:42:14 +00:00
aarne 84c23918d0 finishing verbs; bug fixes in comp 2004-11-27 08:13:45 +00:00
bringert fcbe58ef07 Added module file (hacky) URLs to nodes. 2004-11-26 14:53:44 +00:00
bringert 198c84c77f Added case (error) for transfer modules. 2004-11-24 18:07:04 +00:00
bringert a16a420bed Added module graph visualization. 2004-11-24 17:54:58 +00:00
aarne 3d3a2080af resturcturing french resource 2004-11-17 14:33:15 +00:00
aarne 543d2c976a French logic 2004-11-12 09:49:36 +00:00
bringert 8b35ece65f Added uninstall target to Makefile in binary dists. jgf now looks for a jvm if the hardcoded one is not found. 2004-11-11 15:05:41 +00:00
bringert 29d00145cc Added uninstall target for binary tarballs 2004-11-11 14:49:07 +00:00
aarne 010e247445 testing ParadigmsFre 2004-11-11 14:41:51 +00:00
janna 001ff1b564 *** empty log message *** 2004-11-09 20:08:45 +00:00
aarne b183a0a7bc Test.hs 2004-11-09 18:12:51 +00:00
aarne 12b9b5f3d3 Index 2004-11-09 12:08:52 +00:00
aarne 2ddf0e01b7 exe 2004-11-09 07:37:43 +00:00
aarne 53ffb6d7a9 book 2004-11-08 16:04:58 +00:00
aarne a9d164ac68 doc 2004-11-08 15:54:55 +00:00
aarne d3bf9fcf47 download doc 2004-11-08 15:30:40 +00:00
aarne 012fa1f6b1 rpm 2004-11-08 14:39:18 +00:00
aarne c845ef57bb INSTALL 2004-11-08 13:57:50 +00:00
aarne 1a8c6fbbb8 make 2004-11-08 13:47:15 +00:00
aarne 01e206b979 2.1 2004-11-08 13:46:34 +00:00
aarne 5a1225aa56 doc pdf 2004-11-08 13:29:38 +00:00
aarne 86ac63bbfb for 2.1 2004-11-08 13:25:00 +00:00
aarne 1b8cec072d preparing 2.1 release 2004-11-08 13:15:25 +00:00
aarne 87334b8075 update doc 2004-11-08 09:27:30 +00:00
aarne 7dd63a449f completing for release 2004-11-08 09:22:37 +00:00
aarne 2bd22e078a some bug fixes in type check and solve 2004-11-01 21:41:18 +00:00
janna 42ff99469a *** empty log message *** 2004-11-01 09:02:55 +00:00
janna 7d8345300a *** empty log message *** 2004-10-28 14:13:31 +00:00
janna 02151b73d0 *** empty log message *** 2004-10-28 12:22:04 +00:00
janna a47111ff1b *** empty log message *** 2004-10-28 11:46:37 +00:00
janna 8aa05c9736 *** empty log message *** 2004-10-27 18:24:56 +00:00
aarne 8be82a3936 constraint bug fix 2004-10-26 11:53:22 +00:00
aarne 2b9e31455d work on checking equations 2004-10-26 11:24:32 +00:00
aarne 24ba5b3b82 markup 2004-10-25 14:22:18 +00:00
aarne 51fb62890f added code map 2004-10-22 13:46:41 +00:00
aarne a04c40348b basic 2004-10-22 07:59:13 +00:00
bringert 96edcf45d9 Remove more punctuation characters when printing GSL grammars 2004-10-19 10:27:28 +00:00
aarne 357c2fa4cf update highlights; fix cat warning bug 2004-10-13 11:47:24 +00:00
aarne f299de7b3f version 2.1b 2004-10-11 14:25:09 +00:00
aarne a0bc9b053a german paradigms 2004-10-11 14:21:57 +00:00
janna 4fe0119047 *** empty log message *** 2004-10-02 21:00:55 +00:00
bringert f64502d4a7 Generalized Speech Recognition Grammar generation. Added JSGF grammar printer. 2004-10-01 08:43:59 +00:00
aarne 653c903dc7 fixed PredefAbs in TC 2004-09-30 06:24:09 +00:00
bringert 0dbd3d199c Removed dead code from CFGM grammar 2004-09-29 16:24:40 +00:00
bringert 7492cfd236 Updated to simple CFGM grammar, use CFGM pretty printer when printing cfgm grammars. 2004-09-29 15:53:46 +00:00
bringert df2c63c559 Updated to latest CFG specification from gfc2java 2004-09-29 08:27:28 +00:00
aarne 01f872bf5d gfcc report 2004-09-28 19:44:02 +00:00
aarne 422b626a36 revising tex 2004-09-28 11:55:10 +00:00
aarne c9f6079aa3 make runtime 2004-09-27 07:58:18 +00:00
aarne 901a62e061 hoas 2004-09-26 16:36:13 +00:00
aarne ee213edb88 2 typos 2004-09-26 16:10:04 +00:00
aarne f5519f77eb paper and references 2004-09-26 16:05:36 +00:00
aarne 693cbcb2f3 almost the final version 2004-09-26 15:44:08 +00:00
aarne e1617bbb8e version 2 of doc 2004-09-25 21:49:21 +00:00
aarne 2094e335df added picture 2004-09-25 10:24:27 +00:00
aarne a6219b3a09 more examples 2004-09-25 08:51:33 +00:00
aarne 5a208ce3ea compiler works on abs and fibonacci 2004-09-25 08:24:11 +00:00
aarne ff2a2895c0 gfcc 2004-09-24 16:04:04 +00:00
aarne 33ea630d4d bug fixes in parsing etc; improved ImperC 2004-09-24 08:46:03 +00:00
aarne 2c60a2d82a Ints n 2004-09-23 14:41:42 +00:00
aarne d5b4230d6d making parsing ImperC work 2004-09-22 20:42:21 +00:00
aarne a0116fd288 printing to LBNF with profiles 2004-09-22 15:12:49 +00:00
aarne 6afcb5009a symbol table 2004-09-20 14:28:52 +00:00
aarne 07464264da conclusion 2004-09-20 11:51:44 +00:00
aarne c8c9e517c1 editor 2004-09-20 09:04:13 +00:00
aarne a3ae63e60b report ready 2004-09-20 08:51:48 +00:00
aarne 0e21dcbf54 Imper 2004-09-19 20:27:38 +00:00
aarne df4cbb482f report 2004-09-19 20:27:01 +00:00
aarne 3a1f403a01 doc 2004-09-18 09:24:51 +00:00
aarne 6ec3a53d3c C compiler 2004-09-17 22:02:35 +00:00
aarne ecc132dccf Karin C's example 2004-09-16 14:47:18 +00:00
bringert 7769d0fb00 When printing CFGM, only include the top-level modules 2004-09-16 11:09:37 +00:00
bringert a38f028f04 Use .MAIN for the start category. 2004-09-15 16:16:34 +00:00
aarne a25ee154e7 introducing multiple inheritance 2004-09-15 14:36:27 +00:00
aarne 7697b222d0 terms from rf 2004-09-15 11:37:45 +00:00
aarne fe045070cf gfcm header 2004-09-14 17:05:46 +00:00
bringert 35f884ddfd Use grammar name as gsl category name prefix. Put some grammar info in GSL comments. 2004-09-14 15:45:17 +00:00
bringert dabc4f1b8d gsl printer now figures out startcat from grammar flags 2004-09-14 15:05:37 +00:00
bringert 87eec27336 Added GSL speech recognition grammar generation. 2004-09-14 08:36:57 +00:00
aarne 318379f73a type check cc command 2004-09-08 11:36:53 +00:00
aarne 51c9afa5c8 codevars 2004-08-25 15:17:13 +00:00
aarne 4af78854b7 fixed incompleteness in prt 2004-08-24 19:16:48 +00:00
aarne c861922736 some var parser bug fixes 2004-08-24 11:49:46 +00:00
bringert b57e3fff8c Added coding flag to arabic_modern 2004-08-23 13:12:57 +00:00
bringert c150719961 Added coding flag to newnumerals grammars. 2004-08-23 09:23:00 +00:00
bringert 65f012d155 Added CFGM format (pm -printer=cfgm) and utf8 conversion for pm. 2004-08-23 07:51:36 +00:00
aarne 25ffe15333 1.2 2004-08-17 13:51:05 +00:00
aarne b60b2ab196 25 2004-08-17 13:46:59 +00:00
aarne aed0fab455 exe 2004-08-17 11:47:25 +00:00
aarne c96162ba8b experiments with unlexer 2004-08-15 21:02:10 +00:00
janna f65d08638b *** empty log message *** 2004-08-14 10:37:29 +00:00
aarne 1142d18a08 -s 2004-08-13 20:46:54 +00:00
aarne 69aa3248d2 unique ref 2004-08-13 13:21:46 +00:00
janna a760544742 *** empty log message *** 2004-08-13 12:16:00 +00:00
janna f8ba5d3a69 *** empty log message *** 2004-08-13 11:48:25 +00:00
janna 6df004a3ed *** empty log message *** 2004-08-13 09:28:24 +00:00
aarne a35b815f6f cygwin 2004-08-13 07:43:46 +00:00
aarne 33f8fb64e0 GUI msgs 2004-08-12 20:30:14 +00:00
aarne ca280d8d31 (non)utf8 input in GUI 2004-08-12 18:29:35 +00:00
aarne 35f8c76210 os x 2004-08-12 13:06:57 +00:00
aarne a12bf94035 utf8 2004-08-12 12:21:23 +00:00
aarne 0926a6aa53 cygwin 2004-08-12 11:05:24 +00:00
aarne 096c861fb4 fixes for Janna 2004-08-12 09:02:00 +00:00
janna 4bc5b35bcb *** empty log message *** 2004-08-11 20:21:24 +00:00
aarne fce15fd6ef key 2004-08-11 14:01:08 +00:00
aarne c37cc9bd96 docs 2004-08-11 13:37:43 +00:00
aarne 9191786a17 index 2004-08-11 13:26:56 +00:00
aarne 2f2ba01be8 download 2004-08-11 13:20:47 +00:00
aarne e1bd5cfa82 Index 2004-08-11 12:18:11 +00:00
aarne 37f552d1fe index 2004-08-11 11:56:11 +00:00
aarne 720ccdfefa paths in release 2004-08-11 10:32:36 +00:00
aarne 8bc2cee831 bug fix in reading files 2004-08-11 10:02:26 +00:00
aarne 23db149b9b spec 2004-08-10 14:04:21 +00:00
aarne 43f687772e Index 2004-08-10 13:22:25 +00:00
aarne 330e383b32 make lib 2004-08-10 13:19:32 +00:00
aarne 52a030079f link to tout 2004-08-10 13:05:19 +00:00
aarne 23fb24d6d3 for www 2004-08-10 12:39:38 +00:00
aarne 470197d442 clean up 2004-08-10 11:52:42 +00:00
aarne 310e3e1001 mkLib 2004-08-10 11:14:31 +00:00
aarne dd981f9ffc resource doc; make lib 2004-08-10 10:17:19 +00:00
peb d045a98848 *** empty log message *** 2004-08-10 09:40:35 +00:00
aarne 9650864b06 the name gf2 2004-08-10 08:17:03 +00:00
aarne 9d07bd92a8 small adjustments in grs 2004-08-09 13:22:59 +00:00
aarne 60ae7ddbbe 2341 2004-08-04 12:54:47 +00:00
aarne d201f6f4cd new web page 2004-08-04 12:18:58 +00:00
aarne e9b010393b help flags for i 2004-08-03 15:24:23 +00:00
aarne 166a32b1e7 testing grammar distr 2004-08-03 15:21:01 +00:00
aarne a843c8e0ec gramamr distr 2004-08-03 12:39:55 +00:00
aarne 59b5745c0e Preparing for release. 2004-08-03 11:47:32 +00:00
bringert 541ef75fb4 Do not escape single quotes in strings in PrintGF. This seems to be unmarked hand-hacked behaviour that the old pretty printer had. 2004-07-22 11:12:27 +00:00
bringert 2b1f64eb06 Added -- H to an unmarked hand-hacked section. 2004-07-22 10:26:27 +00:00
bringert f02c2bbef0 Recreated GF and GFC pretty printers using the new BNFC version which makes more efficient pretty printers. 2004-07-22 09:00:27 +00:00
bringert db433bc409 Added target for building GF with profiling 2004-07-14 12:44:15 +00:00
aarne ffd6c23155 some fixes 2004-06-24 19:08:30 +00:00
aarne 22e3bdce02 fixed unlexer 2004-06-24 15:13:40 +00:00
aarne 0a6ded780f welcome msg 2004-06-24 14:13:55 +00:00
aarne 3b39607bba last-minute bug fixes 2004-06-24 14:06:09 +00:00
bringert d3db78ad31 Added RPM building setup instructions. 2004-06-24 11:01:03 +00:00
bringert 1870deb717 Fixed typo in install-editor target 2004-06-24 08:42:43 +00:00
bringert 306b9c8506 Added vendor tag 2004-06-24 08:25:21 +00:00
bringert 69065b0b74 Put jar file in share instead of lib 2004-06-24 08:21:59 +00:00
krijo ff7f51ec15 Adding Mac OS X build instructions (essentially the same as other UNIXes). 2004-06-23 15:33:48 +00:00
krijo 7de578e146 Added .PHONY for install rule. 2004-06-23 15:21:33 +00:00
bringert 732db2269d Include auxillary files for configure in binary packages. 2004-06-23 15:15:13 +00:00
bringert 63f5a7b62f binary-dist now builds the gf binary. this takes a looong time. 2004-06-23 14:15:16 +00:00
bringert aa917b4a2d Reverted version to 2.0, the pre1 tag caused problems with rpm building. 2004-06-23 14:06:10 +00:00
bringert 785ce7e63d moved 'pre1' to release. rpm does not allow it in version 2004-06-23 14:02:30 +00:00
bringert 4c6926373f Set version number to 2.0-pre1 2004-06-23 13:53:49 +00:00
bringert 801a2cb9f1 Find java with configure, do not include preprocessed jgf script in binary dists. 2004-06-23 13:46:40 +00:00
bringert 09b3c82997 Added exec and final newline. 2004-06-23 13:35:52 +00:00
bringert 212a59c446 Added missing dirs for install in binary-dist target 2004-06-23 13:30:45 +00:00
bringert 29dc468900 Fixed tab/space snafu 2004-06-23 13:28:43 +00:00
bringert ba9d7ba3e2 Do not use prefix inside the binary dist 2004-06-23 13:23:25 +00:00
bringert e5315aa5fd Added autoconf step 2004-06-23 13:14:03 +00:00
bringert bcb0adca84 Add final newline to not get messed up on solaris. 2004-06-23 13:12:44 +00:00
bringert f753d01a0b Added ReleaseProcedure. Added configureation and makefiles for binary packages. Configure now lets you specify which javac and jar to use. 2004-06-23 13:09:56 +00:00
aarne 6802bcca2c some fixes for Shae 2004-06-23 11:57:17 +00:00
bringert 0c84670725 delete BIN_DIST_DIR at end of binary-dist 2004-06-23 10:41:05 +00:00
bringert 8a098696c1 Use gtar instead of tar to be sure to get GNU tar. 2004-06-23 10:40:22 +00:00
bringert cd3f267daa Fixed script to only include .gf files. Updated generated script. 2004-06-23 09:44:27 +00:00
bringert 0f9070bf3a Added binary-dist target. 2004-06-23 09:02:54 +00:00
bringert 8443f80500 Added Solaris VCS configure instructions 2004-06-23 08:39:48 +00:00
bringert 7906215075 Get CPPFLAGS and LDFLAGS from configure 2004-06-23 07:24:46 +00:00
bringert 97112b53d3 Change references to gf2 to gf. 2004-06-22 15:48:57 +00:00
bringert b19c44e163 Call gf as gf, not gf2. 2004-06-22 15:47:22 +00:00
bringert bab786d20e Rename gf2 and jgf2 to gf and jgf2 2004-06-22 15:28:07 +00:00
bringert d0ee0d6901 install target now installs gfdoc 2004-06-22 14:59:04 +00:00
bringert cf1df1bab5 Include gfdoc in rpm 2004-06-22 14:55:33 +00:00
aarne 0b55c09abb make gfdoc 2004-06-22 14:54:05 +00:00
bringert 8a0d51c5f6 Put editor in main package. 2004-06-22 14:12:51 +00:00
bringert 06bd91870e Build separate package for the java editor 2004-06-22 13:54:31 +00:00
bringert fad8e4c44f use -source 1.4 for java code 2004-06-22 13:42:48 +00:00
bringert 90337afc6f go to src before make install 2004-06-22 13:42:00 +00:00
bringert ba567262b6 use target 1.4 for java code 2004-06-22 13:24:01 +00:00
aarne bd99ecbea9 spec 2004-06-22 13:13:28 +00:00
aarne 65693a05fd arranging for dist 2004-06-22 13:09:56 +00:00
bringert 7edf59f000 Do make install in %install section 2004-06-22 13:06:03 +00:00
bringert de80918427 don't include release2.html 2004-06-22 13:03:58 +00:00
bringert 3003113134 recreate for-ghc-nofun if it does not exist, since cvs export prunes empty dirs 2004-06-22 12:37:28 +00:00
aarne 53f7d4ecfb fixes in parsing 2004-06-22 12:33:31 +00:00
bringert 3986f8c265 Added rpm target. Fixed source dir name in rpm spec. 2004-06-22 12:15:39 +00:00
bringert a3a4c3f8ca Delete files that should not be in the distribution. 2004-06-22 12:13:19 +00:00
bringert 8b71e75094 delete tarbalss in distclean 2004-06-22 12:02:14 +00:00
bringert cc0fbb46f8 Added autoconf step. 2004-06-22 12:01:06 +00:00
bringert 457d00100a Do autoconf in src dir when making dist 2004-06-22 11:58:45 +00:00
bringert 1de7132520 Build jar file for java classes. Added dist target. 2004-06-22 11:56:24 +00:00
bringert 5629e77ba5 Moved distclean target to after clean 2004-06-22 09:44:46 +00:00
bringert b41a8937db Cleaned up Makefile, build for unix be default, create nofud-links in the right places. 2004-06-22 09:33:43 +00:00
bringert ed2dccfcf2 Added configure step to install instructions 2004-06-22 09:32:02 +00:00
bringert d1190cc839 Added GF description and pointer to the INSTALL file. 2004-06-22 09:25:37 +00:00
bringert d8dcb5a8ef Added RPM spec 2004-06-22 08:56:34 +00:00
bringert 9cc3e87735 Added configure script, added install target, changed MkToday to a shell script to avoid a build-time dependency on runhugs 2004-06-22 08:56:20 +00:00
bringert 464a2937cb Added placeholder readme file 2004-06-22 08:54:31 +00:00
bringert 56312ed045 Added license file 2004-06-22 08:54:14 +00:00
aarne fdfd77a7d5 some new Swedish paradigms 2004-06-21 15:14:37 +00:00
aarne b248e6e25e for release meeting 2004-06-21 08:53:58 +00:00
aarne a134a1fd65 pdf 2004-06-21 08:35:01 +00:00
peb 1efb265000 *** empty log message *** 2004-06-18 14:23:15 +00:00
aarne 22613ceb37 small things 2004-06-18 13:14:50 +00:00
aarne 29b9dcaf82 preced 2004-06-18 08:52:38 +00:00
aarne 94f8d310cb path in file name test in ReadFiles 2004-06-17 14:10:06 +00:00
aarne a77519ba10 bug fixes ; command so ; reintroduce batch mode 2004-06-16 14:49:50 +00:00
peb 9fae09a77c *** empty log message *** 2004-06-15 18:34:54 +00:00
peb aa9f1ee7a3 *** empty log message *** 2004-06-15 18:24:17 +00:00
aarne 3fb91e0f44 improved make facility: remember state if fails; does not need source 2004-06-15 13:55:54 +00:00
peb 652618742a *** empty log message *** 2004-06-10 14:37:43 +00:00
aarne 3522b2a3cd readfiles 2004-06-10 14:34:07 +00:00
aarne f07087647e KeY 2004-06-09 18:43:06 +00:00
janna 63232b6982 *** empty log message *** 2004-06-06 19:57:56 +00:00
peb c10aa3b696 *** empty log message *** 2004-06-06 10:11:10 +00:00
aarne e78e5a6af7 SymbPN and SymbCN in resources 2004-06-03 19:31:39 +00:00
peb 7716f81886 *** empty log message *** 2004-06-02 11:17:15 +00:00
peb 9b0a968597 *** empty log message *** 2004-06-02 11:05:39 +00:00
aarne b103e87bc4 external translator 2004-05-28 12:18:28 +00:00
aarne 6dcf9f1cd4 command option check 2004-05-27 14:43:13 +00:00
aarne 244307ca37 MyParser: hook for external parser 2004-05-27 08:28:43 +00:00
peb a4c388374f *** empty log message *** 2004-05-26 19:40:11 +00:00
peb e3e0da73ac *** empty log message *** 2004-05-26 18:44:40 +00:00
aarne 2945d9bcb8 strict BinTree 2004-05-26 08:33:27 +00:00
aarne ba74c109cd fix eng parad 2004-05-21 15:12:51 +00:00
aarne 8963681a3b peel head i ; gt nometas ; gf2hs 2004-05-18 20:57:13 +00:00
janna 086733a6fe *** empty log message *** 2004-05-03 21:02:18 +00:00
aarne f644f13527 Generation with metavariables. 2004-05-03 12:39:32 +00:00
aarne de3ad4cbd7 generation in jgf 2004-05-02 12:36:19 +00:00
aarne 54947d3e4c gt Term 2004-05-02 08:21:25 +00:00
aarne 487571a685 Improved gt; Karin C's examples. 2004-04-30 19:52:34 +00:00
aarne fc99b225a7 generation command gt n 2004-04-30 15:18:38 +00:00
aarne c9d10ab5ed random gen to fill given term 2004-04-30 11:28:35 +00:00
peb 36a68bce6a *** empty log message *** 2004-04-30 08:26:01 +00:00
peb 181e128230 *** empty log message *** 2004-04-30 07:17:03 +00:00
aarne cbbb6d65c7 gr F ? ? 2004-04-30 05:02:49 +00:00
peb 9e23c25e28 *** empty log message *** 2004-04-29 08:22:32 +00:00
peb 51da7e3c0f 29/4-04, peb: added directory 'testConversions' with a simple grammar
for testing grammar conversions
2004-04-29 08:11:20 +00:00
aarne b5bb4fc2b5 multimodality exx 2004-04-29 04:03:19 +00:00
peb 6993118eab peb (28/4-04):
- added directory 'conversions' for grammar conversions
- added some grammar printers in 'Custom.hs'
- added option 'ghci' in 'Makefile'
2004-04-28 09:37:10 +00:00
aarne 1bd3dc8433 timetable 2004-04-28 09:08:31 +00:00
aarne e5c60c9cfd optimization in make 2004-04-27 19:37:01 +00:00
aarne 233d6910e4 ditt o datt 2004-04-23 13:45:07 +00:00
aarne 2e0c510285 some more printing 2004-04-19 15:33:45 +00:00
aarne fa07ada6ab added srg; extended shallow 2004-04-16 15:21:56 +00:00
aarne 26b03cef10 error msg for term input 2004-04-13 11:55:52 +00:00
aarne b79b2b8b41 Windows. 2004-04-05 14:47:31 +00:00
aarne a9b2f69c3a Beta. 2004-04-02 12:35:23 +00:00
aarne 73c4fe8dda Beta release. 2004-04-02 12:23:48 +00:00
aarne f53f35978f 2beta2 2004-04-01 09:51:32 +00:00
aarne 3f9b4e7855 Added support for cf and ebnf formats 2004-03-31 12:30:34 +00:00
aarne 6719aedde3 Better help. 2004-03-26 20:08:30 +00:00
aarne 2433403b62 Making cf2gf to work... 2004-03-24 15:31:38 +00:00
aarne dc71ffcf5b Restoring old functionality 2004-03-24 15:09:06 +00:00
aarne 31836c0da9 String pattern handling 2004-03-23 12:06:12 +00:00
aarne c3796cf04c Unions: a first version. 2004-03-01 21:03:25 +00:00
aarne 0166b27ee4 Started with unions. 2004-02-27 07:43:52 +00:00
aarne 2e1b578783 Improved make facility. 2004-02-26 14:49:16 +00:00
aarne 13be0d6356 Started experimenting with shallow resource API.
Started experimenting with shallow resource API.
Added PossessPrep to Structural.
2004-02-20 16:28:42 +00:00
janna 7d1d67ee5b *** empty log message *** 2004-02-03 09:22:37 +00:00
janna 2b8d794309 *** empty log message *** 2004-02-02 22:37:51 +00:00
janna eb13f30e61 *** empty log message *** 2004-02-01 08:15:41 +00:00
aarne 4023dde116 Adjusting GFT for cgi. 2004-01-30 16:17:20 +00:00
janna 025274db07 *** empty log message *** 2004-01-30 16:01:15 +00:00
aarne d3c8436f31 Remove n= 2004-01-30 13:20:03 +00:00
aarne d09777a9aa New order among numerals. 2004-01-29 12:57:32 +00:00
aarne fdddeca0d0 Improving unicode menus, e.g. in Letter. 2004-01-29 12:03:23 +00:00
janna 4c31deb839 *** empty log message *** 2004-01-29 10:05:43 +00:00
aarne 1ca54cca20 Unicode. Batch transl into HTML. 2004-01-28 12:42:20 +00:00
aarne 1b002dec90 Some new languges by Harald, plus translation scripts 2004-01-28 12:27:59 +00:00
janna 8dff8b0e3f *** empty log message *** 2004-01-28 08:51:28 +00:00
janna 590a85f970 *** empty log message *** 2004-01-26 13:46:05 +00:00
aarne f807f76211 Improved unicode output. 2004-01-26 08:39:52 +00:00
aarne 7362e70af9 Quick fix in French. 2004-01-21 14:06:34 +00:00
aarne 74e0e11964 PredefAbs for bwc 2004-01-21 13:32:08 +00:00
aarne ae9fe52eaa From Janna. 2004-01-12 16:46:00 +00:00
aarne 5c88df10bb Rewriting with interface to resource. 2004-01-09 16:48:19 +00:00
aarne 86d811f2a6 Interfaces and instances by reuse. 2004-01-09 16:40:56 +00:00
aarne c7a953bb93 Some bug fixes mostly in editor commands. 2004-01-08 14:58:46 +00:00
aarne 62e8e319f9 Close to finishing new verisons of Finnish and GErman. 2004-01-05 15:42:38 +00:00
janna e84db8989d *** empty log message *** 2004-01-04 21:03:27 +00:00
janna 20345064dd *** empty log message *** 2004-01-02 13:16:46 +00:00
aarne 9127333575 Starting Finnish for new API 2003-12-19 16:57:48 +00:00
aarne 08c9a2ab8c Introduced output of stripped format gfcm. 2003-12-09 16:39:24 +00:00
aarne 8e637feb79 Harald's new grammars. 2003-12-09 16:07:42 +00:00
aarne 15f94710f0 Added French for new API. Started alpha conv. Fixed bugs. 2003-12-04 12:08:29 +00:00
janna 6a9dc9e5f5 *** empty log message *** 2003-12-04 08:37:59 +00:00
janna 57d4300f86 *** empty log message *** 2003-12-02 22:36:34 +00:00
janna e3dd913ce3 *** empty log message *** 2003-11-29 22:40:24 +00:00
aarne 9e631a4fc6 Added Swe databaseCVS: ---------------------------------------------------------------------- 2003-11-26 08:00:31 +00:00
janna 3c5a8768b9 *** empty log message *** 2003-11-25 21:10:53 +00:00
janna 61507ef2de *** empty log message *** 2003-11-25 16:34:42 +00:00
aarne 73103e5dd8 Beta release. 2003-11-25 16:27:47 +00:00
aarne ba077a8a91 Preparing for beta release. 2003-11-25 15:43:05 +00:00
aarne 1574e20786 New place for new resource API implementations. 2003-11-25 15:11:59 +00:00
3452 changed files with 29887 additions and 4358107 deletions
-23
View File
@@ -1,23 +0,0 @@
-- Use darcs show authors to see the number of patches per person
Aarne Ranta <aarne@chalmers.se>, aarne@cs.chalmers.se, aarne
Björn Bringert <bjorn@bringert.net>, bringert@cs.chalmers.se, bringert
Krasimir Angelov <krasimir@chalmers.se>, kr.angelov@chalmers.se,kr.angelov@gmail.com,kr_angelov@gmail.com
Peter Ljunglöf <peb@ling.gu.se>, peb,peb@cs.chalmers.se
Thomas Hallgren <hallgren@chalmers.se>, hallgren@altocumulus.org
Janna Khegai <janna@cs.chalmer.se>, janna,janna@cs.chalmers.se
Jordi Saludes <jordi.saludes@upc.edu>
Ramona Enache <ramona.enache@chalmers.se>, ra.monique@gmail.com
Hans-Joachim Daniels <hdaniels>
Jean-Philippe Bernardy <bernardy@chalmers.se>
Kevin Kofler <kevin.kofler@chello.at>
Harald Hammarström <harald2>
Olga Caprotti <caprotti@chalmers.se>, olga.caprotti@gmail.com
Adam Slaski <adam.slaski@gmail.com>, Adam Slaski <adam.slaski@gmail.com>
Moisés Salvador Meza Moreno<meza@student.chalmers.se>, 'Moises Meza <meza@student.chalmers.se>'
Ali El Dada <eldada@student.chalmers.se>, 'ali.eldada@gmail.com'
Markus Forsberg <markus>
Server Cimen <e1560697@ceng.metu.edu.tr>
Grégoire Détrez <gdetrez@crans.org>
Ketil Malde <ketil@ii.uib.no>
John J. Camilleri <john.j.camilleri@chalmers.se>, john@johnjcamilleri.com, john
+108
View File
@@ -0,0 +1,108 @@
# Based on the template here: https://kodimensional.dev/github-actions
name: Build with stack and cabal
# Trigger the workflow on push or pull request, but only for the master branch
on:
pull_request:
push:
branches: [master]
jobs:
cabal:
name: ${{ matrix.os }} / ghc ${{ matrix.ghc }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
cabal: ["latest"]
ghc:
- "8.6.5"
- "8.8.3"
- "8.10.7"
- "9.6.7"
exclude:
- os: macos-latest
ghc: 8.8.3
- os: macos-latest
ghc: 8.6.5
- os: macos-latest
ghc: 8.10.7
- os: windows-latest
ghc: 8.8.3
- os: windows-latest
ghc: 8.6.5
- os: windows-latest
ghc: 8.10.7
steps:
- uses: actions/checkout@v2
if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
- uses: haskell-actions/setup@v2
id: setup-haskell-cabal
name: Setup Haskell
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- name: Freeze
run: |
cabal freeze
- uses: actions/cache@v4
name: Cache ~/.cabal/store
with:
path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }}
key: ${{ runner.os }}-${{ matrix.ghc }}
# key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
- name: Build
run: |
cabal configure --enable-tests --enable-benchmarks --test-show-details=direct
cabal build all
# - name: Test
# run: |
# cabal test all
stack:
name: stack / ghc ${{ matrix.ghc }}
runs-on: ${{ matrix.ghc == '7.10.3' && 'ubuntu-20.04' || 'ubuntu-latest' }}
strategy:
fail-fast: false
matrix:
stack: ["latest"]
ghc: ["8.4.4", "8.6.5", "8.8.4", "8.10.7", "9.0.2", "9.6.7"]
steps:
- uses: actions/checkout@v2
if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
- uses: haskell-actions/setup@v2
name: Setup Haskell Stack
with:
ghc-version: ${{ matrix.ghc }}
stack-version: 'latest'
enable-stack: true
# Fix linker errrors on ghc-7.10.3 for ubuntu (see https://github.com/commercialhaskell/stack/blob/255cd830627870cdef34b5e54d670ef07882523e/doc/faq.md#i-get-strange-ld-errors-about-recompiling-with--fpic)
- run: sed -i.bak 's/"C compiler link flags", "/&-no-pie /' /home/runner/.ghcup/ghc/7.10.3/lib/ghc-7.10.3/settings
if: matrix.ghc == '7.10.3'
- uses: actions/cache@v4
name: Cache ~/.stack
with:
path: ~/.stack
key: ${{ runner.os }}-${{ matrix.ghc }}-stack--${{ hashFiles(format('stack-ghc{0}', matrix.ghc)) }}
restore-keys: |
${{ runner.os }}-${{ matrix.ghc }}-stack
- name: Build
run: |
stack build --test --no-run-tests --system-ghc --stack-yaml stack-ghc${{ matrix.ghc }}.yaml
- name: Test
run: |
stack test --system-ghc --stack-yaml stack-ghc${{ matrix.ghc }}.yaml
+240
View File
@@ -0,0 +1,240 @@
name: Build Binary Packages
on:
workflow_dispatch:
release:
types: ["created"]
jobs:
# ---
ubuntu:
name: Build Ubuntu package
strategy:
matrix:
ghc: ["9.6"]
cabal: ["3.10"]
os: ["ubuntu-24.04"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
# Note: `haskell-platform` is listed as requirement in debian/control,
# which is why it's installed using apt instead of the Setup Haskell action.
- name: Setup Haskell
uses: haskell-actions/setup@v2
id: setup-haskell-cabal
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
if: matrix.os == 'ubuntu-24.04'
- name: Install build tools
run: |
sudo apt-get update
sudo apt-get install -y \
make \
dpkg-dev \
debhelper \
libghc-json-dev \
default-jdk \
python-dev-is-python3 \
libtool-bin
cabal install alex happy
- name: Build package
run: |
export PYTHONPATH="/home/runner/work/gf-core/gf-core/debian/gf/usr/local/lib/python3.12/dist-packages/"
make deb
- name: Copy package
run: |
cp ../gf_*.deb dist/
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: gf-${{ github.event.release.tag_name }}-${{ matrix.os }}.deb
path: dist/gf_*.deb
if-no-files-found: error
- name: Rename package for specific ubuntu version
run: |
mv dist/gf_*.deb dist/gf-${{ github.event.release.tag_name }}-${{ matrix.os }}.deb
#- uses: actions/upload-release-asset@v1.0.2
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ github.event.release.upload_url }}
# asset_path: dist/gf-${{ github.event.release.tag_name }}-${{ matrix.os }}.deb
# asset_name: gf-${{ github.event.release.tag_name }}-${{ matrix.os }}.deb
# asset_content_type: application/octet-stream
# ---
macos:
name: Build macOS package
strategy:
matrix:
ghc: ["9.6"]
cabal: ["3.10"]
os: ["macos-latest", "macos-13"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Setup Haskell
uses: haskell-actions/setup@v2
id: setup-haskell-cabal
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- name: Install build tools
run: |
brew install \
automake \
libtool
cabal v1-install alex happy
pip install setuptools
- name: Build package
run: |
sudo mkdir -p /Library/Java/Home
sudo ln -s /usr/local/opt/openjdk/include /Library/Java/Home/include
make pkg
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: gf-${{ github.event.release.tag_name }}-${{ matrix.os }}
path: dist/gf-*.pkg
if-no-files-found: error
- name: Rename package
run: |
mv dist/gf-*.pkg dist/gf-${{ github.event.release.tag_name }}-macos.pkg
#- uses: actions/upload-release-asset@v1.0.2
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ github.event.release.upload_url }}
# asset_path: dist/gf-${{ github.event.release.tag_name }}-macos.pkg
# asset_name: gf-${{ github.event.release.tag_name }}-macos.pkg
# asset_content_type: application/octet-stream
# ---
windows:
name: Build Windows package
strategy:
matrix:
ghc: ["9.6.7"]
cabal: ["3.10"]
os: ["windows-2022"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
install: >-
base-devel
gcc
python-devel
autotools
- name: Prepare dist folder
shell: msys2 {0}
run: |
mkdir /c/tmp-dist
mkdir /c/tmp-dist/c
mkdir /c/tmp-dist/java
mkdir /c/tmp-dist/python
- name: Build C runtime
shell: msys2 {0}
run: |
cd src/runtime/c
autoreconf -i
./configure
make
make install
cp /mingw64/bin/libpgf-0.dll /c/tmp-dist/c
cp /mingw64/bin/libgu-0.dll /c/tmp-dist/c
# JAVA_HOME_8_X64 = C:\hostedtoolcache\windows\Java_Adopt_jdk\8.0.292-10\x64
- name: Build Java bindings
shell: msys2 {0}
run: |
echo $JAVA_HOME_8_X64
export JDKPATH="$(cygpath -u "${JAVA_HOME_8_X64}")"
export PATH="${PATH}:${JDKPATH}/bin"
cd src/runtime/java
make \
JNI_INCLUDES="-I \"${JDKPATH}/include\" -I \"${JDKPATH}/include/win32\" -I \"/mingw64/include\" -D__int64=int64_t" \
WINDOWS_LDFLAGS="-L\"/mingw64/lib\" -no-undefined"
make install
cp .libs/msys-jpgf-0.dll /c/tmp-dist/java/jpgf.dll
cp jpgf.jar /c/tmp-dist/java
if: false
# - uses: actions/setup-python@v5
- name: Build Python bindings
shell: msys2 {0}
env:
EXTRA_INCLUDE_DIRS: /mingw64/include
EXTRA_LIB_DIRS: /mingw64/lib
run: |
cd src/runtime/python
pacman --noconfirm -S python-setuptools
python setup.py build
python setup.py install
cp -r /usr/lib/python3.12/site-packages/pgf* /c/tmp-dist/python
- name: Setup Haskell
uses: haskell-actions/setup@v2
id: setup-haskell-cabal
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- name: Install Haskell build tools
run: |
cabal install alex happy
- name: Build GF
run: |
cabal install -fserver --only-dependencies
cabal configure -fserver
cabal build
copy dist-newstyle/build/x86_64-windows/ghc-${{matrix.ghc}}/*/x/gf/build/gf/gf.exe C:/tmp-dist
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: gf-${{ github.event.release.tag_name }}-windows
path: C:\tmp-dist\*
if-no-files-found: error
- name: Create archive
run: |
Compress-Archive C:\tmp-dist C:\gf-${{ github.event.release.tag_name }}-windows.zip
#- uses: actions/upload-release-asset@v1.0.2
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ github.event.release.upload_url }}
# asset_path: C:\gf-${{ github.event.release.tag_name }}-windows.zip
# asset_name: gf-${{ github.event.release.tag_name }}-windows.zip
# asset_content_type: application/zip
+102
View File
@@ -0,0 +1,102 @@
name: Build & Publish Python Package
# Trigger the workflow on push or pull request, but only for the master branch
on:
pull_request:
push:
branches: [master]
jobs:
build_wheels:
name: Build wheel on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, macos-latest, macos-13]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.x'
- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel
- name: Install build tools for OSX
if: startsWith(matrix.os, 'macos')
run: |
brew install automake
brew install libtool
- name: Build wheels on Linux
if: startsWith(matrix.os, 'macos') != true
env:
CIBW_BEFORE_BUILD: cd src/runtime/c && autoreconf -i && ./configure && make && make install
run: |
python -m cibuildwheel src/runtime/python --output-dir wheelhouse
- name: Build wheels on OSX
if: startsWith(matrix.os, 'macos')
env:
CIBW_BEFORE_BUILD: cd src/runtime/c && glibtoolize && autoreconf -i && ./configure && make && sudo make install
run: |
python -m cibuildwheel src/runtime/python --output-dir wheelhouse
- uses: actions/upload-artifact@v4
with:
name: wheel-${{ matrix.os }}
path: ./wheelhouse
build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.10'
- name: Build sdist
run: cd src/runtime/python && python setup.py sdist
- uses: actions/upload-artifact@v4
with:
name: wheel-source
path: ./src/runtime/python/dist/*.tar.gz
upload_pypi:
name: Upload to PyPI
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install twine
run: pip install twine
- uses: actions/download-artifact@v4.1.7
with:
pattern: wheel-*
merge-multiple: true
path: ./dist
- name: Publish
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
twine upload --verbose --non-interactive --skip-existing dist/*
+81
View File
@@ -0,0 +1,81 @@
*.class
*.la
*.o
*.lo
*.jar
*.gfo
*.pgf
debian/.debhelper
debian/debhelper-build-stamp
debian/gf
debian/gf.debhelper.log
debian/gf.substvars
debian/files
dist/
dist-newstyle/
src/runtime/c/.libs/
src/runtime/c/Makefile
src/runtime/c/Makefile.in
src/runtime/c/aclocal.m4
src/runtime/c/autom4te.cache/
src/runtime/c/config.h
src/runtime/c/config.h.in
src/runtime/c/config.log
src/runtime/c/config.status
src/runtime/c/configure
src/runtime/c/gu/.deps/
src/runtime/c/gu/.dirstamp
src/runtime/c/libgu.pc
src/runtime/c/libpgf.pc
src/runtime/c/libsg.pc
src/runtime/c/libtool
src/runtime/c/m4/libtool.m4
src/runtime/c/m4/ltoptions.m4
src/runtime/c/m4/ltsugar.m4
src/runtime/c/m4/ltversion.m4
src/runtime/c/m4/lt~obsolete.m4
src/runtime/c/pgf/.deps/
src/runtime/c/pgf/.dirstamp
src/runtime/c/pgf/lightning/asm.h
src/runtime/c/pgf/lightning/core.h
src/runtime/c/pgf/lightning/fp.h
src/runtime/c/pgf/lightning/funcs.h
src/runtime/c/scripts/
src/runtime/c/sg/.deps/
src/runtime/c/sg/.dirstamp
src/runtime/c/stamp-h1
src/runtime/java/.libs/
src/runtime/python/build/
.cabal-sandbox
cabal.sandbox.config
.stack-work
DATA_DIR
stack*.yaml.lock
# Output files for test suite
*.out
gf-tests.html
# Generated documentation (not exhaustive)
demos/index-numbers.html
demos/resourcegrammars.html
demos/translation.html
doc/tutorial/gf-tutorial.html
doc/index.html
doc/gf-bibliography.html
doc/gf-developers.html
doc/gf-editor-modes.html
doc/gf-people.html
doc/gf-refman.html
doc/gf-shell-reference.html
doc/icfp-2012.html
download/*.html
gf-book/index.html
src/www/gf-web-api.html
.devenv
.direnv
result
.vscode
.envrc
.pre-commit-config.yaml
+12
View File
@@ -0,0 +1,12 @@
### New since 3.12 (WIP)
### 3.12
See <https://www.grammaticalframework.org/download/release-3.12.html>
### 3.11
See <https://www.grammaticalframework.org/download/release-3.11.html>
### 3.10
See <https://www.grammaticalframework.org/download/release-3.10.html>
+2 -17
View File
@@ -8,24 +8,9 @@ other. For this reason the different components have different licenses.
In summary: In summary:
- the GF compiler in the folder src/compiler and the PGF Web service in src/server - the GF compiler in the folder src/compiler and the PGF Web service in src/server
are under the GNU GENERAL PUBLIC LICENSE. are under the GNU GENERAL PUBLIC LICENSE.
- the GF runtime in src/runtime is under dual GNU LESSER GENERAL PUBLIC LICENSE - the GF runtime in src/runtime is under dual GNU LESSER GENERAL PUBLIC LICENSE and BSD LICENSE
and BSD LICENSE
- the resource grammar library in lib/src is under GNU LESSER GENERAL PUBLIC LICENSE.
However the user have the right to choose any license for any application grammar
derived from the resource grammar by using the grammar API.
- the resource grammar library also includes large coverage lexicons for some languages.
Since these lexicons are derived from external sources they might be under different licenses.
Look at the source file for every lexicon for details. The lexicons that we currently have
are:
lib/src/bulgarian/ DictBul.gf DictBulAbs.gf for Bulgarian
lib/src/english/ DictEng.gf DictEngAbs.gf for English
lib/src/turkish/ DictTur.gf DictTurAbs.gf for Turkish
lib/src/swedish/ DictSwe.gf DictSweAbs.gf for Swedish
The rest of this document contains copies of the GPL, LGPL and BSD licenses The rest of this document contains copies of the GPL, LGPL and BSD licenses
which are applicable to the different components of Grammatical Framework which are applicable to the different components of Grammatical Framework
+39 -22
View File
@@ -1,32 +1,47 @@
.PHONY: all build install doc clean gf sdist .PHONY: all build install doc clean html deb pkg bintar sdist
# This gets the numeric part of the version from the cabal file # This gets the numeric part of the version from the cabal file
VERSION=$(shell sed -ne "s/^version: *\([0-9.]*\).*/\1/p" gf.cabal) VERSION=$(shell sed -ne "s/^version: *\([0-9.]*\).*/\1/p" gf.cabal)
# Check if stack is installed
STACK=$(shell if hash stack 2>/dev/null; then echo "1"; else echo "0"; fi)
# Check if cabal >= 2.4 is installed (with v1- and v2- commands)
CABAL_NEW=$(shell if cabal v1-repl --help >/dev/null 2>&1 ; then echo "1"; else echo "0"; fi)
ifeq ($(STACK),1)
CMD=stack
else
CMD=cabal
ifeq ($(CABAL_NEW),1)
CMD_PFX=v1-
endif
endif
all: build all: build
dist/setup-config: gf.cabal Setup.hs WebSetup.hs dist/setup-config: gf.cabal Setup.hs WebSetup.hs
cabal configure ifneq ($(STACK),1)
cabal ${CMD_PFX}configure
endif
build: dist/setup-config build: dist/setup-config
cabal build ${CMD} ${CMD_PFX}build
install: install:
cabal copy ifeq ($(STACK),1)
cabal register stack install
else
cabal ${CMD_PFX}copy
cabal ${CMD_PFX}register
endif
doc: doc:
cabal haddock ${CMD} ${CMD_PFX}haddock
clean: clean:
cabal clean ${CMD} ${CMD_PFX}clean
bash bin/clean_html
#sdist:
# cabal sdist
gf:
cabal build rgl-none
strip dist/build/gf/gf
html:: html::
bash bin/update_html bash bin/update_html
@@ -35,9 +50,9 @@ html::
# number to the top of debian/changelog. # number to the top of debian/changelog.
# (Tested on Ubuntu 15.04. You need to install dpkg-dev & debhelper.) # (Tested on Ubuntu 15.04. You need to install dpkg-dev & debhelper.)
deb: deb:
dpkg-buildpackage -b dpkg-buildpackage -b -uc -d
# Make an OS X Installer package # Make a macOS installer package
pkg: pkg:
FMT=pkg bash bin/build-binary-dist.sh FMT=pkg bash bin/build-binary-dist.sh
@@ -45,9 +60,11 @@ pkg:
bintar: bintar:
bash bin/build-binary-dist.sh bash bin/build-binary-dist.sh
# Make a source tar.gz distribution using darcs to make sure that everything #sdist:
# is included. We put the distribution in dist/ so it is removed on # cabal sdist
# `make clean`
sdist: # Make a source tar.gz distribution using git to make sure that everything is included.
test -d dist || mkdir dist # We put the distribution in dist/ so it is removed on `make clean`
darcs dist -d dist/gf-${VERSION} # sdist:
# test -d dist || mkdir dist
# git archive --format=tar.gz --output=dist/gf-${VERSION}.tar.gz HEAD
-34
View File
@@ -1,34 +0,0 @@
DESCRIPTION
The Grammatical Framework (=GF) is a grammar formalism based on type theory.
It consists of
* a special-purpose programming language
* a compiler of the language
* a generic grammar processor
The compiler reads GF grammars from user-provided files, and the
generic grammar processor performs various tasks with the grammars:
* generation
* parsing
* translation
* type checking
* computation
* paraphrasing
* random generation
* syntax editing
GF particularly addresses four aspects of grammars:
* multilinguality (parallel grammars for different languages)
* semantics (semantic conditions of well-formedness, semantic
properties of expressions)
* grammar engineering (modularity, abstractions, libraries)
* embeddability in programs written in other languages (C,C++,
Haskell, Java, JavaScript)
COMPILATION and INSTALLATION of source distribution:
See download/index.html for installation instructions.
(More details can be found in doc/gf-developers.html.)
+69
View File
@@ -0,0 +1,69 @@
![GF Logo](https://www.grammaticalframework.org/doc/Logos/gf1.svg)
# Grammatical Framework (GF)
The Grammatical Framework is a grammar formalism based on type theory.
It consists of:
- a special-purpose programming language
- a compiler of the language
- a generic grammar processor
The compiler reads GF grammars from user-provided files, and the
generic grammar processor performs various tasks with the grammars:
- generation
- parsing
- translation
- type checking
- computation
- paraphrasing
- random generation
- syntax editing
GF particularly addresses four aspects of grammars:
- multilinguality (parallel grammars for different languages)
- semantics (semantic conditions of well-formedness, semantic properties of expressions)
- grammar engineering (modularity, abstractions, libraries)
- embeddability in programs written in other languages (C, C++, Haskell, Java, JavaScript)
## Compilation and installation
The simplest way of installing GF from source is with the command:
```
cabal install
```
or:
```
stack install
```
Note that if you are unlucky to have Cabal 3.0 or later, then it uses
the so-called Nix style commands. Using those for GF development is
a pain. Every time when you change something in the source code, Cabal
will generate a new folder for GF to look for the GF libraries and
the GF cloud. Either reinstall everything with every change in the
compiler, or be sane and stop using cabal-install. Instead you can do:
```
runghc Setup.hs configure
runghc Setup.hs build
sudo runghc Setup.hs install
```
The script will install the GF dependencies globally. The only solution
to the Nix madness that I found is radical:
"No person, no problem" (Нет человека – нет проблемы).
For more information, including links to precompiled binaries, see the [download page](https://www.grammaticalframework.org/download/index.html).
## About this repository
On 2018-07-25, the monolithic [GF repository](https://github.com/GrammaticalFramework/GF)
was split in two:
1. [gf-core](https://github.com/GrammaticalFramework/gf-core) — the GF compiler, shell and runtimes
2. [gf-rgl](https://github.com/GrammaticalFramework/gf-rgl) — the resource grammar library
The former repository is now archived and no longer updated.
The split was performed using [this script](https://github.com/GrammaticalFramework/GF/blob/30ae1b5a5f73513ac5825ca6712186ef8afe9fd4/split/run.sh)
and the output of that script is [here](https://gist.github.com/johnjcamilleri/a6c43ff61f15a9657b457ac94ab7db61).
+69
View File
@@ -0,0 +1,69 @@
# GF Core releases
**Note:**
The RGL is now released completely separately from GF Core.
See the [RGL's RELEASE.md](https://github.com/GrammaticalFramework/gf-rgl/blob/master/RELEASE.md).
## Creating a new release
### 1. Prepare the repository
**Web pages**
1. Create `download/index-X.Y.md` with installation instructions.
2. Create `download/release-X.Y.md` with changelog information.
3. Update `download/index.html` to redirect to the new version.
4. Add announcement in news section in `index.html`.
**Version numbers**
1. Update version number in `gf.cabal` (ommitting `-git` suffix).
2. Add a new line in `debian/changelog`.
### 2. Create GitHub release
1. When the above changes are committed to the `master` branch in the repository
and pushed, check that all CI workflows are successful (fixing as necessary):
- <https://github.com/GrammaticalFramework/gf-core/actions>
- <https://travis-ci.org/github/GrammaticalFramework/gf-core>
2. Create a GitHub release [here](https://github.com/GrammaticalFramework/gf-core/releases/new):
- Tag version format `RELEASE-X.Y`
- Title: "GF X.Y"
- Description: mention major changes since last release
3. Publish the release to trigger the building of the binary packages (below).
### 3. Binary packages
The binaries will be built automatically by GitHub Actions when the release is created,
but the generated _artifacts_ must be manually attached to the release as _assets_.
1. Go to the [actions page](https://github.com/GrammaticalFramework/gf-core/actions) and click "Build Binary Packages" under _Workflows_.
2. Choose the workflow run corresponding to the newly created release.
3. Download the artifacts locally. Extract the Ubuntu and macOS ones to get the `.deb` and `.pkg` files.
4. Go back to the [releases page](https://github.com/GrammaticalFramework/gf-core/releases) and click to edit the release information.
5. Add the downloaded artifacts as release assets, giving them names with format `gf-X.Y-PLATFORM.EXT` (e.g. `gf-3.11-macos.pkg`).
### 4. Upload to Hackage
In order to do this you will need to be added the [GF maintainers](https://hackage.haskell.org/package/gf/maintainers/) on Hackage.
1. Run `stack sdist --test-tarball` and address any issues.
2. Upload the package, either:
1. **Manually**: visit <https://hackage.haskell.org/upload> and upload the file generated by the previous command.
2. **via Stack**: `stack upload . --candidate`
3. After testing the candidate, publish it:
1. **Manually**: visit <https://hackage.haskell.org/package/gf-X.Y.Z/candidate/publish>
1. **via Stack**: `stack upload .`
4. If the documentation-building fails on the Hackage server, do:
```
cabal v2-haddock --builddir=dist/docs --haddock-for-hackage --enable-doc
cabal upload --documentation dist/docs/*-docs.tar.gz
```
## Miscellaneous
### What is the tag `GF-3.10`?
For GF 3.10, the Core and RGL repositories had already been separated, however
the binary packages still included the RGL. `GF-3.10` is a tag that was created
in both repositories ([gf-core](https://github.com/GrammaticalFramework/gf-core/releases/tag/GF-3.10) and [gf-rgl](https://github.com/GrammaticalFramework/gf-rgl/releases/tag/GF-3.10)) to indicate which versions of each went into the binaries.
+75 -417
View File
@@ -1,438 +1,96 @@
import Distribution.Simple import Distribution.System(Platform(..),OS(..))
import Distribution.Simple.LocalBuildInfo import Distribution.Simple(defaultMainWithHooks,UserHooks(..),simpleUserHooks)
import Distribution.Simple.LocalBuildInfo(LocalBuildInfo(..),absoluteInstallDirs,datadir)
import Distribution.Simple.Setup(BuildFlags(..),Flag(..),InstallFlags(..),CopyDest(..),CopyFlags(..),SDistFlags(..))
import Distribution.PackageDescription(PackageDescription(..),emptyHookedBuildInfo)
import Distribution.Simple.BuildPaths(exeExtension) import Distribution.Simple.BuildPaths(exeExtension)
import Distribution.Simple.Utils import System.Directory
import Distribution.Simple.Setup import System.FilePath((</>),(<.>))
import Distribution.PackageDescription hiding (Flag) import System.Process
import Control.Monad import Control.Monad(forM_,unless)
import Control.Exception(bracket_)
import Data.Char(isSpace) import Data.Char(isSpace)
import Data.List(isPrefixOf,intersect,unfoldr,stripPrefix)
import Data.Maybe(listToMaybe)
--import System.IO
import qualified Control.Exception as E
import System.Process(readProcess)
import System.FilePath
import System.Directory(createDirectoryIfMissing,copyFile,doesDirectoryExist,getDirectoryContents)
--import System.Exit
--import Control.Concurrent(forkIO)
--import Control.Concurrent.Chan(newChan,writeChan,readChan)
import WebSetup import WebSetup
tryIOE :: IO a -> IO (Either E.IOException a)
tryIOE = E.try
main :: IO () main :: IO ()
main = defaultMainWithHooks simpleUserHooks{ preBuild = gfPreBuild main = defaultMainWithHooks simpleUserHooks
, postBuild = gfPostBuild { preConf = gfPreConf
, preInst = gfPreInst , preBuild = gfPreBuild
, postInst = gfPostInst , postBuild = gfPostBuild
, preCopy = const . checkRGLArgs , preInst = gfPreInst
, postCopy = gfPostCopy , postInst = gfPostInst
, sDistHook = sdistError , postCopy = gfPostCopy
} }
where where
gfPreBuild args = gfPre args . buildDistPref gfPreConf args flags = do
gfPreInst args = gfPre args . installDistPref pkgs <- fmap (map (dropWhile isSpace) . tail . lines)
(readProcess "ghc-pkg" ["list"] "")
forM_ dependencies $ \pkg -> do
let name = takeWhile (/='/') (drop 36 pkg)
unless (name `elem` pkgs) $ do
let fname = name <.> ".tar.gz"
callProcess "wget" [pkg,"-O",fname]
callProcess "tar" ["-xzf",fname]
removeFile fname
bracket_ (setCurrentDirectory name) (setCurrentDirectory ".." >> removeDirectoryRecursive name) $ do
exists <- doesFileExist "Setup.hs"
unless exists $ do
writeFile "Setup.hs" (unlines [
"import Distribution.Simple",
"main = defaultMain"
])
let to_descr = reverse .
(++) (reverse ".cabal") .
drop 1 .
dropWhile (/='-') .
reverse
callProcess "wget" [to_descr pkg, "-O", to_descr name]
callProcess "runghc" ["Setup.hs","configure"]
callProcess "runghc" ["Setup.hs","build"]
callProcess "sudo" ["runghc","Setup.hs","install"]
preConf simpleUserHooks args flags
gfPre args distFlag = gfPreBuild args = gfPre args . buildDistPref
do h <- checkRGLArgs args gfPreInst args = gfPre args . installDistPref
extractDarcsVersion distFlag
return h
gfPostBuild args flags pkg lbi = gfPre args distFlag = do
do --writeFile "running" "" return emptyHookedBuildInfo
buildRGL args flags (flags,pkg,lbi)
-- let gf = default_gf lbi
-- buildWeb gf (pkg,lbi)
gfPostInst args flags pkg lbi = gfPostBuild args flags pkg lbi = do
do installRGL args flags (pkg,lbi) let gf = default_gf lbi
let gf = default_gf lbi buildWeb gf flags (pkg,lbi)
installWeb (pkg,lbi)
gfPostCopy args flags pkg lbi = gfPostInst args flags pkg lbi = do
do let gf = default_gf lbi installWeb (pkg,lbi)
copyRGL args flags (pkg,lbi)
copyWeb flags (pkg,lbi)
-------------------------------------------------------- gfPostCopy args flags pkg lbi = do
-- Commands for building the Resource Grammar Library copyWeb flags (pkg,lbi)
--------------------------------------------------------
data Mode = AllTenses | Present deriving Show -- `cabal sdist` will not make a proper dist archive, for that see `make sdist`
all_modes = ["alltenses","present"] -- However this function should exit quietly to allow building gf in sandbox
default_modes = [AllTenses,Present] gfSDist pkg lbi hooks flags = do
return ()
data RGLCommand dependencies = [
= RGLCommand "https://hackage.haskell.org/package/utf8-string-1.0.2/utf8-string-1.0.2.tar.gz",
{ cmdName :: String "https://hackage.haskell.org/package/json-0.10/json-0.10.tar.gz",
, cmdIsDef :: Bool "https://hackage.haskell.org/package/network-bsd-2.8.1.0/network-bsd-2.8.1.0.tar.gz",
, cmdAction :: [Mode] -> [String] -> Info -> IO () "https://hackage.haskell.org/package/httpd-shed-0.4.1.1/httpd-shed-0.4.1.1.tar.gz",
} "https://hackage.haskell.org/package/exceptions-0.10.5/exceptions-0.10.5.tar.gz",
"https://hackage.haskell.org/package/stringsearch-0.3.6.6/stringsearch-0.3.6.6.tar.gz",
type Info = (BuildFlags,PackageDescription,LocalBuildInfo) "https://hackage.haskell.org/package/multipart-0.2.1/multipart-0.2.1.tar.gz",
bf (i,_,_) = i "https://hackage.haskell.org/package/cgi-3001.5.0.0/cgi-3001.5.0.0.tar.gz"
--pd (_,i,_) = i
lbi (_,_,i) = i
rglCommands =
[ RGLCommand "prelude" True $ \mode args bi -> do
putStrLn $ "Compiling [prelude]"
let prelude_src_dir = rgl_src_dir </> "prelude"
prelude_dst_dir = rgl_dst_dir (lbi bi) </> "prelude"
createDirectoryIfMissing True prelude_dst_dir
files <- list_files prelude_src_dir
run_gfc bi (["-s", "--gfo-dir="++prelude_dst_dir] ++ [prelude_src_dir </> file | file <- files])
, RGLCommand "all" True $ gfcp [l,s,c,t,sc]
, RGLCommand "lang" False $ gfcp [l,s]
, RGLCommand "api" False $ gfcp [t,sc]
, RGLCommand "compat" False $ gfcp [c]
, RGLCommand "web" True $ \ _ _ bi -> buildWeb (default_gf (lbi bi)) bi
, RGLCommand "pgf" False $ \modes args bi ->
parallel_ [
do let dir = getRGLBuildDir (lbi bi) mode
createDirectoryIfMissing True dir
sequence_ [run_gfc bi ["-s","-make","-name=Lang"++la,
dir ++ "/Lang" ++ la ++ ".gfo"]
| (_,la) <- optl langsPGF args]
run_gfc bi (["-s","-make","-name=Lang"]++
["Lang" ++ la ++ ".pgf"|(_,la)<-optl langsPGF args])
| mode <- modes]
, RGLCommand "demo" False $ \modes args bi -> do
let ls = optl langsDemo args
gf bi (demos "Demo" ls) ["demo/Demo" ++ la ++ ".gf" | (_,la) <- ls]
return ()
, RGLCommand "parse" False $ \modes args bi ->
gfc bi modes (summary parse) (map parse (optl langsParse args))
, RGLCommand "none" False $ \modes args bi ->
return ()
]
where
gfcp cs modes args bi = parallel_ [gfcp' bi mode args cs|mode<-modes]
gfcp' bi mode args cs = gfcn bi mode (unwords ss) (concat fss)
where (ss,fss) = unzip [(summary f,map f as)|c<-cs,let (f,as)=c mode args]
summary f = f ("*","*")
l mode args = (lang,optml mode langsLang args)
s mode args = (symbol,optml mode langsAPI args)
c mode args = (compat,optl langsCompat args)
t mode args = (try,optml mode langsAPI args)
sc mode args = (symbolic,optml mode langsSymbolic args)
optl = optml AllTenses
optml mode ls args = getOptLangs (shrink ls) args
where
shrink = case mode of
Present -> intersect langsPresent
_ -> id
--------------------------------------------------------
checkRGLArgs args = do
let args' = filter (\arg -> not (arg `elem` all_modes ||
rgl_prefix `isPrefixOf` arg ||
langs_prefix `isPrefixOf` arg)) args
unless (null args') $
putStrLn $ "Unrecognised flags: " ++ intercalate ", " args'
return emptyHookedBuildInfo
buildRGL args flags bi = do
let cmds = getRGLCommands args
let modes = getOptMode args
mapM_ (\cmd -> cmdAction cmd modes args bi) cmds
installRGL args flags bi = do
let modes = getOptMode args
let inst_gf_lib_dir = datadir (uncurry absoluteInstallDirs bi NoCopyDest) </> "lib"
copyAll "prelude" (rgl_dst_dir (snd bi) </> "prelude") (inst_gf_lib_dir </> "prelude")
sequence_ [copyAll (show mode) (getRGLBuildDir (snd bi) mode) (inst_gf_lib_dir </> getRGLBuildSubDir mode)|mode<-modes]
copyRGL args flags bi = do
let modes = getOptMode args
dest = case copyDest flags of
NoFlag -> NoCopyDest
Flag d -> d
let inst_gf_lib_dir = datadir (uncurry absoluteInstallDirs bi dest) </> "lib"
copyAll "prelude" (rgl_dst_dir (snd bi) </> "prelude") (inst_gf_lib_dir </> "prelude")
sequence_ [copyAll (show mode) (getRGLBuildDir (snd bi) mode) (inst_gf_lib_dir </> getRGLBuildSubDir mode)|mode<-modes]
copyAll s from to = do
putStrLn $ "Installing [" ++ s ++ "] " ++ to
createDirectoryIfMissing True to
mapM_ (\file -> copyFile (from </> file) (to </> file)) =<< list_files from
{-
sdistRGL pkg mb_lbi hooks flags = do
paths <- getRGLFiles rgl_src_dir []
let pkg' = pkg{dataFiles=paths}
sDistHook simpleUserHooks pkg' mb_lbi hooks flags
where
getRGLFiles dir paths = foldM (processFile dir) paths =<< ls dir
processFile dir paths file = do
let path = dir </> file
print path
isFile <- doesFileExist path
if isFile
then if takeExtension file == ".gf" || file == "LICENSE"
then return (path : paths)
else return paths
else getRGLFiles path paths
-}
-- | Cabal doesn't know how to correctly create the source distribution, so
-- we print an error message with the correct instructions when someone tries
-- `cabal sdist`.
sdistError _ _ _ _ = fail "Error: Use `make sdist` to create the source distribution file"
rgl_src_dir = "lib" </> "src"
rgl_dst_dir lbi = buildDir lbi </> "rgl"
-- the languages have long directory names and short ISO codes (3 letters)
-- we also give the decodings for postprocessing linearizations, as long as grammars
-- don't support all flags needed; they are used in tests
langsCoding = [
(("afrikaans","Afr"),""),
(("amharic", "Amh"),""),
(("arabic", "Ara"),""),
(("bulgarian","Bul"),""),
(("catalan", "Cat"),""),
(("chinese", "Chi"),""),
(("danish", "Dan"),""),
(("dutch", "Dut"),""),
(("english", "Eng"),""),
(("estonian", "Est"),""),
(("finnish", "Fin"),""),
(("french", "Fre"),""),
(("ancient_greek","Grc"),""),
(("greek", "Gre"),""),
(("hebrew", "Heb"),""),
(("hindi", "Hin"),"to_devanagari"),
(("german", "Ger"),""),
(("interlingua","Ina"),""),
(("italian", "Ita"),""),
(("japanese", "Jpn"),""),
(("latin", "Lat"),""),
(("latvian", "Lav"),""),
(("maltese", "Mlt"),""),
(("mongolian","Mon"),""),
(("nepali", "Nep"),""),
(("norwegian","Nor"),""),
(("persian", "Pes"),""),
(("polish", "Pol"),""),
(("punjabi", "Pnb"),""),
(("romanian", "Ron"),""),
(("russian", "Rus"),""),
(("sindhi", "Snd"),""),
(("spanish", "Spa"),""),
(("swedish", "Swe"),""),
(("thai", "Tha"),"to_thai"),
(("turkish", "Tur"),""),
(("urdu", "Urd"),"")
] ]
langs = map fst langsCoding -- | Get path to locally-built gf
-- default set of languages to compile
-- defaultLangs = langs `only` words "Eng Fre Ger Ita Spa Swe"
-- languagues for which to compile Lang
langsLang = langs -- `except` ["Amh","Ara","Lat","Tur"]
--langsLang = langs `only` ["Fin"] --test
-- languagues that have notpresent marked
langsPresent = langsLang `except` ["Afr","Chi","Gre","Heb","Jpn","Mlt","Mon","Nep","Pes","Snd","Tha","Thb","Est"]
-- languages for which to compile Try
langsAPI = langsLang `except` langsIncomplete -- ["Ina","Amh","Ara"]
langsIncomplete = ["Amh","Ara","Grc","Heb","Ina","Lat","Tur"]
-- languages for which to compile Symbolic
langsSymbolic = langsAPI `except` ["Afr","Jpn","Mon","Nep"]
-- languages for which to run demo test
langsDemo = langsLang `except` ["Ara","Hin","Ina","Lav","Tha"]
-- languages for which to compile parsing grammars
langsParse = langs `only` ["Eng"]
-- languages for which langs.pgf is built
langsPGF = langsLang `except` ["Ara","Hin","Ron","Tha"]
-- languages for which Compatibility exists (to be extended)
langsCompat = langsLang `only` ["Cat","Eng","Fin","Fre","Ita","Lav","Spa","Swe"]
gfc bi modes summary files =
parallel_ [gfcn bi mode summary files | mode<-modes]
gfcn bi mode summary files = do
let dir = getRGLBuildDir (lbi bi) mode
preproc = case mode of
AllTenses -> ""
Present -> "-preproc="++({-rgl_src_dir </>-} "mkPresent")
createDirectoryIfMissing True dir
putStrLn $ "Compiling [" ++ show mode ++ "] " ++ summary
run_gfc bi (["-s", "-no-pmcfg", preproc, "--gfo-dir="++dir] ++ files)
gf bi comm files = do
putStrLn $ "Reading " ++ unwords files
let gf = default_gf (lbi bi)
putStrLn ("executing: " ++ comm ++ "\n" ++
"in " ++ gf)
out <- readProcess gf ("-s":files) comm
putStrLn out
demos abstr ls = "gr -number=100 | l -treebank " ++ unlexer abstr ls ++
" | ps -to_html | wf -file=resdemo.html"
lang (lla,la) = rgl_src_dir </> lla </> ("All" ++ la ++ ".gf")
compat (lla,la) = rgl_src_dir </> lla </> ("Compatibility" ++ la ++ ".gf")
symbol (lla,la) = rgl_src_dir </> lla </> ("Symbol" ++ la ++ ".gf")
try (lla,la) = rgl_src_dir </> "api" </> ("Try" ++ la ++ ".gf")
syntax (lla,la) = rgl_src_dir </> "api" </> ("Syntax" ++ la ++ ".gf")
symbolic (lla,la) = rgl_src_dir </> "api" </> ("Symbolic" ++ la ++ ".gf")
parse (lla,la) = rgl_src_dir </> "parse" </> ("Parse" ++ la ++ ".gf")
except ls es = filter (flip notElem es . snd) ls
only ls es = filter (flip elem es . snd) ls
getOptMode args =
if null explicit_modes
then default_modes
else explicit_modes
where
explicit_modes =
[Present|have "present"]++
[AllTenses|have "alltenses"]
have mode = mode `elem` args
-- list of languages overriding the definitions above
getOptLangs defaultLangs args =
case [ls | arg <- args,
let (f,ls) = splitAt (length langs_prefix) arg,
f==langs_prefix] of
('+':ls):_ -> foldr addLang defaultLangs (seps ls)
('-':ls):_ -> foldr removeLang defaultLangs (seps ls)
ls:_ -> findLangs langs (seps ls)
_ -> defaultLangs
where
seps = words . map (\c -> if c==',' then ' ' else c)
findLangs langs ls = [lang | lang@(_,la) <- langs, la `elem` ls]
removeLang l ls = [lang | lang@(_,la) <- ls, la/=l]
addLang l ls = if null (findLangs ls [l])
then findLangs langs [l]++ls
else ls
getRGLBuildSubDir mode =
case mode of
AllTenses -> "alltenses"
Present -> "present"
getRGLBuildDir :: LocalBuildInfo -> Mode -> FilePath
getRGLBuildDir lbi mode = rgl_dst_dir lbi </> getRGLBuildSubDir mode
getRGLCommands args =
let cmds0 = [cmd | arg <- args,
let (prefix,name) = splitAt (length rgl_prefix) arg,
prefix == rgl_prefix,
cmd <- rglCommands,
cmdName cmd == name]
in if null cmds0
then [cmd | cmd <- rglCommands, cmdIsDef cmd]
else cmds0
langs_prefix = "langs="
rgl_prefix = "rgl-"
unlexer abstr ls =
"-unlexer=\\\"" ++ unwords
[abstr ++ la ++ "=" ++ unl |
lla@(_,la) <- ls, let unl = unlex lla, not (null unl)] ++
"\\\""
where
unlex lla = maybe "" id $ lookup lla langsCoding
-- | Runs the gf executable in compile mode with the given arguments.
run_gfc :: Info -> [String] -> IO ()
run_gfc bi args =
do let args' = numJobs (bf bi)++["-batch","-gf-lib-path="++rgl_src_dir]
++ filter (not . null) args
gf = default_gf (lbi bi)
execute gf args'
default_gf :: LocalBuildInfo -> FilePath default_gf :: LocalBuildInfo -> FilePath
default_gf lbi = buildDir lbi </> exeName' </> exeNameReal default_gf lbi = buildDir lbi </> exeName' </> exeNameReal
where where
-- shadows Distribution.Simple.BuildPaths.exeExtension, which changed type signature in Cabal 2.4
exeExtension = case hostPlatform lbi of
Platform arch Windows -> "exe"
_ -> ""
exeName' = "gf" exeName' = "gf"
exeNameReal = exeName' <.> exeExtension exeNameReal = exeName' <.> exeExtension
{- --old solution, could pick the wrong executable if there is more than one
exeName' = (exeName . head . executables) pkg
exeNameReal = exeName' <.> (if null $ takeExtension exeName' then exeExtension else "")
-}
-- | Create autogen module with detailed version info by querying darcs
extractDarcsVersion distFlag =
do info <- tryIOE askDarcs
createDirectoryIfMissing True autogenPath
updateFile versionModulePath $ unlines $
["module "++modname++" where",
"{-# NOINLINE darcs_info #-}",
"darcs_info = "++show (either (const (Left ())) Right info)]
where
dist = fromFlagOrDefault "dist" distFlag
autogenPath = dist</>"build"</>"autogen"
versionModulePath = autogenPath</>"DarcsVersion_gf.hs"
modname = "DarcsVersion_gf"
askDarcs =
do flip unless (fail "no _darcs") =<< doesDirectoryExist "_darcs"
tags <- lines `fmap` readProcess "darcs" ["show","tags"] ""
let from = case tags of
[] -> []
tag:_ -> ["--from-tag="++tag]
dates <- (init' . patches) `fmap` readProcess "darcs" ("changes":from) ""
-- let dates = init' (filter ((`notElem` [""," "]).take 1) changes)
whatsnew <- tryIOE $ lines `fmap` readProcess "darcs" ["whatsnew","-s"] ""
return (listToMaybe tags,listToMaybe dates,
length dates,either (const 0) length whatsnew)
where
init' [] = []
init' xs = init xs
-- | Only update the file if contents has changed
updateFile path new =
do old <- tryIOE $ readFile path
when (Right new/=old) $ seq (either (const 0) length old) $
writeFile path new
-- | List files, excluding "." and ".."
list_files path = filter ((/=".").take 1) `fmap` getDirectoryContents path
-- | For parallel RGL module compilation
-- Unfortunately, this has no effect unless Setup.hs is compiled with -threaded
parallel_ ms = sequence_ ms {-
do c <- newChan
ts <- sequence [ forkIO (m >> writeChan c ()) | m <- ms]
sequence_ [readChan c | _ <- ts]
--}
patches = paras . lines
where
paras = unfoldr para
para ls = case break null $ dropWhile null ls of
([],[]) -> Nothing
(xs,ys) -> Just (info xs,ys)
info = unwords . map dropHeaders . filter (\l->not $ any (`isPrefixOf` l) [" ","patch "])
dropHeaders = dropWhile isSpace . dropPrefix "Author: " . dropPrefix "Date: "
dropPrefix pre l = maybe l id (stripPrefix pre l)
+64 -29
View File
@@ -1,12 +1,12 @@
module WebSetup(buildWeb,installWeb,copyWeb,numJobs,execute) where module WebSetup(buildWeb,installWeb,copyWeb,numJobs,execute) where
import System.Directory(createDirectoryIfMissing,copyFile) import System.Directory(createDirectoryIfMissing,copyFile,doesDirectoryExist,doesFileExist)
import System.FilePath((</>),dropExtension) import System.FilePath((</>),dropExtension)
import System.Process(rawSystem) import System.Process(rawSystem)
import System.Exit(ExitCode(..)) import System.Exit(ExitCode(..))
import Distribution.Simple.Setup(BuildFlags(..),Flag(..),CopyDest(..),copyDest) import Distribution.Simple.Setup(BuildFlags(..),Flag(..),CopyFlags(..),CopyDest(..),copyDest)
import Distribution.Simple.LocalBuildInfo(datadir,buildDir,absoluteInstallDirs) import Distribution.Simple.LocalBuildInfo(LocalBuildInfo(..),datadir,buildDir,absoluteInstallDirs)
import Distribution.Simple.Utils(die) import Distribution.PackageDescription(PackageDescription(..))
{- {-
To test the GF web services, the minibar and the grammar editor, use To test the GF web services, the minibar and the grammar editor, use
@@ -16,57 +16,88 @@ import Distribution.Simple.Utils(die)
Chrome). The example grammars listed below will be available in the minibar. Chrome). The example grammars listed below will be available in the minibar.
-} -}
example_grammars = -- :: [(pgf, subdir, src)] {-
Update 2018-07-04
The example grammars have now been removed from the GF repository.
This script will look for them in ../gf-contrib and build them from there if possible.
If not, the user will be given a message and nothing is build or copied.
(Unfortunately cabal install seems to hide all messages from stdout,
so users won't see this message unless they check the log.)
-}
-- | Notice about contrib grammars
noContribMsg :: IO ()
noContribMsg = putStr $ unlines
[ "Example grammars are no longer included in the main GF repository, but have moved to gf-contrib."
, "If you want them to be built, clone the following repository in the same directory as gf-core:"
, "https://github.com/GrammaticalFramework/gf-contrib.git"
]
example_grammars :: [(String, String, [String])] -- [(pgf, subdir, source modules)]
example_grammars =
[("Letter.pgf","letter",letterSrc) [("Letter.pgf","letter",letterSrc)
,("Foods.pgf","foods",foodsSrc) ,("Foods.pgf","foods",foodsSrc)
,("Phrasebook.pgf","phrasebook",phrasebookSrc) ,("Phrasebook.pgf","phrasebook",phrasebookSrc)
] ]
where where
--foodsSrc = "Foods???.gf" -- doesn't work on Win32
foodsSrc = ["Foods"++lang++".gf"|lang<-foodsLangs] foodsSrc = ["Foods"++lang++".gf"|lang<-foodsLangs]
foodsLangs = words "Afr Amh Bul Cat Cze Dut Eng Epo Fin Fre Ger Gle Heb Hin Ice Ita Jpn Lav Mlt Mon Nep Pes Por Ron Spa Swe Tha Tsn Tur Urd" foodsLangs = words "Afr Amh Bul Cat Cze Dut Eng Epo Fin Fre Ger Gle Heb Hin Ice Ita Jpn Lav Mlt Mon Nep Pes Por Ron Spa Swe Tha Tsn Tur Urd"
--phrasebookSrc = "Phrasebook???.gf" -- doesn't work on Win32
phrasebookSrc = ["Phrasebook"++lang++".gf"|lang<-phrasebookLangs] phrasebookSrc = ["Phrasebook"++lang++".gf"|lang<-phrasebookLangs]
phrasebookLangs = words "Bul Cat Chi Dan Dut Eng Lav Hin Nor Spa Swe Tha" -- only fastish languages phrasebookLangs = words "Bul Cat Chi Dan Dut Eng Lav Hin Nor Spa Swe Tha" -- only fastish languages
--letterSrc = "Letter???.gf"
letterSrc = ["Letter"++lang++".gf"|lang<-letterLangs] letterSrc = ["Letter"++lang++".gf"|lang<-letterLangs]
letterLangs = words "Eng Fin Fre Heb Rus Swe" letterLangs = words "Eng Fin Fre Heb Rus Swe"
contrib_dir :: FilePath
contrib_dir = ".."</>"gf-contrib"
buildWeb gf (flags,pkg,lbi) = buildWeb :: String -> BuildFlags -> (PackageDescription, LocalBuildInfo) -> IO ()
do --putStrLn "buildWeb" buildWeb gf flags (pkg,lbi) = do
mapM_ build_pgf example_grammars contrib_exists <- doesDirectoryExist contrib_dir
if contrib_exists
then mapM_ build_pgf example_grammars
-- else noContribMsg
else return ()
where where
gfo_dir = buildDir lbi </> "examples" gfo_dir = buildDir lbi </> "examples"
build_pgf :: (String, String, [String]) -> IO Bool
build_pgf (pgf,subdir,src) = build_pgf (pgf,subdir,src) =
do createDirectoryIfMissing True tmp_dir do createDirectoryIfMissing True tmp_dir
putStrLn $ "Building "++pgf putStrLn $ "Building "++pgf
execute gf args execute gf args
where where
tmp_dir = gfo_dir</>subdir tmp_dir = gfo_dir</>subdir
dir = "examples"</>subdir dir = contrib_dir</>subdir
dest = NoCopyDest
gf_lib_path = datadir (absoluteInstallDirs pkg lbi dest) </> "lib"
args = numJobs flags++["-make","-s"] -- ,"-optimize-pgf" args = numJobs flags++["-make","-s"] -- ,"-optimize-pgf"
++["--gfo-dir="++tmp_dir, ++["--gfo-dir="++tmp_dir,
"--gf-lib-path="++buildDir lbi </> "rgl", --"--gf-lib-path="++gf_lib_path,
"--name="++dropExtension pgf, "--name="++dropExtension pgf,
"--output-dir="++gfo_dir] "--output-dir="++gfo_dir]
++[dir</>file|file<-src] ++[dir</>file|file<-src]
installWeb :: (PackageDescription, LocalBuildInfo) -> IO ()
installWeb = setupWeb NoCopyDest installWeb = setupWeb NoCopyDest
copyWeb :: CopyFlags -> (PackageDescription, LocalBuildInfo) -> IO ()
copyWeb flags = setupWeb dest copyWeb flags = setupWeb dest
where where
dest = case copyDest flags of dest = case copyDest flags of
NoFlag -> NoCopyDest NoFlag -> NoCopyDest
Flag d -> d Flag d -> d
setupWeb dest (pkg,lbi) = setupWeb :: CopyDest -> (PackageDescription, LocalBuildInfo) -> IO ()
do mapM_ (createDirectoryIfMissing True) [grammars_dir,cloud_dir] setupWeb dest (pkg,lbi) = do
mapM_ copy_pgf example_grammars mapM_ (createDirectoryIfMissing True) [grammars_dir,cloud_dir]
copyGFLogo contrib_exists <- doesDirectoryExist contrib_dir
if contrib_exists
then mapM_ copy_pgf example_grammars
else return () -- message already displayed from buildWeb
copyGFLogo
where where
grammars_dir = www_dir </> "grammars" grammars_dir = www_dir </> "grammars"
cloud_dir = www_dir </> "tmp" -- hmm cloud_dir = www_dir </> "tmp" -- hmm
@@ -74,10 +105,14 @@ setupWeb dest (pkg,lbi) =
www_dir = datadir (absoluteInstallDirs pkg lbi dest) </> "www" www_dir = datadir (absoluteInstallDirs pkg lbi dest) </> "www"
gfo_dir = buildDir lbi </> "examples" gfo_dir = buildDir lbi </> "examples"
copy_pgf :: (String, String, [String]) -> IO ()
copy_pgf (pgf,subdir,_) = copy_pgf (pgf,subdir,_) =
do let dst = grammars_dir</>pgf do let src = gfo_dir </> pgf
putStrLn $ "Installing "++dst let dst = grammars_dir </> pgf
copyFile (gfo_dir</>pgf) dst ex <- doesFileExist src
if ex then do putStrLn $ "Installing "++dst
copyFile src dst
else putStrLn $ "Not installing "++dst
gf_logo = "gf0.png" gf_logo = "gf0.png"
@@ -85,27 +120,27 @@ setupWeb dest (pkg,lbi) =
do createDirectoryIfMissing True logo_dir do createDirectoryIfMissing True logo_dir
copyFile ("doc"</>"Logos"</>gf_logo) (logo_dir</>gf_logo) copyFile ("doc"</>"Logos"</>gf_logo) (logo_dir</>gf_logo)
-- | Run an arbitrary system command, returning False on failure
execute :: String -> [String] -> IO Bool
execute command args = execute command args =
do let cmdline = command ++ " " ++ unwords (map showArg args) do let cmdline = command ++ " " ++ unwords (map showArg args)
-- putStrLn $ "Running: " ++ cmdline
-- appendFile "running" (cmdline++"\n")
e <- rawSystem command args e <- rawSystem command args
case e of case e of
ExitSuccess -> return () ExitSuccess -> return True
ExitFailure i -> do putStrLn $ "Ran: " ++ cmdline ExitFailure i -> do putStrLn $ "Ran: " ++ cmdline
die $ command++" exited with exit code: " ++ show i putStrLn $ command++" exited with exit code: " ++ show i
return False
where where
showArg arg = if ' ' `elem` arg then "'" ++ arg ++ "'" else arg showArg arg = if ' ' `elem` arg then "'" ++ arg ++ "'" else arg
-- | This function is used to enable parallel compilation of the RGL and -- | This function is used to enable parallel compilation of the RGL and example grammars
-- example grammars, but it is commented out by default numJobs :: BuildFlags -> [String]
-- to avoid casing problems for developers using Cabal<1.20
numJobs flags = numJobs flags =
if null n if null n
then ["-j","+RTS","-A20M","-N","-RTS"] then ["-j","+RTS","-A20M","-N","-RTS"]
else ["-j="++n,"+RTS","-A20M","-N"++n,"-RTS"] else ["-j="++n,"+RTS","-A20M","-N"++n,"-RTS"]
where where
-- buildNumJobs is only available in Cabal>=1.20 -- buildNumJobs is only available in Cabal>=1.20
n = {-case buildNumJobs flags of n = case buildNumJobs flags of
Flag mn | mn/=Just 1-> maybe "" show mn Flag mn | mn/=Just 1-> maybe "" show mn
_ ->-} "" _ -> ""
Regular → Executable
+41 -29
View File
@@ -1,33 +1,38 @@
#! /bin/bash #! /bin/bash
### This script builds a binary distribution of GF from the source ### This script builds a binary distribution of GF from source.
### package that this script is a part of. It assumes that you have installed ### It assumes that you have Haskell and Cabal installed.
### the Haskell Platform, version 2013.2.0.0 or 2012.4.0.0. ### Two binary package formats are supported (specified with the FMT env var):
### Two binary package formats are supported: plain tar files (.tar.gz) and ### - plain tar files (.tar.gz)
### OS X Installer packages (.pkg). ### - macOS installer packages (.pkg)
os=$(uname) # Operating system name (e.g. Darwin or Linux) os=$(uname) # Operating system name (e.g. Darwin or Linux)
hw=$(uname -m) # Hardware name (e.g. i686 or x86_64) hw=$(uname -m) # Hardware name (e.g. i686 or x86_64)
# GF version number: cabal="cabal v1-" # Cabal >= 2.4
# cabal="cabal " # Cabal <= 2.2
## Get GF version number from Cabal file
ver=$(grep -i ^version: gf.cabal | sed -e 's/version://' -e 's/ //g') ver=$(grep -i ^version: gf.cabal | sed -e 's/version://' -e 's/ //g')
name="gf-$ver" name="gf-$ver"
destdir="$PWD/dist/$name" # assemble binary dist here destdir="$PWD/dist/$name" # assemble binary dist here
prefix=${PREFIX:-/usr/local} # where to install prefix=${PREFIX:-/usr/local} # where to install
fmt=${FMT:-tar.gz} # binary package format (tar.gz or pkg) fmt=${FMT:-tar.gz} # binary package format (tar.gz or pkg)
ghc=${GHC:-ghc} # which Haskell compiler to use
extralib="$destdir$prefix/lib" extralib="$destdir$prefix/lib"
extrainclude="$destdir$prefix/include" extrainclude="$destdir$prefix/include"
extra="--extra-lib-dirs=$extralib --extra-include-dirs=$extrainclude" extra="--extra-lib-dirs=$extralib --extra-include-dirs=$extrainclude"
set -e # Stop if an error occurs set -e # Stop if an error occurs
set -x # print commands before exuting them set -x # print commands before executing them
## First configure & build the C run-time system ## First configure & build the C run-time system
pushd src/runtime/c pushd src/runtime/c
bash setup.sh configure --prefix="$prefix" bash setup.sh configure --prefix="$prefix"
bash setup.sh build bash setup.sh build
# bash setup.sh install prefix="$prefix" # hack required for GF build on macOS
bash setup.sh install prefix="$destdir$prefix" bash setup.sh install prefix="$destdir$prefix"
popd popd
@@ -37,11 +42,11 @@ if which >/dev/null python; then
EXTRA_INCLUDE_DIRS="$extrainclude" EXTRA_LIB_DIRS="$extralib" python setup.py build EXTRA_INCLUDE_DIRS="$extrainclude" EXTRA_LIB_DIRS="$extralib" python setup.py build
python setup.py install --prefix="$destdir$prefix" python setup.py install --prefix="$destdir$prefix"
if [ "$fmt" == pkg ] ; then if [ "$fmt" == pkg ] ; then
# A hack for Python on OS X to find the PGF modules # A hack for Python on macOS to find the PGF modules
pyver=$(ls "$destdir$prefix/lib" | sed -n 's/^python//p') pyver=$(ls "$destdir$prefix/lib" | sed -n 's/^python//p')
pydest="$destdir/Library/Python/$pyver/site-packages" pydest="$destdir/Library/Python/$pyver/site-packages"
mkdir -p "$pydest" mkdir -p "$pydest"
ln "$destdir$prefix/lib/python$pyver/site-packages"/pgf* "$pydest" ln "$destdir$prefix/lib/python$pyver/site-packages"/pgf*.so "$pydest"
fi fi
popd popd
else else
@@ -52,35 +57,42 @@ fi
if which >/dev/null javac && which >/dev/null jar ; then if which >/dev/null javac && which >/dev/null jar ; then
pushd src/runtime/java pushd src/runtime/java
rm -f libjpgf.la # In case it contains the wrong INSTALL_PATH rm -f libjpgf.la # In case it contains the wrong INSTALL_PATH
if make CFLAGS="-I$extrainclude -L$extralib" INSTALL_PATH="$prefix/lib" if make CFLAGS="-I$extrainclude -L$extralib" INSTALL_PATH="$prefix"
then then
make INSTALL_PATH="$destdir$prefix/lib" install make INSTALL_PATH="$destdir$prefix" install
else else
echo "*** Skipping the Java binding because of errors" echo "Skipping the Java binding because of errors"
fi fi
popd popd
else else
echo "Java SDK is not installed, so the Java binding will not be included" echo "Java SDK is not installed, so the Java binding will not be included"
fi fi
## Build GF, with C run-time support enabled ## To find dynamic C run-time libraries when building GF below
cabal install --only-dependencies -fserver -fc-runtime $extra export DYLD_LIBRARY_PATH="$extralib" LD_LIBRARY_PATH="$extralib"
cabal configure --prefix="$prefix" -fserver -fc-runtime $extra
DYLD_LIBRARY_PATH="$extralib" LD_LIBRARY_PATH="$extralib" cabal build
cabal copy --destdir="$destdir"
libdir=$(dirname $(find "$destdir" -name PGF.hi))
cabal register --gen-pkg-config=$libdir/gf-$ver.conf
## Build GF, with C run-time support enabled
${cabal}install -w "$ghc" --only-dependencies -fserver -fc-runtime $extra
${cabal}configure -w "$ghc" --prefix="$prefix" -fserver -fc-runtime $extra
${cabal}build
## Copy GF to $destdir
${cabal}copy --destdir="$destdir"
libdir=$(dirname $(find "$destdir" -name PGF.hi))
${cabal}register --gen-pkg-config="$libdir/gf-$ver.conf"
## Create the binary distribution package
case $fmt in case $fmt in
tar.gz) tar.gz)
targz="$name-bin-$hw-$os.tar.gz" # the final tar file targz="$name-bin-$hw-$os.tar.gz" # the final tar file
tar -C "$destdir/$prefix" -zcf "dist/$targz" . tar --directory "$destdir/$prefix" --gzip --create --file "dist/$targz" .
echo "Created $targz, consider renaming it to something more user friendly" echo "Created $targz"
;; ;;
pkg) pkg)
pkg=$name.pkg pkg=$name.pkg
pkgbuild --identifier org.grammaticalframework.gf.pkg --version "$ver" --root "$destdir" --install-location / dist/$pkg pkgbuild --identifier org.grammaticalframework.gf.pkg --version "$ver" --root "$destdir" --install-location / dist/$pkg
echo "Created $pkg" echo "Created $pkg"
esac esac
## Cleanup
rm -r "$destdir" rm -r "$destdir"
Executable
+20
View File
@@ -0,0 +1,20 @@
#!/bin/bash
# This script finds all .t2t (txt2tags) and .md (Markdown) files
# and deletes the corresponding HTML file of the same name.
find . -name '*.t2t' | while read t2t ; do
html="${t2t%.t2t}.html"
if [ -f "$html" ] ; then
echo "$html"
rm -f "$html"
fi
done
find . -name '*.md' | while read md ; do
html="${md%.md}.html"
if [ -f "$html" ] ; then
echo "$html"
rm -f "$html"
fi
done
Regular → Executable
View File
+147
View File
@@ -0,0 +1,147 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="$lang$" xml:lang="$lang$"$if(dir)$ dir="$dir$"$endif$>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
$for(author-meta)$
<meta name="author" content="$author-meta$" />
$endfor$
$if(date-meta)$
<meta name="dcterms.date" content="$date-meta$" />
$endif$
$if(keywords)$
<meta name="keywords" content="$for(keywords)$$keywords$$sep$, $endfor$" />
$endif$
<title>$if(title-prefix)$$title-prefix$ $endif$$pagetitle$</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.2/css/all.css" integrity="sha384-/rXc/GQVaYpyDdyxK+ecHPVYJSN9bmVFBvjA/9eOB+pb3F2w2N6fc5qB9Ew5yIns" crossorigin="anonymous">
$for(css)$
<link rel="stylesheet" href="$css$" />
$endfor$
$if(math)$
$math$
$endif$
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
$for(header-includes)$
$header-includes$
$endfor$
</head>
<body class="bg-light">
<div class="bg-white pb-5">
$for(include-before)$
$include-before$
$endfor$
<div class="container-fluid py-5" style="max-width:1200px">
$if(title)$
<header id="title-block-header">
<a href="$rel-root$" title="Home">
<img src="$rel-root$/doc/Logos/gf1.svg" height="200" class="float-md-right ml-3 mb-3 bg-white" alt="GF Logo">
</a>
<h1 class="title">$title$</h1>
$if(subtitle)$
<p class="subtitle">$subtitle$</p>
$endif$
$for(author)$
<p class="author">$author$</p>
$endfor$
$if(date)$
<p class="date">$date$</p>
$endif$
</header>
$endif$
$if(toc)$
<nav id="$idprefix$TOC">
$if(table-of-contents)$
<!-- pandoc >= 2.0 -->
$table-of-contents$
$else$
<!-- pandoc < 2.0 -->
$toc$
$endif$
</nav>
$endif$
$body$
</div><!-- .container -->
</div><!-- .bg-white -->
<footer class="py-5">
<div class="container">
<div class="row">
<div class="col-6 col-sm-3">
<a href="$rel-root$">
<i class="fas fa-home"></i>
Home
</a>
<h6 class="text-muted mt-3">Get started</h6>
<ul class="list-unstyled">
<li><a href="https://www.youtube.com/watch?v=x1LFbDQhbso">Google Tech Talk</a></li>
<li><a href="http://cloud.grammaticalframework.org/">GF Cloud</a></li>
<li>
<a href="$rel-root$/doc/tutorial/gf-tutorial.html">Tutorial</a>
·
<a href="$rel-root$/lib/doc/rgl-tutorial/index.html">RGL Tutorial</a>
</li>
<li><a href="$rel-root$/doc/gf-video-tutorials.html">Video Tutorials</a></li>
<li><a href="$rel-root$/download"><strong>Download GF</strong></a></li>
</ul>
</div>
<div class="col-6 col-sm-3">
<h6 class="text-muted">Learn more</h6>
<ul class="list-unstyled">
<li><a href="$rel-root$/gf-book">The GF Book</a></li>
<li><a href="$rel-root$/doc/gf-refman.html">Reference Manual</a></li>
<li><a href="$rel-root$/doc/gf-shell-reference.html">GF Shell Reference</a></li>
<li><a href="http://www.molto-project.eu/sites/default/files/MOLTO_D2.3.pdf">Best Practices</a></li>
<li><a href="$rel-root$/lib/doc/synopsis/index.html"><strong>RGL Synopsis</strong></a></li>
</ul>
</div>
<div class="col-6 col-sm-3">
<h6 class="text-muted">Develop</h6>
<ul class="list-unstyled">
<li><a href="$rel-root$/doc/gf-developers.html">Developers Guide</a></li>
<li><a href="http://hackage.haskell.org/package/gf/docs/PGF.html">PGF library API (Haskell runtime)</a></li>
<li><a href="$rel-root$/doc/runtime-api.html">PGF library API (C runtime)</a></li>
<li><a href="http://hackage.haskell.org/package/gf/docs/GF.html">GF compiler API</a></li>
<li><a href="$rel-root$/doc/gf-editor-modes.html">Text Editor Support</a></li>
</ul>
</div>
<div class="col-6 col-sm-3">
<h6 class="text-muted">Contribute</h6>
<ul class="list-unstyled">
<li><a href="http://groups.google.com/group/gf-dev">Mailing List</a></li>
<li><a href="https://github.com/GrammaticalFramework/gf-core/issues">Issue Tracker</a></li>
<li><a href="$rel-root$/doc/gf-people.html">Authors</a></li>
<li><a href="http://school.grammaticalframework.org/2018/">Summer School</a></li>
</ul>
<h6 class="text-muted">
Repositories
<i class="fab fa-github ml-1"></i>
</h6>
<a href="https://github.com/GrammaticalFramework/gf-core">GF</a> ·
<a href="https://github.com/GrammaticalFramework/gf-rgl">RGL</a> ·
<a href="https://github.com/GrammaticalFramework/gf-contrib">Contributions</a>
</div>
</div>
</div>
</footer>
$for(include-after)$
$include-after$
$endfor$
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-7811807-3");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>
Regular → Executable
+152 -7
View File
@@ -1,11 +1,156 @@
#!/bin/bash #!/bin/bash
### This script finds all .t2t (txt2tags) files and updates the corresponding # Generate HTML from txt2tags (.t2t) and Markdown (.md)
### .html file, if it is out-of-date. # Usage:
# - update_html
# Look for all .t2t and .md files in the current directory and below,
# generating the output HTML when the source is newer than the HTML.
# - update_html path/to/file.t2t path/to/another.md
# Generate HTML for the specified file(s), ignoring modification time.
#
# Requires:
# - txt2tags for .t2t files. Tested with 2.6.
# - pandoc for both .t2t and .md files. Tested with 1.16.0.2 and 2.3.1.
# - the template file `template.html` in the same directory as this script.
#
# Tested with Ubuntu 16.04 and macOS Mojave.
#
# See also clean_html for removing the files generated by this script.
find . -name '*.t2t' | while read t2t ; do # Path to directory where this script is
html="${t2t%.t2t}.html" # https://stackoverflow.com/a/246128/98600
if [ "$t2t" -nt "$html" ] ; then DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
txt2tags -thtml "$t2t"
# HTML template
template="$DIR/template.html"
# Render txt2tags into html file
# Arguments:
# 1. txt2tags source file, e.g. download/index.t2t
# 2. html target file, e.g. download/index.html
function render_t2t_html {
t2t="$1"
html="$2"
tmp="$2.tmp"
relroot="$( dirname $t2t | sed -E 's/^.\///' | sed -E 's/[^/]+/../g' )"
# First render with txt2tags to handle pre/post processing
txt2tags \
--target=html \
--no-headers \
--quiet \
--outfile="$tmp" \
--infile="$t2t"
# Replace <A NAME="toc3"></A> with <div id="toc3"></div> so that Pandoc retains it
# Do this for both cases since BSD sed doesn't support /i
sed -i.bak "s/<a name=\"\(.*\)\"><\/a>/<div id=\"\1\"><\/div>/" "$tmp"
sed -i.bak "s/<A NAME=\"\(.*\)\"><\/A>/<div id=\"\1\"><\/div>/" "$tmp"
rm -f "$tmp.bak"
# Capture first 3 lines of t2t file: title, author, date
# Documentation here: https://txt2tags.org/userguide/headerarea
l1=$(head -n 1 "$t2t")
l2=$(tail -n+2 "$t2t" | head -n 1)
l3=$(tail -n+3 "$t2t" | head -n 1)
title=
author=
date=
if [ -n "$l1" ] ; then
title="$l1"
if [ -n "$l2" ] ; then author="$l2" ; fi
if [ -n "$l3" ] ; then date="$l3" ; fi
fi fi
done
# Run txt2tag's HTML through Pandoc for cleanup
pandoc \
--from=html \
--to=html5 \
--standalone \
--template="$template" \
--variable="lang:en" \
--variable="rel-root:$relroot" \
--metadata="title:$title" \
--metadata="author:$author" \
--metadata="date:$date" \
"$tmp" \
--output="$html"
rm -f "$tmp"
# Final post-processing
if [ -f "$html" ] ; then
sed -i.bak "s/<table/<table class=\"table\"/" "$html" && rm "$html.bak"
echo "$html"
fi
}
# Render markdown into html file
# Arguments:
# 1. markdown source file, e.g. download/index.md
# 2. html target file, e.g. download/index.html
function render_md_html {
md="$1"
html="$2"
relroot="$( dirname $md | sed -E 's/^.\///' | sed -E 's/[^/]+/../g' )"
# Look for `show-toc: true` in metadata (first ten lines of file)
if head -n 10 "$md" | grep --quiet 'show-toc: true' ; then
tocflag='--table-of-contents'
else
tocflag=''
fi
pandoc \
--from=markdown \
--to=html5 \
--standalone \
$tocflag \
--template="$template" \
--variable="lang:en" \
--variable="rel-root:$relroot" \
"$md" \
--output="$html"
# Final post-processing
if [ -f "$html" ] ; then
# add "table" class to tables
sed -i.bak "s/<table/<table class=\"table\"/" "$html"
# rewrite anchors that Pandoc 1.16 ignores: [content]{#anchor} -> <span id="anchor">content</span>
sed -i.bak -E "s/\[(.*)\]\{#(.+)\}/<span id=\"\2\">\1<\/span>/" "$html"
rm -f "$html.bak"
echo "$html"
fi
}
# Main entry point
# Script can be run in one of two modes:
if [ $# -gt 0 ] ; then
# Render specific file(s) from args, ignoring dates
for file in "$@" ; do
ext="${file##*.}"
html="${file%.$ext}.html"
case $ext in
"md")
render_md_html "$file" "$html"
;;
"t2t")
render_t2t_html "$file" "$html"
;;
esac
done
else
# Render all files found in cwd and deeper if source is newer
find . -name '*.t2t' | while read file ; do
html="${file%.t2t}.html"
if [ "$file" -nt "$html" ] || [ "$template" -nt "$html" ] ; then
render_t2t_html "$file" "$html"
fi
done
find . -name '*.md' | while read file ; do
if [[ "$file" == *"README.md" ]] || [[ "$file" == *"RELEASE.md" ]] ; then continue ; fi
html="${file%.md}.html"
if [ "$file" -nt "$html" ] || [ "$template" -nt "$html" ] ; then
render_md_html "$file" "$html"
fi
done
fi
-43
View File
@@ -1,43 +0,0 @@
/* Found it at http://article.olduse.net/771@mit-eddie.UUCP */
@font-face {
font-family: GlassTTYVT220;
src: local("Glass TTY VT220"), local("Glass TTY VT220 Medium"), url(/font/Glass_TTY_VT220.ttf) format("truetype");
}
body {
font-size: 20px;
font-family: GlassTTYVT220;
color: #e5b800;
background-color: #0a0600;
}
h1,h2,h3,h4 { font-size: 20px; }
img.logo, img.grow { display: none; }
a { color: #ecc800; }
a:hover { color: #fcd800; }
div.links {
display: inline-block;
vertical-align: top;
margin-right: 1em;
}
table.news td {
background: inherit;
border: 0;
vertical-align: baseline;
padding: 0.25ex 0.5ex;
}
table.news td:nth-child(1) {
/* Don't want the hyphens in dates (2012-06-29) to cause line breaks */
white-space: nowrap;
}
ol.languages {
column-width: 12em;
-moz-column-width: 12em;
}
-1
View File
@@ -18,7 +18,6 @@ img.right { float: right; }
ol.languages { ol.languages {
column-width: 12em; column-width: 12em;
-moz-column-width: 12em;
} }
.grow { .grow {
+41
View File
@@ -1,3 +1,44 @@
gf (3.12) noble; urgency=low
* GF 3.12
-- Inari Listenmaa <inari@digitalgrammars.com> Fri, 8 Aug 2025 18:29:29 +0100
gf (3.11) bionic focal; urgency=low
* GF 3.11
-- Inari Listenmaa <inari@digitalgrammars.com> Sun, 25 Jul 2021 10:27:40 +0800
gf (3.10.4-1) xenial bionic cosmic; urgency=low
* GF 3.10.4
-- Thomas Hallgren <hallgren@chalmers.se> Fri, 18 Nov 2019 15:00:00 +0100
gf (3.10.3-1) xenial bionic cosmic; urgency=low
* GF 3.10.3
-- Thomas Hallgren <hallgren@chalmers.se> Fri, 5 Mar 2019 19:30:00 +0100
gf (3.10-2) xenial bionic cosmic; urgency=low
* GF 3.10
-- Thomas Hallgren <hallgren@chalmers.se> Fri, 5 Mar 2019 16:00:00 +0100
gf (3.10-1) xenial bionic cosmic; urgency=low
* GF 3.10
-- Thomas Hallgren <hallgren@chalmers.se> Fri, 2 Dec 2018 15:00:00 +0100
gf (3.9-1) vivid xenial zesty; urgency=low
* GF 3.9
-- Thomas Hallgren <hallgren@chalmers.se> Fri, 11 Aug 2017 20:00:00 +0200
gf (3.8-1) precise trusty vivid; urgency=low gf (3.8-1) precise trusty vivid; urgency=low
* GF 3.8 * GF 3.8
+2 -2
View File
@@ -3,14 +3,14 @@ Section: devel
Priority: optional Priority: optional
Maintainer: Thomas Hallgren <hallgren@chalmers.se> Maintainer: Thomas Hallgren <hallgren@chalmers.se>
Standards-Version: 3.9.2 Standards-Version: 3.9.2
Build-Depends: debhelper (>= 5), haskell-platform (>= 2011.2.0.1), libghc-haskeline-dev, libghc-mtl-dev, libghc-json-dev, autoconf, automake, libtool-bin, python-dev, java-sdk, txt2tags Build-Depends: debhelper (>= 5), libghc-haskeline-dev, libghc-mtl-dev, libghc-json-dev, autoconf, automake, libtool-bin, python-dev-is-python3, java-sdk
Homepage: http://www.grammaticalframework.org/ Homepage: http://www.grammaticalframework.org/
Package: gf Package: gf
Architecture: any Architecture: any
Depends: ${shlibs:Depends} Depends: ${shlibs:Depends}
Description: Tools for GF, a grammar formalism based on type theory Description: Tools for GF, a grammar formalism based on type theory
Grammatical Framework (GF) is a grammar formalism based on type theory. Grammatical Framework (GF) is a grammar formalism based on type theory.
It consists of a special-purpose programming language, It consists of a special-purpose programming language,
a compiler of the language, and a generic grammar processor. a compiler of the language, and a generic grammar processor.
. .
Vendored Regular → Executable
+22 -19
View File
@@ -1,6 +1,6 @@
#!/usr/bin/make -f #!/usr/bin/make -f
%: %:
+dh $@ +dh $@
#dh_shlibdeps has a problem finding which package some of the Haskell #dh_shlibdeps has a problem finding which package some of the Haskell
@@ -13,32 +13,35 @@
override_dh_shlibdeps: override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
override_dh_auto_build:
cd src/runtime/python && EXTRA_INCLUDE_DIRS=$(CURDIR)/src/runtime/c EXTRA_LIB_DIRS=$(CURDIR)/src/runtime/c/.libs python setup.py build
cd src/runtime/java && make CFLAGS="-I$(CURDIR)/src/runtime/c -L$(CURDIR)/src/runtime/c/.libs" INSTALL_PATH=/usr/lib
echo LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/src/runtime/c/.libs
LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/src/runtime/c/.libs cabal build
make html
override_dh_auto_clean:
rm -fr dist/build
-cd src/runtime/python && rm -fr build
-cd src/runtime/java && make clean
-cd src/runtime/c && make clean
override_dh_auto_configure: override_dh_auto_configure:
cd src/runtime/c && bash setup.sh configure --prefix=/usr cd src/runtime/c && bash setup.sh configure --prefix=/usr
cd src/runtime/c && bash setup.sh build cd src/runtime/c && bash setup.sh build
cabal update cabal update
cabal install --only-dependencies cabal v1-install --only-dependencies
cabal configure --prefix=/usr -fserver -fc-runtime --extra-lib-dirs=$(CURDIR)/src/runtime/c/.libs --extra-include-dirs=$(CURDIR)/src/runtime/c cabal v1-configure --prefix=/usr -fserver -fc-runtime --extra-lib-dirs=$(CURDIR)/src/runtime/c/.libs --extra-include-dirs=$(CURDIR)/src/runtime/c
SET_LDL=LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/src/runtime/c/.libs
override_dh_auto_build:
cd src/runtime/python && EXTRA_INCLUDE_DIRS=$(CURDIR)/src/runtime/c EXTRA_LIB_DIRS=$(CURDIR)/src/runtime/c/.libs python setup.py build
# cd src/runtime/java && make CFLAGS="-I$(CURDIR)/src/runtime/c -L$(CURDIR)/src/runtime/c/.libs" INSTALL_PATH=/usr
echo $(SET_LDL)
-$(SET_LDL) cabal v1-build
override_dh_auto_install: override_dh_auto_install:
LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/src/runtime/c/.libs cabal copy --destdir=$(CURDIR)/debian/gf $(SET_LDL) cabal v1-copy --destdir=$(CURDIR)/debian/gf
cd src/runtime/c && bash setup.sh copy prefix=$(CURDIR)/debian/gf/usr cd src/runtime/c && bash setup.sh copy prefix=$(CURDIR)/debian/gf/usr
cd src/runtime/python && python setup.py install --prefix=$(CURDIR)/debian/gf/usr cd src/runtime/python && python setup.py install --prefix=$(CURDIR)/debian/gf/usr
cd src/runtime/java && make INSTALL_PATH=$(CURDIR)/debian/gf/usr/lib install # cd src/runtime/java && make INSTALL_PATH=$(CURDIR)/debian/gf/usr install
D="`find debian/gf -name site-packages`" && [ -n "$$D" ] && cd $$D && cd .. && mv site-packages dist-packages # D="`find debian/gf -name dist-packages`" && [ -n "$$D" ] && cd $$D && cd .. && mv dist-packages dist-packages
override_dh_usrlocal:
override_dh_auto_clean:
rm -fr dist/build
-cd src/runtime/python && rm -fr build
# -cd src/runtime/java && make clean
-cd src/runtime/c && make clean
override_dh_auto_test: override_dh_auto_test:
ifneq (nocheck,$(filter nocheck,$(DEB_BUILD_OPTIONS))) ifneq (nocheck,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-43
View File
@@ -1,43 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE>Portable Numeral Translator</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1>Portable Numeral Translator</H1>
<FONT SIZE="4">
<I>15 August 2008</I><BR>
</FONT></CENTER>
<P>
Here is the first GF application for the iPhone. It translates
numerals from digits into number words in 15 languages. It works for
numerals in the range 1-999,999. You can use the demo online in your iPhone's
browser, or download and install it by using FileMagnet (from AppStore).
</P>
<P>
The demo should work in any web browser supporting JavaScript, but it has been
specially dimensioned for the iPhone screen. It is an application of a general
technology, namely the compilation of GF grammars to JavaScript. Thus you can
easily build similar applications from your own grammars.
</P>
<P>
The
<A HREF="http://www.cs.chalmers.se/~bringert/gf/translate/">full numeral translator</A>, which
works in 88 language and permits arbitrary cross translations, cannot yet be ported
to the iPhone because of memory problems.
</P>
<P>
The current version has some encoding/font issues in Hebrew and Hindi.
</P>
<P>
<A HREF="numbers/numbers.html">Use the translator online</A>
</P>
<P>
<A HREF="numbers.tgz">Download the translator</A>. To install: unpack the file and move
the directory <CODE>numbers</CODE> to your FileMagnet uploader.
</P>
<!-- html code generated by txt2tags 2.4 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml index-numbers.txt -->
</BODY></HTML>
+8 -5
View File
@@ -18,6 +18,8 @@ Phrasebook</a>
<p><a href="http://www.phrasomatic.net/">Phrasomatic</a> (conceptual authoring based on Phrasebook) <p><a href="http://www.phrasomatic.net/">Phrasomatic</a> (conceptual authoring based on Phrasebook)
<p><a href="multilingual_headlines.html">Multilingual Headlines</a>
<p><a href="molto.html">MOLTO Application Grammars</a> <p><a href="molto.html">MOLTO Application Grammars</a>
<p><a href="mathbar/">Mathbar</a> <p><a href="mathbar/">Mathbar</a>
@@ -31,9 +33,9 @@ Phrasebook</a>
<P><a href="http://cloud.grammaticalframework.org/minibar/minibar.html">Minibar</A> <P><a href="http://cloud.grammaticalframework.org/minibar/minibar.html">Minibar</A>
<!-- | <small><a href="../src/www/minibar/minibar_offline.html">Minibar offline</a></small> --> <!-- | <small><a href="../src/www/minibar/minibar_offline.html">Minibar offline</a></small> -->
(<small>Predecessors: <!--(<small>Predecessors:
<a href="http://www.grammaticalframework.org:41296/fridge">Fridge poetry</A> <a href="http://www.grammaticalframework.org:41296/fridge">Fridge poetry</A>
| <a href="http://www.grammaticalframework.org:41296/translate">Word-completing translator</A></small>) | <a href="http://www.grammaticalframework.org:41296/translate">Word-completing translator</A></small>)-->
<p><a href="http://www.grammaticalframework.org/~hallgren/Talks/GF/Tutorial2012/Ex4/answer.html">Question answering demo</a> for simple math questions. <p><a href="http://www.grammaticalframework.org/~hallgren/Talks/GF/Tutorial2012/Ex4/answer.html">Question answering demo</a> for simple math questions.
<P> <P>
@@ -61,16 +63,17 @@ to your web browser.
<P> <P>
<A HREF="http://webalt.math.helsinki.fi/PublicFiles/CD/Screencast/TextMathEditor%20Demo.swf">WebALT Math Editor</A>: <A HREF="http://webalt.math.helsinki.fi/PublicFiles/CD/Screencast/TextMathEditor%20Demo.swf">WebALT Math Editor</A>:
create mathematical exercises in six languages simultaneously (film). create mathematical exercises in six languages simultaneously (film).
<!--
<P> <P>
[Out of order, early May 2012] [Out of order, early May 2012]
<small> <small>
<A HREF="http://www.jem-thematic.net/en/node/846#comment-209">WebALT Math translator</A>: <A HREF="http://www.jem-thematic.net/en/node/846#comment-209">WebALT Math translator</A>:
translate mathematical exercises in a web service using incremental parsing. translate mathematical exercises in a web service using incremental parsing.
</small> </small>
-->
<!--
<P> <P>
<!-- <A HREF="http://csmisc14.cs.chalmers.se/~bjorn/langtrain.cgi">GF Language Trainer</A>: <A HREF="http://csmisc14.cs.chalmers.se/~bjorn/langtrain.cgi">GF Language Trainer</A>:
translation quizzes in Arabic, English, Russian, Swedish. --> translation quizzes in Arabic, English, Russian, Swedish. -->
<P> <P>
-15
View File
@@ -1,18 +1,3 @@
resource:
gfdoc -txt2 ../lib/resource-1.0/abstract/*.gf
gfdoc -txt2 ../lib/resource-1.0/*/Paradigms*.gf
txt2tags --toc resource.txt
# cat resource-preamble resource.tex >final-resource.tex
sed -i 's/\\docum/%\\docum/g' resource.tex
sed -i 's/ion\*{/ion{/g' resource.tex
sed -i 's/\\paragraph{}//g' resource.tex
sed -i 's/}\\\\/}/g' resource.tex
cat resource-preamble resource.tex >resource.tmp
mv resource.tmp resource.tex
latex resource.tex
latex resource.tex
dvipdf resource.dvi
gf-help-full.txt:: gf-help-full.txt::
{ echo ; echo ; echo ; } > $@ { echo ; echo ; echo ; } > $@
echo help -full -t2t | gf -run >> $@ echo help -full -t2t | gf -run >> $@
+551
View File
@@ -0,0 +1,551 @@
Compiler.hs
mainGFC :: Options -> [FilePath] -> IO ()
_ | null fs -> fail $ "No input files."
_ | all (extensionIs ".pgf") fs -> unionPGFFiles opts fs
_ -> fail $ "Don't know what to do with these input files: " ++ unwords fs)
----------------------------------------
Compile.hs
compileModule
case length file1s of
0 -> raise (render ("Unable to find: " $$ nest 2 candidates))
1 -> do return $ head file1s
_ -> do putIfVerb opts1 ("matched multiple candidates: " +++ show file1s)
return $ head file1s
else raise (render ("File" <+> file <+> "does not exist"))
---------------------------------------
Grammar.Lexer.x
token :: P Token
AlexError (AI pos _ _) -> PFailed pos "lexical error"
---------------------------------------
Grammar.Parser.y
happyError = fail "syntax error"
tryLoc (c,mty,Just e) = return (c,(mty,e))
tryLoc (c,_ ,_ ) = fail ("local definition of" +++ showIdent c +++ "without value")
mkR [] = return $ RecType [] --- empty record always interpreted as record type
mkR fs@(f:_) =
case f of
(lab,Just ty,Nothing) -> mapM tryRT fs >>= return . RecType
_ -> mapM tryR fs >>= return . R
where
tryRT (lab,Just ty,Nothing) = return (ident2label lab,ty)
tryRT (lab,_ ,_ ) = fail $ "illegal record type field" +++ showIdent lab --- manifest fields ?!
tryR (lab,mty,Just t) = return (ident2label lab,(mty,t))
tryR (lab,_ ,_ ) = fail $ "illegal record field" +++ showIdent lab
---------------------------------------
ModDeps.hs
mkSourceGrammar :: [SourceModule] -> Err SourceGrammar
deplist <- either
return
(\ms -> Bad $ "circular modules" +++ unwords (map show ms)) $
checkUniqueImportNames :: [Ident] -> SourceModInfo -> Err ()
test ms = testErr (all (`notElem` ns) ms)
("import names clashing with module names among" +++ unwords (map prt ms))
moduleDeps :: [SourceModule] -> Err Dependencies
deps (c,m) = errIn ("checking dependencies of module" +++ prt c) $ case mtype m of
MTConcrete a -> do
am <- lookupModuleType gr a
testErr (mtype am == MTAbstract) "the of-module is not an abstract syntax"
testErr (all (compatMType ety . mtype) ests) "inappropriate extension module type"
---------------------------------------
Update.hs
buildAnyTree
Just i -> case unifyAnyInfo m i j of
Ok k -> go (Map.insert c k map) is
Bad _ -> fail $ render ("conflicting information in module"<+>m $$
nest 4 (ppJudgement Qualified (c,i)) $$
"and" $+$
nest 4 (ppJudgement Qualified (c,j)))
extendModule
unless (sameMType (mtype m) (mtype mo))
(checkError ("illegal extension type to module" <+> name))
rebuildModule
unless (null is || mstatus mi == MSIncomplete)
(checkError ("module" <+> i <+>
"has open interfaces and must therefore be declared incomplete"))
unless (isModRes m1)
(checkError ("interface expected instead of" <+> i0))
js' <- extendMod gr False ((i0,m1), isInherited mincl) i (jments mi)
unless (stat' == MSComplete || stat == MSIncomplete)
(checkError ("module" <+> i <+> "remains incomplete"))
extendMod
checkError ("cannot unify the information" $$
nest 4 (ppJudgement Qualified (c,i)) $$
"in module" <+> name <+> "with" $$
nest 4 (ppJudgement Qualified (c,j)) $$
"in module" <+> base)
unifyAnyInfo
(ResValue (L l1 t1), ResValue (L l2 t2))
| t1==t2 -> return (ResValue (L l1 t1))
| otherwise -> fail ""
(AnyInd b1 m1, AnyInd b2 m2) -> do
testErr (b1 == b2) $ "indirection status"
testErr (m1 == m2) $ "different sources of indirection"
unifAbsDefs _ _ = fail ""
----------------------------------
Rename.hs
renameIdentTerm'
_ -> case lookupTreeManyAll showIdent opens c of
[f] -> return (f c)
[] -> alt c ("constant not found:" <+> c $$
"given" <+> fsep (punctuate ',' (map fst qualifs)))
ts@(t:_) -> do checkWarn ("atomic term" <+> ppTerm Qualified 0 t0 $$
"conflict" <+> hsep (punctuate ',' (map (ppTerm Qualified 0) ts)) $$
"given" <+> fsep (punctuate ',' (map fst qualifs)))
return t
renameInfo
renLoc ren (L loc x) =
checkInModule cwd mi loc ("Happened in the renaming of" <+> i) $ do
renameTerm
| otherwise -> checks [ renid' (Q (MN r,label2ident l)) -- .. and qualified expression second.
, renid' t >>= \t -> return (P t l) -- try as a constant at the end
, checkError ("unknown qualified constant" <+> trm)
]
renamePattern env patt =
do r@(p',vs) <- renp patt
let dupl = vs \\ nub vs
unless (null dupl) $ checkError (hang ("[C.4.13] Pattern is not linear:") 4
patt)
return r
case c' of
Q d -> renp $ PM d
_ -> checkError ("unresolved pattern" <+> patt)
Q _ -> checkError ("data constructor expected but" <+> ppTerm Qualified 0 c' <+> "is found instead")
_ -> checkError ("unresolved data constructor" <+> ppTerm Qualified 0 c')
PM c -> do
x <- renid (Q c)
c' <- case x of
(Q c') -> return c'
_ -> checkError ("not a pattern macro" <+> ppPatt Qualified 0 patt)
PV x -> checks [ renid' (Vr x) >>= \t' -> case t' of
QC c -> return (PP c [],[])
_ -> checkError (pp "not a constructor")
, return (patt, [x])
-----------------------------------
CheckGrammar.hs
checkRestrictedInheritance :: FilePath -> SourceGrammar -> SourceModule -> Check ()
let illegals = [(f,is) |
(f,cs) <- allDeps, incld f, let is = filter illegal cs, not (null is)]
case illegals of
[] -> return ()
cs -> checkWarn ("In inherited module" <+> i <> ", dependence of excluded constants:" $$
nest 2 (vcat [f <+> "on" <+> fsep is | (f,is) <- cs]))
checkCompleteGrammar :: Options -> FilePath -> Grammar -> Module -> Module -> Check Module
case info of
CncCat (Just (L loc (RecType []))) _ _ _ _ -> return (foldr (\_ -> Abs Explicit identW) (R []) cxt)
_ -> Bad "no def lin"
where noLinOf c = checkWarn ("no linearization of" <+> c)
Ok (CncCat Nothing md mr mp mpmcfg) -> do
checkWarn ("no linearization type for" <+> c <> ", inserting default {s : Str}")
return $ updateTree (c,CncCat (Just (L NoLoc defLinType)) md mr mp mpmcfg) js
_ -> do
checkWarn ("no linearization type for" <+> c <> ", inserting default {s : Str}")
_ -> do checkWarn ("function" <+> c <+> "is not in abstract")
Ok (_,AbsFun {}) ->
checkError ("lincat:"<+>c<+>"is a fun, not a cat")
-}
_ -> do checkWarn ("category" <+> c <+> "is not in abstract")
checkInfo :: Options -> FilePath -> SourceGrammar -> SourceModule -> Ident -> Info -> Check Info
(Just (L loct ty), Nothing) -> do
chIn loct "operation" $
checkError (pp "No definition given to the operation")
ResOverload os tysts -> chIn NoLoc "overloading" $ do
checkUniq xss = case xss of
x:y:xs
| x == y -> checkError $ "ambiguous for type" <+>
ppType (mkFunType (tail x) (head x))
compAbsTyp g t = case t of
Vr x -> maybe (checkError ("no value given to variable" <+> x)) return $ lookup x g
checkReservedId x =
when (isReservedWord x) $
checkWarn ("reserved word used as identifier:" <+> x)
--------------------------------
TypeCheck/Abstract.hs
grammar2theory :: SourceGrammar -> Theory
Bad s -> case lookupCatContext gr m f of
Ok cont -> return $ cont2val cont
_ -> Bad s
--------------------------------
TypeCheck/ConcreteNew.hs
-- Concrete.hs has all its code commented out
--------------------------------
TypeCheck/RConcrete.hs
-- seems to be used more than ConcreteNew
computeLType :: SourceGrammar -> Context -> Type -> Check Type
AdHocOverload ts -> do
over <- getOverload gr g (Just typeType) t
case over of
Just (tr,_) -> return tr
_ -> checkError ("unresolved overloading of constants" <+> ppTerm Qualified 0 t)
inferLType :: SourceGrammar -> Context -> Term -> Check (Term, Type)
Q (m,ident) | isPredef m -> termWith trm $ case typPredefined ident of
Nothing -> checkError ("unknown in Predef:" <+> ident)
Q ident -> checks [
checkError ("cannot infer type of constant" <+> ppTerm Unqualified 0 trm)
]
QC ident -> checks [
checkError ("cannot infer type of canonical constant" <+> ppTerm Unqualified 0 trm)
]
Vr ident -> termWith trm $ checkLookup ident g
AdHocOverload ts -> do
_ -> checkError ("unresolved overloading of constants" <+> ppTerm Qualified 0 trm)
App f a -> do
case fty' of
Prod bt z arg val -> do
_ -> checkError ("A function type is expected for" <+> ppTerm Unqualified 0 f <+> "instead of type" <+> ppType fty)
S f x -> do
_ -> checkError ("table lintype expected for the table in" $$ nest 2 (ppTerm Unqualified 0 trm))
P t i -> do
Nothing -> checkError ("unknown label" <+> i <+> "in" $$ nest 2 (ppTerm Unqualified 0 ty'))
_ -> checkError ("record type expected for:" <+> ppTerm Unqualified 0 t $$
" instead of the inferred:" <+> ppTerm Unqualified 0 ty')
R r -> do
checkCond ("cannot infer type of record" $$ nest 2 (ppTerm Unqualified 0 trm)) (length ts == length fsts)
T ti pts -> do -- tries to guess: good in oper type inference
[] -> checkError ("cannot infer table type of" <+> ppTerm Unqualified 0 trm)
---- hack from Rename.identRenameTerm, to live with files with naming conflicts 18/6/2007
Strs (Cn c : ts) | c == cConflict -> do
checkWarn ("unresolved constant, could be any of" <+> hcat (map (ppTerm Unqualified 0) ts))
ExtR r s -> do
case (rT', sT') of
(RecType rs, RecType ss) -> do
_ -> checkError ("records or record types expected in" <+> ppTerm Unqualified 0 trm)
_ -> checkError ("cannot infer lintype of" <+> ppTerm Unqualified 0 trm)
getOverload :: SourceGrammar -> Context -> Maybe Type -> Term -> Check (Maybe (Term,Type))
matchOverload f typs ttys = do
checkWarn $ "ignoring lock fields in resolving" <+> ppTerm Unqualified 0 ot $$
"for" $$
nest 2 (showTypes tys) $$
"using" $$
nest 2 (showTypes pre)
([],[]) -> do
checkError $ "no overload instance of" <+> ppTerm Unqualified 0 f $$
"for" $$
nest 2 stysError $$
"among" $$
nest 2 (vcat stypsError) $$
maybe empty (\x -> "with value type" <+> ppType x) mt
([],[(val,fun)]) -> do
checkWarn ("ignoring lock fields in resolving" <+> ppTerm Unqualified 0 ot)
(nps1,nps2) -> do
checkWarn $ "ambiguous overloading of" <+> ppTerm Unqualified 0 f <+>
---- "with argument types" <+> hsep (map (ppTerm Qualified 0) tys) $$
"resolved by selecting the first of the alternatives" $$
nest 2 (vcat [ppTerm Qualified 0 fun | (_,ty,fun) <- vfs1 ++ if null vfs1 then vfs2 else []])
case [(mkApp fun tts,val) | (val,fun) <- nps1 ++ nps2] of
[] -> checkError $ "no alternatives left when resolving" <+> ppTerm Unqualified 0 f
checkLType :: SourceGrammar -> Context -> Term -> Type -> Check (Term, Type)
Abs bt x c -> do
case typ of
Prod bt' z a b -> do
_ -> checkError $ "function type expected instead of" <+> ppType typ
AdHocOverload ts -> do
_ -> checkError ("unresolved overloading of constants" <+> ppTerm Qualified 0 trm)
T _ [] ->
checkError ("found empty table in type" <+> ppTerm Unqualified 0 typ)
T _ cs -> case typ of
else checkWarn ("patterns never reached:" $$
nest 2 (vcat (map (ppPatt Unqualified 0) ps)))
_ -> checkError $ "table type expected for table instead of" $$ nest 2 (ppType typ)
V arg0 vs ->
if length vs1 == length vs
then return ()
else checkError $ "wrong number of values in table" <+> ppTerm Unqualified 0 trm
R r -> case typ of --- why needed? because inference may be too difficult
RecType rr -> do
_ -> checkError ("record type expected in type checking instead of" $$ nest 2 (ppTerm Unqualified 0 typ))
ExtR r s -> case typ of
case trm' of
RecType _ -> termWith trm' $ return typeType
ExtR (Vr _) (RecType _) -> termWith trm' $ return typeType
-- ext t = t ** ...
_ -> checkError ("invalid record type extension" <+> nest 2 (ppTerm Unqualified 0 trm))
case typ2 of
RecType ss -> return $ map fst ss
_ -> checkError ("cannot get labels from" $$ nest 2 (ppTerm Unqualified 0 typ2))
_ -> checkError ("record extension not meaningful for" <+> ppTerm Unqualified 0 typ)
S tab arg -> checks [ do
_ -> checkError ("table type expected for applied table instead of" <+> ppType ty')
_ -> do
(trm',ty') <- inferLType gr g trm
termWith trm' $ checkEqLType gr g typ ty' trm'
checkM rms (l,ty) = case lookup l rms of
_ -> checkError $
if isLockLabel l
then let cat = drop 5 (showIdent (label2ident l))
in ppTerm Unqualified 0 (R rms) <+> "is not in the lincat of" <+> cat <>
"; try wrapping it with lin" <+> cat
else "cannot find value for label" <+> l <+> "in" <+> ppTerm Unqualified 0 (R rms)
checkEqLType :: SourceGrammar -> Context -> Type -> Type -> Term -> Check Type
False -> checkError $ s <+> "type of" <+> ppTerm Unqualified 0 trm $$
"expected:" <+> ppTerm Qualified 0 t $$ -- ppqType t u $$
"inferred:" <+> ppTerm Qualified 0 u -- ppqType u t
checkIfEqLType :: SourceGrammar -> Context -> Type -> Type -> Term -> Check (Bool,Type,Type,String)
Ok lo -> do
checkWarn $ "missing lock field" <+> fsep lo
missingLock g t u = case (t,u) of
_:_ -> Bad $ render ("missing record fields:" <+> fsep (punctuate ',' (others)))
pattContext :: SourceGrammar -> Context -> Type -> Patt -> Check Context
checkCond ("wrong number of arguments for constructor in" <+> ppPatt Unqualified 0 p)
(length cont == length ps)
PR r -> do
_ -> checkError ("record type expected for pattern instead of" <+> ppTerm Unqualified 0 typ')
PAlt p' q -> do
g1 <- pattContext env g typ p'
g2 <- pattContext env g typ q
let pts = nub ([x | pt@(_,x,_) <- g1, notElem pt g2] ++ [x | pt@(_,x,_) <- g2, notElem pt g1])
checkCond
("incompatible bindings of" <+>
fsep pts <+>
"in pattern alterantives" <+> ppPatt Unqualified 0 p) (null pts)
return g1 -- must be g1 == g2
noBind typ p' = do
co <- pattContext env g typ p'
if not (null co)
then checkWarn ("no variable bound inside pattern" <+> ppPatt Unqualified 0 p)
>> return []
else return []
checkLookup :: Ident -> Context -> Check Type -- used for looking up Vr x type in context
[] -> checkError ("unknown variable" <+> x)
-------------------------------
Grammar/Lookup.hs
lookupIdent :: ErrorMonad m => Ident -> BinTree Ident b -> m b
Bad _ -> raise ("unknown identifier" +++ showIdent c)
lookupResDefLoc
_ -> raise $ render (c <+> "is not defined in resource" <+> m)
lookupResType :: ErrorMonad m => Grammar -> QIdent -> m Type
_ -> raise $ render (c <+> "has no type defined in resource" <+> m)
lookupOverloadTypes :: ErrorMonad m => Grammar -> QIdent -> m [(Term,Type)]
_ -> raise $ render (c <+> "has no types defined in resource" <+> m)
lookupOverload :: ErrorMonad m => Grammar -> QIdent -> m [([Type],(Type,Term))]
_ -> raise $ render (c <+> "is not an overloaded operation")
lookupParamValues :: ErrorMonad m => Grammar -> QIdent -> m [Term]
case info of
ResParam _ (Just pvs) -> return pvs
_ -> raise $ render (ppQIdent Qualified c <+> "has no parameter values defined")
allParamValues :: ErrorMonad m => Grammar -> Type -> m [Term]
_ -> raise (render ("cannot find parameter values for" <+> ptyp))
lookupFunType :: ErrorMonad m => Grammar -> ModuleName -> Ident -> m Type
_ -> raise (render ("cannot find type of" <+> c))
lookupCatContext :: ErrorMonad m => Grammar -> ModuleName -> Ident -> m Context
_ -> raise (render ("unknown category" <+> c))
-------------------------
PatternMatch.hs
matchPattern :: ErrorMonad m => [(Patt,rhs)] -> Term -> m (rhs, Substitution)
if not (isInConstantForm term)
then raise (render ("variables occur in" <+> pp term))
findMatch :: ErrorMonad m => [([Patt],rhs)] -> [Term] -> m (rhs, Substitution)
[] -> raise (render ("no applicable case for" <+> hsep (punctuate ',' terms)))
(patts,_):_ | length patts /= length terms ->
raise (render ("wrong number of args for patterns :" <+> hsep patts <+>
"cannot take" <+> hsep terms))
tryMatch :: (Patt, Term) -> Err [(Ident, Term)]
(PNeg p',_) -> case tryMatch (p',t) of
Bad _ -> return []
_ -> raise (render ("no match with negative pattern" <+> p))
---------------------------------------------
Compile.Optimize.hs
mkLinDefault :: SourceGrammar -> Type -> Err Term
_ -> Bad (render ("no parameter values given to type" <+> ppQIdent Qualified p))
_ -> Bad (render ("linearization type field cannot be" <+> typ))
mkLinReference :: SourceGrammar -> Type -> Err Term
[] -> Bad "no string"
---------------------------------------------
Compile.Compute.Concrete.hs
nfx env@(GE _ _ _ loc) t = do
Left i -> fail ("variable #"++show i++" is out of scope")
var :: CompleteEnv -> Ident -> Err OpenValue
var env x = maybe unbound pick' (elemIndex x (local env))
where
unbound = fail ("Unknown variable: "++showIdent x)
pick' i = return $ \ vs -> maybe (err i vs) ok (pick i vs)
err i vs = bug $ "Stack problem: "++showIdent x++": "
++unwords (map showIdent (local env))
++" => "++show (i,length vs)
resource env (m,c) =
where e = fail $ "Not found: "++render m++"."++showIdent c
extR t vv =
(VRecType rs1, VRecType rs2) ->
case intersect (map fst rs1) (map fst rs2) of
[] -> VRecType (rs1 ++ rs2)
ls -> error $ "clash"<+>show ls
(v1,v2) -> error $ "not records" $$ show v1 $$ show v2
where
error explain = ppbug $ "The term" <+> t
<+> "is not reducible" $$ explain
glue env (v1,v2) = glu v1 v2
ppL loc (hang "unsupported token gluing:" 4
(Glue (vt v1) (vt v2)))
strsFromValue :: Value -> Err [Str]
_ -> fail ("cannot get Str from value " ++ show t)
match loc cs v =
case value2term loc [] v of
Left i -> bad ("variable #"++show i++" is out of scope")
Right t -> err bad return (matchPattern cs t)
where
bad = fail . ("In pattern matching: "++)
inlinePattMacro p =
VPatt p' -> inlinePattMacro p'
_ -> ppbug $ hang "Expected pattern macro:" 4
linPattVars p =
if null dups
then return pvs
else fail.render $ hang "Pattern is not linear:" 4 (ppPatt Unqualified 0 p)
---------------------------------------------
Compile.Compute.Abstract.hs
---------------------------------------------
PGF.Linearize.hs
bracketedLinearize :: PGF -> Language -> Tree -> [BracketedString]
cnc = lookMap (error "no lang") lang (concretes pgf)
---------------------------------------------
PGF.TypeCheck.hs
ppTcError :: TcError -> Doc
ppTcError (UnknownCat cat) = text "Category" <+> ppCId cat <+> text "is not in scope"
ppTcError (UnknownFun fun) = text "Function" <+> ppCId fun <+> text "is not in scope"
ppTcError (WrongCatArgs xs ty cat m n) = text "Category" <+> ppCId cat <+> text "should have" <+> int m <+> text "argument(s), but has been given" <+> int n $$
text "In the type:" <+> ppType 0 xs ty
ppTcError (TypeMismatch xs e ty1 ty2) = text "Couldn't match expected type" <+> ppType 0 xs ty1 $$
text " against inferred type" <+> ppType 0 xs ty2 $$
text "In the expression:" <+> ppExpr 0 xs e
ppTcError (NotFunType xs e ty) = text "A function type is expected for the expression" <+> ppExpr 0 xs e <+> text "instead of type" <+> ppType 0 xs ty
ppTcError (CannotInferType xs e) = text "Cannot infer the type of expression" <+> ppExpr 0 xs e
ppTcError (UnresolvedMetaVars xs e ms) = text "Meta variable(s)" <+> fsep (List.map ppMeta ms) <+> text "should be resolved" $$
text "in the expression:" <+> ppExpr 0 xs e
ppTcError (UnexpectedImplArg xs e) = braces (ppExpr 0 xs e) <+> text "is implicit argument but not implicit argument is expected here"
ppTcError (UnsolvableGoal xs metaid ty)= text "The goal:" <+> ppMeta metaid <+> colon <+> ppType 0 xs ty $$
text "cannot be solved"
+27
View File
@@ -0,0 +1,27 @@
## unsupported token gluing `foo + bar`
There was a problem in an expression using +, e.g. `foo + bar`.
This can be due to two causes, check which one applies in your case.
1. You are trying to use + on runtime arguments. Even if you are using
`foo + bar` in an oper, make sure that the oper isn't called in a
linearization that takes arguments. Both of the following are illegal:
lin Test foo bar = foo.s + bar.s -- explicit + in a lin
lin Test foo bar = opWithPlus foo bar -- the oper uses +
2. One of the arguments in `foo + bar` is a bound variable
from pattern matching a string, but the cases are non-exhaustive.
Example:
case "test" of {
x + "a" => x + "b" -- no applicable case for "test", so x = ???
} ;
You can fix this by adding a catch-all case in the end:
{ x + "a" => x + "b" ;
_ => "default case" } ;
3. If neither applies to your problem, submit a bug report and we
will update the error message and this documentation.
https://github.com/GrammaticalFramework/gf-core/issues
-875
View File
@@ -1,875 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.org">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<LINK REL="stylesheet" TYPE="text/css" HREF="../css/style.css">
<meta name = "viewport" content = "width = device-width"><TITLE>Grammatical Framework Bibliography</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<CENTER>
<H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>Grammatical Framework Bibliography</H1>
<FONT SIZE="4"><I>Aarne Ranta</I></FONT><BR>
<FONT SIZE="4">Tue Nov 27 16:47:06 2012</FONT>
</CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Publications on GF</A>
<LI><A HREF="#toc2">Background for GF</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<A NAME="toc1"></A>
<H2>Publications on GF</H2>
<P>
In reverse temporal order:
</P>
<P>
H. Burden and R. Heldal.
Natural Language Generation from Class Diagrams.
<I>Proceedings of the 8th International Workshop on Model-Driven Engineering, Verification and Validation (MoDeVVa 2011)</I>,
Wellington, New Zealand,
ACM,
2011.
<A HREF="http://www.grammaticalframework.org/doc/archive/a9-burden.pdf">Draft PDF</A>
<br>
<I>Using GF to verbalize platform-independent requirement specifications as a part of a software engineering tool chain.</I>
</P>
<P>
C. España-Bonet, R. Enache, A. Slaski, A. Ranta, L. Màrquez, and M. Gonzàlez.
Patent translation within the MOLTO project.
Proceedings of the 4th Workshop on Patent Translation,
MT Summit XIII, Xiamen, China, September 23, 2011.
<A HREF="http://www.lsi.upc.edu/~cristinae/CV/docs/MTS11PatEspanaetal.pdf">PDF</A>
<br>
<I>First steps to a hybrid GF-SMT system.</I>
</P>
<P>
Seyed M. Montazeri, Nivir Roy, and Gerardo Schneider.
From Contracts in Structured English to CL Specifications.
<I>5th International Workshop on Formal Languages and Analysis of Contract-Oriented Software (FLACOS'11)</I>,
volume 68 of EPTCS, pages 55-69,
Málaga, Spain, 22-23 September 2011.
<A HREF="http://dx.doi.org/10.4204/EPTCS.68.6">PDF/DOI</A>
<br>
<I>Formal analysis of contracts written in controlled English.</I>
</P>
<P>
S. Virk, M. Humayoun, and A. Ranta.
An Open-Source Punjabi Resource Grammar.
Proceedings of RANLP-2011, Recent Advances in Natural Language Processing,
Hissar, Bulgaria, 12-14 September, 2011.
pp. 70-76.
<A HREF="http://lml.bas.bg/~iva/ranlp2011/RANLR2011_Proceedings.PDF">PDF</A>
<br>
<I>Punjabi syntax, building on Humayoun and Ranta 2010.</I>
</P>
<P>
D. Dannélls, M. Damova, R.Enache, M. Chechev.
A Framework for Improved Access to Museum Databases in the Semantic Web.
Proceedings of the Workshop on Language Technologies for Digital Humanities and Cultural Heritage,
RANLP-2011, Recent Advances in Natural Language Processing,
Hissar, Bulgaria, 12-14 September, 2011,
pp 8-15
<A HREF="http://publications.lib.chalmers.se/cpl/record/index.xsql?pubid=145395">PDF</A>
<br>
<I>Representing and verbalizing in GF of an Cultural Heritage ontology.</I>
</P>
<P>
A. Ranta.
Translating between Language and Logic: What Is Easy and What is Difficult?
In N. Bjørner and V. Sofronie-Stokkermans (eds.),
<I>CADE-23. Automated Deduction</I>,
LNCS/LNAI 6803,
pp. 5-25,
2011.
<A HREF="http://www.springerlink.com/content/42n685777k846810/">PDF at Springer</A>
<A HREF="http://www.cse.chalmers.se/~aarne/articles/cade2011.pdf">Draft PDF</A>
<br>
<I>Invited talk at the CADE conference, showing how GF can help writing natural language interfaces</I>
<I>to proof systems, and also exploring how to make the language richer, e.g. how to get from</I>
<I>"for all numbers x, x is even or x is odd" to "every number is even or odd".</I>
</P>
<P>
A. Ranta.
<I>Grammatical Framework: Programming with Multilingual Grammars</I>,
CSLI Publications, Stanford, 2011.
<A HREF="http://www.grammaticalframework.org/gf-book/">Book web page</A>
<br>
<I>Meant as the standard reference and textbook on GF.</I>
</P>
<P>
O. Caprotti, K. Angelov, R. Enache, T. Hallgren, A. Ranta.
The MOLTO Phrasebook.
Swedish Language Technology Conference SLTC 2010.
<A HREF="http://publications.lib.chalmers.se/cpl/record/index.xsql?pubid=131251">PDF</A>
<br>
<I>Tourist Phrasebook grammar, available in 14 European languages.</I>
</P>
<P>
G. Détrez and R. Enache.
A Framework for Multilingual Applications on the Android Platform
Swedish Language Technology Conference SLTC 2010.
<A HREF="http://www.grammaticalframework.org/doc/archive/sltc10_submission_24.pdf">PDF</A>
<br>
<I>A description of the Java implementation of the GF runtime system, which makes it possible</I>
to create grammar-based applications running on an Android phone.//
</P>
<P>
Normunds Gruzitis and Guntis Barzdins.
Towards a More Natural Multilingual Controlled Language Interface to OWL,
<I>9th International Conference on Computational Semantics (IWCS)</I>,
pp. 335-339,
2011.
<A HREF="http://www.aclweb.org/anthology/W/W11/W11-0138.pdf">PDF</A>
<br>
<I>Access to ontologies in English and Latvian.</I>
</P>
<P>
M. Humayoun and A. Ranta.
Developing Punjabi Morphology, Corpus and Lexicon.
<I>The 24th Pacific Asia conference on Language, Information and Computation (PACLIC24)</I>,
2010.
<br>
<I>Yet another South-East Asian language, spoken by 88 million people.</I>
</P>
<P>
J. Camilleri, Gordon J. Pace, and Mike Rosner.
Playing Nomic using a Controlled Natural Language.
<I>CNL 2010, Controlled Natural Language</I>,
Marettimo,
2010.
<br>
<I>Using GF for defining the rules of a game.</I>
</P>
<P>
R. Enache and K. Angelov
Typeful Ontologies with Direct Multilingual Verbalization.
<I>CNL 2010, Controlled Natural Language</I>,
Marettimo,
2010.
<br>
<I>Investigating the benefits of using GF as a language for representing ontologies.</I>
<A HREF="http://www.grammaticalframework.org/doc/archive/cnl2010_submission_2.pdf">PDF</A>
</P>
<P>
S. Virk, M. Humayoun, and A. Ranta.
An Open Source Urdu Resource Grammar.
<I>Proceedings of the 8th Workshop on Asian Language Resources (Coling 2010 workshop)</I>,
2010.
<br>
<I>The national language of Pakistan, spoken by 60 million people; almost the same as Hindi.</I>
</P>
<P>
A. Ranta, K. Angelov, and T. Hallgren.
Tools for multilingual grammar-based translation on the web.
<I>Proceedings of the ACL 2010 System Demonstrations</I>,
ACM Digital Library,
2010.
<A HREF="http://www.aclweb.org/anthology-new/P/P10/P10-4012.pdf">PDF</A>
<br>
<I>An overview of GF for developers and users of translation systems.</I>
</P>
<P>
D. Dannélls and J. Camilleri.
Verb Morphology of Hebrew and Maltese - Towards an Open Source Type Theoretical Resource Grammar in GF.
<I>Proceedings of the Language Resources (LRs) and Human Language Technologies (HLT) for Semitic Languages Status, Updates, and Prospects, LREC-2010 Workshop</I>,
Malta, pp. 57-61.
2010.
<A HREF="http://spraakdata.gu.se/svedd/pub/lrec10.pdf">PDF</A>
<br>
<I>A study of Semitic non-concatenative morphology from the GF point of view.</I>
</P>
<P>
M. Humayoun and C. Raffalli.
MathNat - Mathematical Text in a Controlled Natural Language.
<I>Special issue: Natural Language Processing and its Applications. Journal on Research in Computing Science</I>, Volume 46.
2010.
<br>
<I>Natural language interface to a proof system, implemented in GF.</I>
</P>
<P>
D. Dannélls.
Discourse Generation from Formal Specifications Using the Grammatical Framework, GF.
<I>Special issue: Natural Language Processing and its Applications. Journal on Research in Computing Science (RCS)</I>,
volume 46. pp. 167-178,
2010.
<br>
<I>Interfacing GF with ontology, with a natural language generation perspective.</I>
</P>
<P>
R. Enache, A. Ranta, and K. Angelov.
An Open-Source Computational Grammar of Romanian.
A. Gelbukh (ed.), <I>CiCLING-2010</I>,
LNCS 6008,
2010.
<br>
<I>A Romance language different enough not to follow the Romance functor.</I>
</P>
<P>
K. Angelov and A. Ranta.
Implementing Controlled Languages in GF.
N. Fuchs (ed.), <I>CNL-2009 Controlled Natural Languages</I>,
LNCS/LNAI 5972,
2010.
</P>
<P>
K. Angelov, B. Bringert and A. Ranta.
PGF: A Portable Run-time Format for Type-theoretical Grammars,
<I>Journal of Logic, Language and Information</I>,
19(2),
pp. 201-228,
2009.
<A HREF="http://www.springerlink.com/content/y32q021028747k70/">SpringerLink</A>
</P>
<P>
A. Ranta.
The GF Resource Grammar Library.
<I>Linguistic Issues in Language Technology</I>,
2 (2),
2009.
<A HREF="http://elanguage.net/journals/index.php/lilt/article/viewFile/214/158">PDF</A>
<br>
<I>A systematic presentation of the library from the linguistic point of view.</I>
</P>
<P>
A. Ranta.
Grammatical Framework: A Multilingual Grammar Formalism,
<I>Language and Linguistics Compass</I>,
Vol. 3, <A HREF="http://www.blackwell-compass.com/subject/linguistics/article_view?parent=section&amp;last_results=section%3Dlnco-computational&amp;sortby=date&amp;section=lnco-computational&amp;browse_id=lnco_articles_bpl155&amp;article_id=lnco_articles_bpl155">on-line</A>
2009.
<br>
<I>An overview of GF for readers with a general academic brackground.</I>
</P>
<P>
A. Ranta and K. Angelov.
Implementing Controlled Languages in GF.
<I>CNL-2009</I>,
<I>CEUR Workshop Proceedings</I>,
vol. 448,
<A HREF="http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-448/">on-line</A>,
2009.
<br>
<I>Makes a case for using GF in controlled language implementation, illustrated by Attempto Controlled English ported to French, German, and Swedish; longer version in 2010.</I>
</P>
<P>
A. Ranta. Grammars as Software Libraries.
In Y. Bertot, G. Huet, J-J. Lévy, and G. Plotkin (eds.),
<I>From Semantics to Computer Science</I>,
Cambridge University Press, Cambridge,
pp. 281-308,
2009.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/libraries-kahn.pdf">pdf (preliminary version)</A>
<br>
<I>Grammar-libraries from the software engineering point of view, with an example application to mathematical language.</I>
</P>
<P>
K. Angelov.
Incremental Parsing in Parallel Multiple Context-Free Grammars.
EACL 2009.
<br>
<I>Describes the algorithm used in parsing with GF.</I>
</P>
<P>
A. Ranta, B. Bringert, and K. Angelov.
The GF Grammar Development Environment.
System demo. Proceedings of <I>EACL-2009</I>,
2009.
<A HREF="http://www.aclweb.org/anthology-new/E/E09/E09-2015.pdf">PDF</A>
<br>
<I>An overview of GF from the grammarian's point of view.</I>
</P>
<P>
B. Bringert, K. Angelov, and A. Ranta.
Grammatical Framework Web Service,
System demo. Proceedings of <I>EACL-2009</I>,
2009.
<A HREF="http://www.aclweb.org/anthology-new/E/E09/E09-2003.pdf">PDF</A>
<br>
<I>An overview of how to build web services on top of PGF using the Google Web Toolkit.</I>
</P>
<P>
A. Ranta and K. Angelov.
Implementing Controlled Languages in GF,
To appear in the proceedings of <I>CNL-2009</I>, LNCS, Springer,
2009.
<br>
<I>On the use of GF for controlled languages, exemplified by an implementation of Attempto Controlled English then ported to three other language.</I>
</P>
<P>
R. Cooper and A. Ranta.
Natural Languages as Collections of Resources.
In <I>Language in Flux: Dialogue Coordination, Language Variation, Change</I>,
ed. by R. Cooper and R. Kempson, pp. 109-120. London: College Publications,
2008.
<br>
<I>The resource grammar idea applied to language learning and evolution.</I>
</P>
<P>
Moisés Salvador Meza Moreno and B. Bringert.
Interactive Multilingual Web Applications with Grammatical Framework.
In B. Nordström and A. Ranta (eds),
<I>Advances in Natural Language Processing (GoTAL 2008)</I>,
LNCS/LNAI 5221, Springer,
2008.
<br>
<I>Shows how GF compiled to JavaScript is used in dynamic multilingual web pages.</I>
</P>
<P>
Peter Ljunglöf and Staffan Larsson.
A grammar formalism for specifying ISU-based dialogue systems.
In B. Nordström and A. Ranta (eds),
<I>Advances in Natural Language Processing (GoTAL 2008)</I>,
LNCS/LNAI 5221, Springer,
2008.
<A HREF="http://www.ling.gu.se/~peb/pubs/LjunglofLarsson-2008a.pdf">pdf</A>
<br>
<I>Explains how GoDiS dialogue systems are specified by GF grammars.</I>
</P>
<P>
K. Angelov.
Type-Theoretical Bulgarian Grammar.
In B. Nordström and A. Ranta (eds),
<I>Advances in Natural Language Processing (GoTAL 2008)</I>,
LNCS/LNAI 5221, Springer,
2008.
<br>
<I>Explains the implementation of a Bulgarian resource grammar in GF.</I>
</P>
<P>
B. Bringert.
High-precision Domain-specific Interlingua-based Speech Translation
with Grammatical Framework.
<I>Coling 2008 Workshop on Speech Translation for Medical and Other Safety-Critical Applications</I>,
Manchester, UK, August 23,
2008.
<br>
<I>Shows how to build spoken language translators based on GF grammars and their compilation to Nuance.</I>
</P>
<P>
A. Ranta.
How predictable is Finnish morphology? An experiment on lexicon construction.
In J. Nivre, M. Dahllöf and B. Megyesi (eds),
<I>Resourceful Language Technology: Festschrift in Honor of Anna Sågvall Hein</I>,
University of Uppsala,
2008.
Available from <A HREF="http://publications.uu.se/abstract.xsql?dbid=8933">series homepage</A>
<br>
<I>Presents an experiment on smart paradigms in Finnish.</I>
</P>
<P>
A. Ranta.
Example-based grammar writing.
To appear in L. Borin and S. Larsson (eds),
Festschrift for Robin Cooper,
2007.
<br>
<I>Presents and discusses the ideas of grammar composition and example-based grammar writing.</I>
</P>
<P>
B. Bringert.
Rapid Development of Dialogue Systems by Grammar Compilation.
<I>8th SIGdial Workshop on Discourse and Dialogue</I>,
Antwerp, Belgium, September 1-2,
2007.
<A HREF="http://www.cse.chalmers.se/~bringert/publ/gf-voicexml/gf-voicexml.pdf">pdf</A>
<br>
<I>Shows how to build a web-based spoken dialogue system by generating VoiceXML and JavaScript.</I>
</P>
<P>
A. El Dada and A. Ranta.
Implementing an Open Source Arabic Resource Grammar in GF.
In M. Mughazy (ed),
<I>Perspectives on Arabic Linguistics XX. Papers from the Twentieth Annual Symposium on Arabic Linguistics, Kalamazoo, March 26</I>
John Benjamins Publishing Company.
2007.
<br>
<I>An outline of the Arabic resource grammar project, focusing on linguistic aspects.</I>
</P>
<P>
A. El Dada.
Implementation of the Arabic Numerals and their Syntax in GF.
Computational Approaches to Semitic Languages: Common Issues and Resources,
ACL-2007 Workshop,
June 28, 2007, Prague.
2007.
<br>
<I>A case study with the resource grammar, focusing on the morphosyntax</I>
<I>and agreement of constructions with numerals.</I>
</P>
<P>
A. Ranta.
Modular Grammar Engineering in GF.
<I>Research on Language and Computation</I>,
5:133-158, 2007.
Draft available as <A HREF="http://www.cse.chalmers.se/~aarne/articles/multieng3.pdf">pdf</A>.
<br>
<I>Adapts library-based software engineering methods to grammar writing</I>
<I>and introduces the module system of GF.</I>
</P>
<P>
A. Ranta.
The GF Grammar Compiler.
<I>Workshop on New Directions in Type-theoretic Grammars</I>,
Dublin, August 2007 (ESSLLI workshop).
2007.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/ar-compiler.pdf">pdf</A>
<br>
<I>Describes the compilation of GF source code to lower-level run-time formats.</I>
</P>
<P>
M. Humayoun, H. Hammarström, and A. Ranta.
Urdu Morphology, Orthography and Lexicon Extraction.
<I>CAASL-2: The Second Workshop on Computational Approaches to Arabic Script-based Languages</I>,
July 21-22, 2007, LSA 2007 Linguistic Institute, Stanford University.
2007.
<br>
<I>Fairly complete open-source Urdu morphology and elemenraty syntax in GF.</I>
</P>
<P>
N. Perera and A. Ranta.
Dialogue System Localization with the GF Resource Grammar Library.
<I>SPEECHGRAM 2007: ACL Workshop on Grammar-Based Approaches to Spoken Language Processing</I>,
June 29, 2007, Prague.
2007.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/perera-ranta.pdf">pdf</A>
<br>
<I>An experiment in porting an in-car dialogue system from two to six languages.</I>
</P>
<P>
B. Bringert.
Speech Recognition Grammar Compilation in Grammatical Framework
<I>SPEECHGRAM 2007: ACL Workshop on Grammar-Based Approaches to Spoken Language Processing</I>,
June 29, 2007, Prague.
2007.
<br>
<I>Generation of speech recognition language models from GF in several formats:</I>
<I>GSL (Nuance), SRGS, JSGF, and HTK SLF, with embedded semantic interpretation.</I>
</P>
<P>
A. Ranta.
Features in Abstract and Concrete Syntax.
<I>The 2nd International Workshop on Typed Feature Structure Grammars</I>,
Tartu, 24 May 2007 (NODALIDA workshop).
2007.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/ranta-tfsg2007.pdf">pdf</A>
<br>
<I>Explores the design choices of incorporating features in a GF-like grammar,</I>
<I>with comparisons to feature-based unification grammars.</I>
</P>
<P>
O. Caprotti and M. Seppälä.
Multilingual Delivery of Online Tests in mathematics.
Proceedings of Online Educa Berlin 2006. 29 November - 1 December 2006.
Berlin, Germany.
2006.
<A HREF="http://webalt.math.helsinki.fi/content/e16/e301/e785/MultilingualDeliveryofOnlineTestsinMathematics_eng.pdf">pdf</A>
<br>
<I>This papers shows screenshots of multilingual generation in the</I>
<I>WebALT project, using GF and the resource grammar library.</I>
</P>
<P>
J. Khegai.
Language engineering in Grammatical Framework (GF).
Phd thesis, Computer Science, Chalmers University of Technology,
2006.
<A HREF="http://www.cse.chalmers.se/~janna/Janna_Khegai_phd.pdf">pdf</A>
<br>
<I>Collection of articles and technical reports on multilingual authoring</I>
<I>and the Russian resource grammar.</I>
</P>
<P>
B. Bringert and A. Ranta.
A Pattern for Almost Compositional Functions.
<I>ICFP 2006, The 11th ACM SIGPLAN International Conference on Functional Programming, Portland, Oregon, September 18-20, 2006</I>,
2006.
<A HREF="http://www.cse.chalmers.se/~bringert/publ/composOp/composOp.pdf">pdf</A>.
<br>
<I>A method of generic programming useful for compiler construction</I>
<I>and transfer-based translation.</I>
</P>
<P>
M. Forsberg, H. Hammarstrom, and A. Ranta.
Morphological Lexicon Extraction from Raw Text Data.
<I>FinTAL 2006</I>,
Turku, August 23-25, 2006.
Springer LNCS/LNAI 4139,
pp. 488-499,
2006.
<br>
<I>A method for automatical production of morphological lexica based</I>
<I>on inflection engines such as those of GF resource grammar library.</I>
</P>
<P>
A. Ranta.
Type Theory and Universal Grammar.
<I>Philosophia Scientiae, Constructivism: Mathematics, Logic, Philosophy and Linguistics</I>,
cahier spécial 6,
pp. 115-131,
2006.
<br>
<I>A philosophical study of the medieval thesis that</I>
<I>grammar is the same in all languages and the difference is only in words.</I>
</P>
<P>
J. Khegai.
GF parallel resource grammars and Russian.
In proceedings of ACL2006
(The joint conference of the International Committee on Computational
Linguistics and the Association for Computational Linguistics) (pp. 475-482),
Sydney, Australia, July 2006.
<br>
<I>Gives an outline of the Russian resource grammar project.</I>
</P>
<P>
J. Khegai.
Grammatical Framework (GF) for MT in sublanguage domains.
Proceedings of 11th Annual conference of the European Association for
Machine Translation, , Oslo.
pp. 95-104,
2005.
<br>
<I>Shows how GF is used in controlled language translation.</I>
</P>
<P>
W. Ng'ang'a.
Multilingual content development for eLearning in Africa.
eLearning Africa: 1st Pan-African Conference on ICT for Development,
Education and Training. 24-26 May 2006, Addis Ababa, Ethiopia.
2006.
<A HREF="http://webalt.math.helsinki.fi/content/e16/e301/e583/MultilingualContentDevelopmentforeLearninginAfrica-final1_eng.pdf">pdf</A>
<br>
<I>Presents a programme for producing educational material in African languages</I>
<I>via multilingual generation in GF.</I>
</P>
<P>
R. Jonson.
Generating statistical language models from interpretation grammars in dialogue system.
In Proceedings of EACL'06, Trento, Italy.
2006.
<br>
<I>Uses GF grammars to generate statistical language models for speech recognition.</I>
</P>
<P>
A. El Dada and A. Ranta.
Arabic Resource Grammar.
<I>Arabic Language Processing (JETALA)</I>,
5-6 June 2006, IERA, Rabat, Morocco,
2006.
<br>
<I>An outline of the Arabic resource grammar project, focusing on software aspects.</I>
</P>
<P>
D. A. Burke and K. Johannisson.
Translating Formal Software Specifications to Natural Language. A Grammar-Based Approach.
In P. Blache, E. Stabler, J. Busquets and R. Moot (eds),
Logical Aspects of Computational Linguistics (LACL 2005),
Springer LNAI 3402,
pp. 51-66,
2005.
<br>
<I>A paper explaining how a multilingual GF grammar is completed with</I>
<I>Natural Language Generation techniques to improve text quality.</I>
</P>
<P>
B. Bringert, R. Cooper, P. Ljunglöf, A. Ranta,
Multimodal Dialogue System Grammars.
<I>Proceedings of DIALOR'05, Ninth Workshop on the Semantics and Pragmatics of Dialogue, Nancy, France, June 9-11, 2005</I>,
2005.
<A HREF="http://www.cse.chalmers.se/~bringert/publ/mm-grammars-dialor/mm-grammars-dialor.pdf">pdf</A>.
<br>
<I>Shows how mouse clicks can be integrated in GF grammars</I>
<I>alongside with speech input.</I>
</P>
<P>
K. Johannisson,
Formal and Informal Software Specifications.
PhD thesis,
Computer Science, Göteborg University,
2005.
[<A HREF="http://www.cse.chalmers.se/~krijo/thesis/thesisA4.pdf">http://www.cse.chalmers.se/~krijo/thesis/thesisA4.pdf</A>]
<br>
<I>Collection of articles in the GF-KeY project, with an introduction.</I>
</P>
<P>
P. Ljunglöf.
Expressivity and Complexity of the Grammatical Framework.
PhD thesis, Computer Science,
Göteborg University,
2004.
<A HREF="http://www.cse.chalmers.se/~peb/pubs/Ljunglof-2004a.pdf">pdf</A>
<br>
<I>Language-theoretical study of GF and its parsing problem.</I>
</P>
<P>
A. Ranta.
Grammatical Framework: A Type-Theoretical Grammar Formalism.
<I>Journal of Functional Programming</I>, 14(2),
pp. 145-189,
2004.
Draft available as <A HREF="http://www.cse.chalmers.se/~aarne/articles/gf-jfp.ps.gz">ps.gz</A>.
<br>
<I>Theoretical paper explaining the GF formalism and its implementation.</I>
<I>The standard reference on GF, but doesn't cover the module system.</I>
</P>
<P>
A. Ranta.
Computational semantics in type theory.
<I>Mathematics and Social Sciences</I>, 165,
pp. 31-57,
2004.
Draft available as <A HREF="http://www.cse.chalmers.se/~aarne/articles/3formsem.pdf">pdf</A>.
<br>
// Shows how Montague-style grammars are implemented in GF and extends//
<I>this to type-theoretical grammars for anaphoric expressions.</I>
</P>
<P>
H. Hammarström and A. Ranta.
Cardinal Numerals Revisited in GF.
<I>Workshop on Numerals in the World's Languages</I>.
Dept. of Linguistics Max Planck Institute for Evolutionary Anthropology, Leipzig,
2004.
<br>
<I>An overview of the numeral grammar project, covering 88 languages.</I>
</P>
<P>
A. Ranta.
Grammatical Framework Tutorial.
In A. Beckmann and N. Preining, editors,
<I>ESSLLI 2003 Course Material I</I>,
<I>Collegium Logicum</I>,
volume V,
pp. 1-86.
Kurt Gödel Society,
Vienna,
2004.
<br>
<I>A revised version of the on-line GF tutorial, v1.0.</I>
</P>
<P>
J. Khegai and A. Ranta.
Building and Using a Russian Resource Grammar in GF.
In A. Gelbukh (ed),
<I>Intelligent Text Processing and Computational Linguistics (CICLing-2004)</I>,
Seoul, Korea, February 2003,
Springer LNCS 945,
pp. 38-41,
2004.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/mexico.ps.gz">ps.gz</A>.
<br>
<I>An introduction to the GF resource grammar project, with Russian as prime example.</I>
</P>
<P>
A. Ranta and R. Cooper.
Dialogue Systems as Proof Editors.
<I>Journal of Logic, Language and Information</I>, 13,
pp. 225-240,
2004.
Conference version (IJCAR/ICoS-3, Siena, June 2001) available as
<A HREF="http://www.cse.chalmers.se/~aarne/articles/dialogue3.ps.gz">ps.gz</A>.
<I>Shows a close analogy between task-oriented dialogue systems</I>
<I>and metavariable-based proof editors.</I>
</P>
<P>
J. Khegai and A. Ranta.
Building and Using a Russian Resource Grammar in GF.
In A. Gelbukh (ed),
<I>Intelligent Text Processing and Computational Linguistics (CICLing-2004)</I>,
Seoul, Korea, February 2003,
Springer LNCS 945,
pp. 38-41,
2004.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/mexico.ps.gz">ps.gz</A>.
<br>
<I>Explains how the GF GUI is used in syntax editing and discusses</I>
<I>how new grammars are created.</I>
</P>
<P>
R. Hähnle, K. Johannisson, and A. Ranta.
An Authoring Tool for Informal and Formal Requirements Specifications.
In R. D. Kutsche and H. Weber (eds),
<I>ETAPS/FASE-2002: Fundamental Approaches to Software Engineering</I>,
Springer LNCS,
vol. 2306,
pp. 233--248,
2002.
<A HREF="http://www.cse.chalmers.se/~krijo/GF/FASE.pdf">pdf</A>
<br>
<I>Describes a GF-based authoring tool for object-oriented</I>
<I>specifications in OCL and English. Carries out in full</I>
<I>the work proposed in the position paper (Hähnle &amp; Ranta 2001).</I>
</P>
<P>
K. Johannisson and A.Ranta,
Formal Verification of Multilingual Instructions.
<I>Proceedings of the Joint Winter Meeting 2001</I>.
Departments of Computer Science and Computer Engineering,
Chalmers University of Technology and Göteborg University.
2001.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/aarne+krijo.ps.gz">ps.gz</A>.
<br>
<I>Instructions for an alarm system in four languages, verified in the proof editor Alfa.</I>
</P>
<P>
R. Hähnle and A. Ranta,
Connecting OCL with the Rest of the World.
<I>ETAPS 2001 Workshop on Transformations in UML (WTUML)</I>,
Genova,
2001.
<A HREF="http://www.cse.chalmers.se/~reiner/papers/wtuml.ps.gz">ps.gz</A>.
<br>
<I>A position paper explaining how GF can be used to help in object-oriented</I>
<I>modelling, with some examples on natural-language interaction with</I>
<I>OCL (Object Constraint Language)</I>.
</P>
<P>
T. Hallgren, "The Correctness of Insertion Sort",
Manuscript, Chalmers University, Göteborg, 2001.
Available in
<A HREF="http://www.cse.chalmers.se/~hallgren/Papers/insertion_sort.ps">ps</A>
<br>
<I>A seven-page text generated by GF-Alfa</I>.
</P>
<P>
A. Ranta. "Bescherelle bricolé",
<A HREF="../../GF2.0/doc/BeschBric.ps.gz">ps.gz</A>,
2001.
<br>
<I>A machine-generated book on French conjugation implemented in GF.</I>
</P>
<P>
T. Hallgren and A. Ranta,
An Extensible Proof Text Editor.
In M. Parigot and A. Voronkov (eds),
<I>Logic for Programming and Automated Reasoning (LPAR'2000)</I>,
LNCS/LNAI 1955,
pp. 70-84,
Springer Verlag, Heidelberg,
2000.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/lpar2000.ps.gz">ps.gz</A>.
<br>
<I>Describes an interface to the proof editor Alfa written in GF</I>.
</P>
<P>
M. Dymetman, V. Lux, and A. Ranta,
XML and multilingual document authoring: converging trends.
<I>Proceedings of the The 18th International Conference on Computational Linguistics (COLING 2000)</I>,
pp. 243-249,
Saarbruecken,
2000.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/coling2000.ps.gz">ps.gz</A>.
<br>
<I>Relates GF not only with XML but also with definite clause grammars</I>.
</P>
<P>
P. Mäenpää and A. Ranta.
The type theory and type checker of GF.
<I>Colloquium on Principles, Logics, and Implementations of High-Level Programming Languages, Workshop on Logical Frameworks and Meta-languages, Paris, 28 September 1999</I>.
1999.
<A HREF="href=http://www.cse.chalmers.se/~aarne/papers/lfm1999.ps.gz">ps.gz</A>.
<br>
<I>Concise theoretical presentation of GF, using the old notation prior to v0.9</I>.
</P>
<A NAME="toc2"></A>
<H2>Background for GF</H2>
<P>
In alphabetical order:
</P>
<P>
L. Magnusson.
<I>The Implementation of ALF - a Proof Editor based on Martin-Löf's</I>
<I>Monomorphic Type Theory with Explicit Substitutions</I>.
PhD Thesis, Department of Computing Science,
Chalmers University of Technology and Göteborg University,
1994.
<br>
<I>Back in 1992 the most wonderful program in the world, ALF is</I>
<I>a model that GF directly follows: GF is Yet ALF.</I>
</P>
<P>
P. Martin-Löf.
<I>Intuitionistic Type Theory</I>.
Bibliopolis, Naples, 1984.
<br>
<I>A very accessible book (if you have access to it!) on type theory directly from the source.</I>
</P>
<P>
B. Nordström, K. Petersson, and J. Smith.
<I>Programming in Martin-Löf's Type Theory: an Introduction</I>.
Oxford University Press, 1990.
The book is out of print, but a free version can be picked up from
<A HREF="http://www.cse.chalmers.se/Cs/Research/Logic/book/">www.cse.chalmers.se/Cs/Research/Logic/book/</A>
<br>
<I>Standard reference on the subject</I>.
</P>
<P>
A. Ranta.
<I>Type Theoretical Grammar</I>.
Oxford University Press, Oxford,
1994.
<br>
<I>Monograph on type theory in linguistics. Includes an introduction</I>
<I>to type theory. Focused on semantics, in particular anaphora. A first,</I>
<I>very rudimentary implementation of linearization in the proof system ALF.</I>
</P>
<P>
A. Ranta.
Syntactic categories in the language of mathematics.
In P. Dybjer, B. Nordström, and J. Smith, eds.,
<I>Types for Proofs and Programs</I>,
pp. 162-182,
Lecture Notes in Computer Science
996,
Springer-Verlag,
Heidelberg,
1995.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/baastad.ps.gz">ps.gz</A>
<br>
<I>Predecessor of GF: grammar defined in type theory and implemented in ALF</I>.
</P>
<P>
A. Ranta.
Context-relative syntactic categories and the formalization of mathematical text.
In S. Berardi and M. Coppo, eds.,
<I>Types for Proofs and Programs</I>,
pp. 231-248,
Lecture Notes in Computer Science
1158,
Springer-Verlag,
Heidelberg,
1996.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/torino.ps.gz">ps.gz</A>.
<br>
<I>Extending the theory of the previous paper. The implementation in ALF</I>
<I>eventually became so heavy that the need arose for GF.</I>
</P>
<P>
A. Ranta.
Structures grammaticales dans le français mathématique.
<I>Mathématiques, informatique et Sciences Humaines.</I>,
vol. 138 pp. 5-56 and 139 pp. 5-36,
1997.
<br>
<I>A rather comprehensive French grammar presented in a type-theoretical style.</I>
</P>
<P>
A. Ranta.
Syntactic calculus with dependent types.
<I>Journal of Logic, Language and Information</I>, vol. 4,
pp. 413-431, 1998.
<br>
<I>Interprets Lambek Calculus in type theory and defines some extensions</I>.
</P>
<!-- html code generated by txt2tags 2.6 (http://txt2tags.org) -->
<!-- cmdline: txt2tags -thtml ./doc/gf-bibliography.t2t -->
</BODY></HTML>
+201
View File
@@ -0,0 +1,201 @@
GF Developer's Guide: Old installation instructions with Cabal
This page contains the old installation instructions from the [Developer's Guide ../doc/gf-developers.html].
We recommend Stack as a primary installation method, because it's easier for a Haskell beginner, and we want to keep the main instructions short.
But if you are an experienced Haskeller and want to keep using Cabal, here are the old instructions using ``cabal install``.
Note that some of these instructions may be outdated. Other parts may still be useful.
== Compilation from source with Cabal ==
The build system of GF is based on //Cabal//, which is part of the
Haskell Platform, so no extra steps are needed to install it. In the simplest
case, all you need to do to compile and install GF, after downloading the
source code as described above, is
```
$ cabal install
```
This will automatically download any additional Haskell libraries needed to
build GF. If this is the first time you use Cabal, you might need to run
``cabal update`` first, to update the list of available libraries.
If you want more control, the process can also be split up into the usual
//configure//, //build// and //install// steps.
=== Configure ===
During the configuration phase Cabal will check that you have all
necessary tools and libraries needed for GF. The configuration is
started by the command:
```
$ cabal configure
```
If you don't see any error message from the above command then you
have everything that is needed for GF. You can also add the option
``-v`` to see more details about the configuration.
You can use ``cabal configure --help`` to get a list of configuration options.
=== Build ===
The build phase does two things. First it builds the GF compiler from
the Haskell source code and after that it builds the GF Resource Grammar
Library using the already build compiler. The simplest command is:
```
$ cabal build
```
Again you can add the option ``-v`` if you want to see more details.
==== Parallel builds ====
If you have Cabal>=1.20 you can enable parallel compilation by using
```
$ cabal build -j
```
or by putting a line
```
jobs: $ncpus
```
in your ``.cabal/config`` file. Cabal
will pass this option to GHC when building the GF compiler, if you
have GHC>=7.8.
Cabal also passes ``-j`` to GF to enable parallel compilation of the
Resource Grammar Library. This is done unconditionally to avoid
causing problems for developers with Cabal<1.20. You can disable this
by editing the last few lines in ``WebSetup.hs``.
=== Install ===
After you have compiled GF you need to install the executable and libraries
to make the system usable.
```
$ cabal copy
$ cabal register
```
This command installs the GF compiler for a single user, in the standard
place used by Cabal.
On Linux and Mac this could be ``$HOME/.cabal/bin``.
On Mac it could also be ``$HOME/Library/Haskell/bin``.
On Windows this is ``C:\Program Files\Haskell\bin``.
The compiled GF Resource Grammar Library will be installed
under the same prefix, e.g. in
``$HOME/.cabal/share/gf-3.3.3/lib`` on Linux and
in ``C:\Program Files\Haskell\gf-3.3.3\lib`` on Windows.
If you want to install in some other place then use the ``--prefix``
option during the configuration phase.
=== Clean ===
Sometimes you want to clean up the compilation and start again from clean
sources. Use the clean command for this purpose:
```
$ cabal clean
```
%=== SDist ===
%
%You can use the command:
%
%% This does *NOT* include everything that is needed // TH 2012-08-06
%```
%$ cabal sdist
%```
%
%to prepare archive with all source codes needed to compile GF.
=== Known problems with Cabal ===
Some versions of Cabal (at least version 1.16) seem to have a bug that can
cause the following error:
```
Configuring gf-3.x...
setup: Distribution/Simple/PackageIndex.hs:124:8-13: Assertion failed
```
The exact cause of this problem is unclear, but it seems to happen
during the configure phase if the same version of GF is already installed,
so a workaround is to remove the existing installation with
```
ghc-pkg unregister gf
```
You can check with ``ghc-pkg list gf`` that it is gone.
== Compilation with make ==
If you feel more comfortable with Makefiles then there is a thin Makefile
wrapper arround Cabal for you. If you just type:
```
$ make
```
the configuration phase will be run automatically if needed and after that
the sources will be compiled.
%% cabal build rgl-none does not work with recent versions of Cabal
%If you don't want to compile the resource library
%every time then you can use:
%```
%$ make gf
%```
For installation use:
```
$ make install
```
For cleaning:
```
$ make clean
```
%and to build source distribution archive run:
%```
%$ make sdist
%```
== Partial builds of RGL ==
**NOTE**: The following doesn't work with recent versions of ``cabal``. //(This comment was left in 2015, so make your own conclusions.)//
%% // TH 2015-06-22
%Sometimes you just want to work on the GF compiler and don't want to
%recompile the resource library after each change. In this case use
%this extended command:
%```
%$ cabal build rgl-none
%```
The resource grammar library can be compiled in two modes: with present
tense only and with all tenses. By default it is compiled with all
tenses. If you want to use the library with only present tense you can
compile it in this special mode with the command:
```
$ cabal build present
```
You could also control which languages you want to be recompiled by
adding the option ``langs=list``. For example the following command
will compile only the English and the Swedish language:
```
$ cabal build langs=Eng,Swe
```
+262 -469
View File
@@ -1,16 +1,8 @@
GF Developers Guide GF Developers Guide
Authors: Björn Bringert, Krasimir Angelov and Thomas Hallgren
Last update: %%mtime(%F, %H:%M)
% NOTE: this is a txt2tags file. 2021-07-15
% Create an html file from this file using:
% txt2tags -t html gf-developers.t2t
%!style:../css/style.css
%!target:html
%!options(html): --toc %!options(html): --toc
%!encoding:utf-8
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
== Before you start == == Before you start ==
@@ -23,569 +15,370 @@ you are a GF user who just wants to download and install GF
== Setting up your system for building GF == == Setting up your system for building GF ==
To build GF from source you need to install some tools on your To build GF from source you need to install some tools on your
system: the //Haskell Platform//, //Darcs// and the //Haskeline library//. system: the Haskell build tool //Stack//, the version control software //Git// and the //Haskeline// library.
**On Linux** the best option is to install the tools via the standard %**On Linux** the best option is to install the tools via the standard
software distribution channels, i.e. by using the //Software Center// %software distribution channels, i.e. by using the //Software Center//
in Ubuntu or the corresponding tool in other popular Linux distributions. %in Ubuntu or the corresponding tool in other popular Linux distributions.
Or, from a Terminal window, the following command should be enough:
- On Ubuntu: ``sudo apt-get install haskell-platform darcs libghc6-haskeline-dev`` %**On Mac OS and Windows**, the tools can be downloaded from their respective
- On Fedora: ``sudo yum install haskell-platform darcs ghc-haskeline-devel`` %web sites, as described below.
=== Stack ===
The primary installation method is via //Stack//.
(You can also use Cabal, but we recommend Stack to those who are new to Haskell.)
To install Stack:
- **On Linux and Mac OS**, do either
``$ curl -sSL https://get.haskellstack.org/ | sh``
or
``$ wget -qO- https://get.haskellstack.org/ | sh``
**On Mac OS and Windows**, the tools can be downloaded from their respective - **On other operating systems**, see the [installation guide https://docs.haskellstack.org/en/stable/install_and_upgrade].
web sites, as described below.
=== The Haskell Platform ===
GF is written in Haskell, so first of all you need
the //Haskell Platform//, e.g. version 7.10.3. Downloads
and installation instructions are available from here:
http://hackage.haskell.org/platform/
Once you have installed the Haskell Platform, open a terminal
(Command Prompt on Windows) and try to execute the following command:
```
$ ghc --version
```
This command should show you which version of GHC you have. If the installation
of the Haskell Platform was successful you should see a message like:
```
The Glorious Glasgow Haskell Compilation System, version 7.8.3
```
Other required tools included in the Haskell Platform are
[Cabal http://www.haskell.org/cabal/],
[Alex http://www.haskell.org/alex/]
and
[Happy http://www.haskell.org/happy/].
=== Darcs ===
To get the GF source code, you also need //Darcs//, version 2 or later.
Darcs 2.10 is recommended (July 2015).
//Darcs//
is a distributed version control system, see http://darcs.net/ for
more information. There are precompiled packages for many platforms
available and source code if you want to compile it yourself. Darcs
is also written in Haskell and so you can use GHC to compile it.
=== The haskeline library === %If you already have Stack installed, upgrade it to the latest version by running: ``stack upgrade``
=== Git ===
To get the GF source code, you also need //Git//, a distributed version control system.
- **On Linux**, the best option is to install the tools via the standard
software distribution channels:
- On Ubuntu: ``sudo apt-get install git-all``
- On Fedora: ``sudo dnf install git-all``
- **On other operating systems**, see
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git for installation.
=== Haskeline ===
GF uses //haskeline// to enable command line editing in the GF shell. GF uses //haskeline// to enable command line editing in the GF shell.
This should work automatically on Mac OS and Windows, but on Linux one
extra step is needed to make sure the C libraries (terminfo)
required by //haskeline// are installed. Here is one way to do this:
- On Ubuntu: ``sudo apt-get install libghc-haskeline-dev`` - **On Mac OS and Windows**, this should work automatically.
- On Fedora: ``sudo yum install ghc-haskeline-devel``
- **On Linux**, an extra step is needed to make sure the C libraries (terminfo)
required by //haskeline// are installed:
- On Ubuntu: ``sudo apt-get install libghc-haskeline-dev``
- On Fedora: ``sudo dnf install ghc-haskeline-devel``
== Getting the source == == Getting the source ==[getting-source]
Once you have all tools in place you can get the GF source code. If you Once you have all tools in place you can get the GF source code from
just want to compile and use GF then it is enough to have read-only [GitHub https://github.com/GrammaticalFramework/]:
access. It is also possible to make changes in the source code but if you
want these changes to be applied back to the main source repository you will
have to send the changes to us. If you plan to work continuously on
GF then you should consider getting read-write access.
=== Read-only access === - https://github.com/GrammaticalFramework/gf-core for the GF compiler
- https://github.com/GrammaticalFramework/gf-rgl for the Resource Grammar Library
==== Getting a fresh copy for read-only access ====
Anyone can get the latest development version of GF by running (all on one line): === Read-only access: clone the main repository ===
If you only want to compile and use GF, you can just clone the repositories as follows:
``` ```
$ darcs get --lazy --set-scripts-executable http://www.grammaticalframework.org/ gf $ git clone https://github.com/GrammaticalFramework/gf-core.git
$ git clone https://github.com/GrammaticalFramework/gf-rgl.git
``` ```
This will create a directory called ``gf`` in the current To get new updates, run the following anywhere in your local copy of the repository:
directory.
==== Updating your copy ====
To get all new patches from the main repo:
```
$ darcs pull -a
```
This can be done anywhere in your local repository, i.e. in the ``gf``
directory, or any of its subdirectories.
Without ``-a``, you can choose which patches you want to get.
==== Recording local changes ====[record]
Since every copy is a repository, you can have local version control
of your changes.
If you have added files, you first need to tell your local repository to
keep them under revision control:
``` ```
$ darcs add file1 file2 ... $ git pull
``` ```
To record changes, use: === Contribute your changes: fork the main repository ===
If you want the possibility to contribute your changes,
you should create your own fork, do your changes there,
and then send a pull request to the main repository.
+ **Creating and cloning a fork —**
See GitHub documentation for instructions how to [create your own fork https://docs.github.com/en/get-started/quickstart/fork-a-repo]
of the repository. Once you've done it, clone the fork to your local computer.
``` ```
$ darcs record $ git clone https://github.com/<YOUR_USERNAME>/gf-core.git
``` ```
This creates a patch against the previous version and stores it in your + **Updating your copy —**
local repository. You can record any number of changes before Once you have cloned your fork, you need to set up the main repository as a remote:
pushing them to the main repo. In fact, you don't have to push them at
all if you want to keep the changes only in your local repo.
If you think there are too many questions about what to record, you
can answer ``f`` to record all remaining changes in the current file,
or ``s`` to skip them. Use ``?`` to get a list of more options.
%use the ``-a`` flag to ``record``. Or answer ``a`` to the first
%question. Both of these record all the changes you have in your local
%repository.
==== Submitting patches ====
If you are using read-only access, send your patches by email to
someone with write-access. First record your changes in your local
repository, as described above. You can send any number of recorded
patches as one patch bundle. You create the patch bundle with:
``` ```
$ darcs send -o mypatch.patch $ git remote add upstream https://github.com/GrammaticalFramework/gf-core.git
$ gzip mypatch.patch
``` ```
(where ``mypatch`` is hopefully replaced by a slightly more Then you can get the latest updates by running the following:
descriptive name). Since some e-mail setups change text attachments
(most likely by changing the newline characters) you need to send
the patch in some compressed format, such as GZIP, BZIP2 or ZIP.
Send it as an e-mail attachment.
% If you have
%sendmail or something equivalent installed, it is possible to send the
%patch directly from darcs. If so, replace ``-o mypatch.patch`` with
%``--to=EMAIL`` where ``EMAIL`` is the address to send it to.
=== Read-write access ===
If you have a user account on ``www.grammaticalframework.org``, you can
get read-write access over SSH to the GF repository.
==== Getting a fresh copy ====
Get your copy with (all on one line),
replacing ``user`` with your own user name on ``www.grammaticalframework.org``:
``` ```
$ darcs get --lazy --set-scripts-executable user@www.grammaticalframework.org:/usr/local/www/GF/ gf $ git pull upstream master
``` ```
The option ``--lazy`` means that darcs defers downloading all the + **Recording local changes —**
history for the repository. This saves space, bandwidth and CPU time, See Git tutorial on how to [record and push your changes https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository] to your fork.
and most people don't need the full history of all changes in the
past. + **Pull request —**
When you want to contribute your changes to the main gf-core repository,
[create a pull request https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request]
from your fork.
==== Updating your copy ====
Get all new patches from the main repo: If you want to contribute to the RGL as well, do the same process for the RGL repository.
== Compilation from source ==
By now you should have installed Stack and Haskeline, and cloned the Git repository on your own computer, in a directory called ``gf-core``.
=== Primary recommendation: use Stack ===
Open a terminal, go to the top directory (``gf-core``), and type the following command.
``` ```
$ darcs pull $ stack install
``` ```
You can add ``-a`` to get all patches without answering yes/no to each patch. It will install GF and all necessary tools and libraries to do that.
=== Alternative: use Cabal ===
You can also install GF using Cabal, if you prefer Cabal to Stack. In that case, you may need to install some prerequisites yourself.
==== Commit your changes ==== The actual installation process is similar to Stack: open a terminal, go to the top directory (``gf-core``), and type the following command.
There are two steps to commiting a change to the main repo. First you
have to record the changes that you want to commit
(see [Recording local changes #record] above), then you push them
to the main repo. If you are using ssh-access, all you need to do is:
``` ```
$ darcs push
```
If you use the ``-a`` flag to push, all local patches which are not in
the main repo are pushed.
==== Apply a patch from someone else ====
Use:
```
$ darcs apply < mypatch.patch
```
This applies the patch to your local repository. To commit it to the
main repo, use ``darcs push``.
=== Further information about Darcs ===
For more info about what you can do with darcs, see http://darcs.net/manual/
== Compilation from source with Cabal ==
The build system of GF is based on //Cabal//, which is part of the
Haskell Platform, so no extra steps are needed to install it. In the simplest
case, all you need to do to compile and install GF, after downloading the
source code as described above, is
```
$ cd gf
$ cabal install $ cabal install
``` ```
This will automatically download any additional Haskell libraries needed to //The old (potentially outdated) instructions for Cabal are moved to a [separate page ../doc/gf-developers-old-cabal.html]. If you run into trouble with ``cabal install``, you may want to take a look.//
build GF. If this is the first time you use Cabal, you might need to run
``cabal update`` first, to update the list of available libraries.
If you want more control, the process can also be split up into the usual == Compiling GF with C runtime system support ==
//configure//, //build// and //install// steps.
=== Configure === The C runtime system is a separate implementation of the PGF runtime services.
It makes it possible to work with very large, ambiguous grammars, using
probabilistic models to obtain probable parses. The C runtime system might
also be easier to use than the Haskell runtime system on certain platforms,
e.g. Android and iOS.
During the configuration phase Cabal will check that you have all To install the C runtime system, go to the ``src/runtime/c`` directory.
necessary tools and libraries needed for GF. The configuration is
started by the command: - **On Linux and Mac OS —**
You should have autoconf, automake, libtool and make.
If you are missing some of them, follow the
instructions in the [INSTALL https://github.com/GrammaticalFramework/gf-core/blob/master/src/runtime/c/INSTALL] file.
Once you have the required libraries, the easiest way to install the C runtime is to use the ``install.sh`` script. Just type
``$ bash install.sh``
This will install the C header files and libraries need to write C programs
that use PGF grammars.
% If this doesn't work for you, follow the manual instructions in the [INSTALL https://github.com/GrammaticalFramework/gf-core/blob/master/src/runtime/c/INSTALL] file under your operating system.
- **On other operating systems —** Follow the instructions in the
[INSTALL https://github.com/GrammaticalFramework/gf-core/blob/master/src/runtime/c/INSTALL] file under your operating system.
Depending on what you want to do with the C runtime, you can follow one or more of the following steps.
=== Use the C runtime from another programming language ===[bindings]
% **If you just want to use the C runtime from Python, Java, or Haskell, you don't need to change your GF installation.**
- **What —**
This is the most common use case for the C runtime: compile
your GF grammars into PGF with the standard GF executable,
and manipulate the PGFs from another programming language,
using the bindings to the C runtime.
- **How —**
The Python, Java and Haskell bindings are found in the
``src/runtime/{python,java,haskell-bind}`` directories,
respecively. Compile them by following the instructions
in the ``INSTALL`` or ``README`` files in those directories.
The Python library can also be installed from PyPI using ``pip install pgf``.
//If you are on Mac and get an error about ``clang`` version, you can try some of [these solutions https://stackoverflow.com/questions/63972113/big-sur-clang-invalid-version-error-due-to-macosx-deployment-target]—but be careful before removing any existing installations.//
=== Use GF shell with C runtime support ===
- **What —**
If you want to use the GF shell with C runtime functionalities, then you need to (re)compile GF with special flags.
The GF shell can be started with ``gf -cshell`` or ``gf -crun`` to use
the C run-time system instead of the Haskell run-time system.
Only limited functionality is available when running the shell in these
modes (use the ``help`` command in the shell for details).
(Re)compiling your GF with these flags will also give you
Haskell bindings to the C runtime, as a library called ``PGF2``,
but if you want Python or Java bindings, you need to do [the previous step #bindings].
% ``PGF2``: a module to import in Haskell programs, providing a binding to the C run-time system.
- **How —**
If you use cabal, run the following command:
``` ```
$ cabal configure cabal install -fc-runtime
``` ```
If you don't see any error message from the above command then you from the top directory (``gf-core``).
have everything that is needed for GF. You can also add the option
``-v`` to see more details about the configuration.
You can use ``cabal configure --help`` to get a list of configuration options. If you use stack, uncomment the following lines in the ``stack.yaml`` file:
=== Build ===
The build phase does two things. First it builds the GF compiler from
the Haskell source code and after that it builds the GF Resource Grammar
Library using the already build compiler. The simplest command is:
``` ```
$ cabal build flags:
gf:
c-runtime: true
extra-lib-dirs:
- /usr/local/lib
``` ```
and then run ``stack install`` from the top directory (``gf-core``).
Again you can add the option ``-v`` if you want to see more details.
==== Parallel builds ==== //If you get an "``error while loading shared libraries``" when trying to run GF with C runtime, remember to declare your ``LD_LIBRARY_PATH``.//
//Add ``export LD_LIBRARY_PATH="/usr/local/lib"`` to either your ``.bashrc`` or ``.profile``. You should now be able to start GF with C runtime.//
If you have Cabal>=1.20 you can enable parallel compilation by using
=== Use GF server mode with C runtime ===
- **What —**
With this feature, ``gf -server`` mode is extended with new requests to call the C run-time
system, e.g. ``c-parse``, ``c-linearize`` and ``c-translate``.
- **How —**
If you use cabal, run the following command:
``` ```
$ cabal build -j cabal install -fc-runtime -fserver
``` ```
from the top directory.
or by putting a line If you use stack, add the following lines in the ``stack.yaml`` file:
```
jobs: $ncpus
```
in your ``.cabal/config`` file. Cabal
will pass this option to GHC when building the GF compiler, if you
have GHC>=7.8.
Cabal also passes ``-j`` to GF to enable parallel compilation of the
Resource Grammar Library. This is done unconditionally to avoid
causing problems for developers with Cabal<1.20. You can disable this
by editing the last few lines in ``WebSetup.hs``.
==== Partial builds ====
**NOTE**: The following doesn't work with recent versions of ``cabal``.
%% // TH 2015-06-22
Sometimes you just want to work on the GF compiler and don't want to
recompile the resource library after each change. In this case use
this extended command:
``` ```
$ cabal build rgl-none flags:
gf:
c-runtime: true
server: true
extra-lib-dirs:
- /usr/local/lib
``` ```
The resource library could also be compiled in two modes: with present and then run ``stack install``, also from the top directory.
tense only and with all tenses. By default it is compiled with all
tenses. If you want to use the library with only present tense you can
compile it in this special mode with the command:
```
$ cabal build present
```
You could also control which languages you want to be recompiled by
adding the option ``langs=list``. For example the following command
will compile only the English and the Swedish language:
```
$ cabal build langs=Eng,Swe
```
=== Install ===
After you have compiled GF you need to install the executable and libraries
to make the system usable.
```
$ cabal copy
$ cabal register
```
This command installs the GF compiler for a single user, in the standard
place used by Cabal.
On Linux and Mac this could be ``$HOME/.cabal/bin``.
On Mac it could also be ``$HOME/Library/Haskell/bin``.
On Windows this is ``C:\Program Files\Haskell\bin``.
The compiled GF Resource Grammar Library will be installed
under the same prefix, e.g. in
``$HOME/.cabal/share/gf-3.3.3/lib`` on Linux and
in ``C:\Program Files\Haskell\gf-3.3.3\lib`` on Windows.
If you want to install in some other place then use the ``--prefix``
option during the configuration phase.
=== Clean ===
Sometimes you want to clean up the compilation and start again from clean
sources. Use the clean command for this purpose:
```
$ cabal clean
```
%=== SDist ===
%
%You can use the command:
%
%% This does *NOT* include everything that is needed // TH 2012-08-06
%```
%$ cabal sdist
%```
%
%to prepare archive with all source codes needed to compile GF.
=== Known problems with Cabal === == Compilation of RGL ==
Some versions of Cabal (at least version 1.16) seem to have a bug that can As of 2018-07-26, the RGL is distributed separately from the GF compiler and runtimes.
cause the following error:
``` To get the source, follow the previous instructions on [how to clone a repository with Git #getting-source].
Configuring gf-3.x...
setup: Distribution/Simple/PackageIndex.hs:124:8-13: Assertion failed
```
The exact cause of this problem is unclear, but it seems to happen After cloning the RGL, you should have a directory named ``gf-rgl`` on your computer.
during the configure phase if the same version of GF is already installed,
so a workaround is to remove the existing installation with
``` === Simple ===
ghc-pkg unregister gf To install the RGL, you can use the following commands from within the ``gf-rgl`` repository:
```
You can check with ``ghc-pkg list gf`` that it is gone.
== Compilation with make ==
If you feel more comfortable with Makefiles then there is a thin Makefile
wrapper arround Cabal for you. If you just type:
```
$ make
```
the configuration phase will be run automatically if needed and after that
the sources will be compiled.
%% cabal build rgl-none does not work with recent versions of Cabal
%If you don't want to compile the resource library
%every time then you can use:
%```
%$ make gf
%```
For installation use:
``` ```
$ make install $ make install
``` ```
For cleaning: There is also ``make build``, ``make copy`` and ``make clean`` which do what you might expect.
=== Advanced ===
For advanced build options, call the Haskell build script directly:
``` ```
$ make clean $ runghc Setup.hs ...
``` ```
%and to build source distribution archive run: For more details see the [README https://github.com/GrammaticalFramework/gf-rgl/blob/master/README.md].
%```
%$ make sdist
%```
== Compiling GF with C run-time system support == === Haskell-free ===
If you do not have Haskell installed, you can use the simple build script ``Setup.sh``
The C run-time system is a separate implementation of the PGF run-time services. (or ``Setup.bat`` for Windows).
It makes it possible to work with very large, ambiguous grammars, using
probabilistic models to obtain probable parses. The C run-time system might
also be easier to use than the Haskell run-time system on certain platforms,
e.g. Android and iOS.
To install the C run-time system, go to the ``src/runtime/c`` directory
%and follow the instructions in the ``INSTALL`` file.
and use the ``install.sh`` script:
```
bash setup.sh configure
bash setup.sh build
bash setup.sh install
```
This will install
the C header files and libraries need to write C programs that use PGF grammars.
Some example C programs are included in the ``utils`` subdirectory, e.g.
``pgf-translate.c``.
When the C run-time system is installed, you can install GF with C run-time
support by doing
```
cabal install -fserver -fc-runtime
```
from the top directory. This give you three new things:
- ``PGF2``: a module to import in Haskell programs, providing a binding to
the C run-time system.
- The GF shell can be started with ``gf -cshell`` or ``gf -crun`` to use
the C run-time system instead of the Haskell run-time system.
Only limited functionality is available when running the shell in these
modes (use the ``help`` command in the shell for details).
- ``gf -server`` mode is extended with new requests to call the C run-time
system, e.g. ``c-parse``, ``c-linearize`` and ``c-translate``.
=== Python and Java bindings ===
The C run-time system can also be used from Python and Java. Python and Java
bindings are found in the ``src/runtime/python`` and ``src/runtime/java``
directories, respecively. Compile them by following the instructions in
the ``INSTALL`` files in those directories.
== Creating binary distribution packages == == Creating binary distribution packages ==
=== Creating .deb packages for Ubuntu === The binaries are generated with Github Actions. More details can be viewed here:
This was tested on Ubuntu 14.04 for the release of GF 3.6, and the https://github.com/GrammaticalFramework/gf-core/actions/workflows/build-binary-packages.yml
resulting ``.deb`` packages appears to work on Ubuntu 12.04, 13.10 and 14.04.
For the release of GF 3.7, we generated ``.deb`` packages on Ubuntu 15.04 and
tested them on Ubuntu 12.04 and 14.04.
Under Ubuntu, Haskell executables are statically linked against other Haskell
libraries, so the .deb packages are fairly self-contained.
==== Preparations ==== == Running the test suite ==
The GF test suite is run with one of the following commands from the top directory:
``` ```
sudo apt-get install dpkg-dev debhelper $ cabal test
``` ```
==== Creating the package ==== or
Make sure the ``debian/changelog`` starts with an entry that describes the
version you are building. Then run
``` ```
make deb $ stack test
``` ```
If get error messages about missing dependencies
(e.g. ``autoconf``, ``automake``, ``libtool-bin``, ``python-dev``,
``java-sdk``, ``txt2tags``)
use ``apt-get intall`` to install them, then try again.
=== Creating OS X Installer packages ===
Run
```
make pkg
```
=== Creating binary tar distributions ===
Run
```
make bintar
```
=== Creating .rpm packages for Fedora ===
This is possible, but the procedure has not been automated.
It involves using the cabal-rpm tool,
```
sudo yum install cabal-rpm
```
and following the Fedora guide
[How to create an RPM package http://fedoraproject.org/wiki/How_to_create_an_RPM_package].
Under Fedora, Haskell executables are dynamically linked against other Haskell
libraries, so ``.rpm`` packages for all Haskell libraries that GF depends on
are required. Most of them are already available in the Fedora distribution,
but a few of them might have to be built and distributed along with
the GF ``.rpm`` package.
When building ``.rpm`` packages for GF 3.4, we also had to build ``.rpm``s for
``fst`` and ``httpd-shed``.
== Running the testsuite ==
**NOTE:** The test suite has not been maintained recently, so expect many
tests to fail.
%% // TH 2012-08-06
GF has testsuite. It is run with the following command:
```
$ cabal test
```
The testsuite architecture for GF is very simple but still very flexible. The testsuite architecture for GF is very simple but still very flexible.
GF by itself is an interpreter and could execute commands in batch mode. GF by itself is an interpreter and could execute commands in batch mode.
This is everything that we need to organize a testsuite. The root of the This is everything that we need to organize a testsuite. The root of the
testsuite is the testsuite/ directory. It contains subdirectories which testsuite is the ``testsuite/`` directory. It contains subdirectories
themself contain GF batch files (with extension .gfs). The above command which themselves contain GF batch files (with extension ``.gfs``).
searches the subdirectories of the testsuite/ directory for files with extension The above command searches the subdirectories of the ``testsuite/`` directory
.gfs and when it finds one it is executed with the GF interpreter. for files with extension ``.gfs`` and when it finds one, it is executed with
The output of the script is stored in file with extension .out and is compared the GF interpreter. The output of the script is stored in file with extension ``.out``
with the content of the corresponding file with extension .gold, if there is one. and is compared with the content of the corresponding file with extension ``.gold``, if there is one.
If the contents are identical the command reports that the test was passed successfully.
Otherwise the test had failed.
Every time when you make some changes to GF that have to be tested, instead of Every time when you make some changes to GF that have to be tested,
writing the commands by hand in the GF shell, add them to one .gfs file in the testsuite instead of writing the commands by hand in the GF shell, add them to one ``.gfs``
and run the test. In this way you can use the same test later and we will be sure file in the testsuite subdirectory where its ``.gf`` file resides and run the test.
that we will not incidentaly break your code later. In this way you can use the same test later and we will be sure that we will not
accidentally break your code later.
**Test Outcome - Passed:** If the contents of the files with the ``.out`` extension
are identical to their correspondingly-named files with the extension ``.gold``,
the command will report that the tests passed successfully, e.g.
If you don't want to run the whole testsuite you can write the path to the subdirectory
in which you are interested. For example:
``` ```
$ cabal test testsuite/compiler Running 1 test suites...
Test suite gf-tests: RUNNING...
Test suite gf-tests: PASS
1 of 1 test suites (1 of 1 test cases) passed.
``` ```
will run only the testsuite for the compiler.
**Test Outcome - Failed:** If there is a contents mismatch between the files
with the ``.out`` extension and their corresponding files with the extension ``.gold``,
the test diagnostics will show a fail and the areas that failed. e.g.
```
testsuite/compiler/compute/Records.gfs: OK
testsuite/compiler/compute/Variants.gfs: FAIL
testsuite/compiler/params/params.gfs: OK
Test suite gf-tests: FAIL
0 of 1 test suites (0 of 1 test cases) passed.
```
The fail results overview is available in gf-tests.html which shows 4 columns:
+ __Results__ - only areas that fail will appear. (Note: There are 3 failures in the gf-tests.html which are labelled as (expected). These failures should be ignored.)
+ __Input__ - which is the test written in the .gfs file
+ __Gold__ - the expected output from running the test set out in the .gfs file. This column refers to the contents from the .gold extension files.
+ __Output__ - This column refers to the contents from the .out extension files which are generated as test output.
After fixing the areas which fail, rerun the test command. Repeat the entire process of fix-and-test until the test suite passes before submitting a pull request to include your changes.
+75
View File
@@ -0,0 +1,75 @@
# Editor modes & IDE integration for GF
We collect GF modes for various editors on this page. Contributions are welcome!
## Emacs
[gf.el](https://github.com/GrammaticalFramework/gf-emacs-mode) by Johan
Bockgård provides syntax highlighting and automatic indentation and
lets you run the GF Shell in an emacs buffer. See installation
instructions inside.
## Atom
[language-gf](https://atom.io/packages/language-gf), by John J. Camilleri
## Visual Studio Code
* [Grammatical Framework Language Server](https://marketplace.visualstudio.com/items?itemName=anka-213.gf-vscode) by Andreas Källberg.
This provides syntax highlighting and a client for the Grammatical Framework language server. Follow the installation instructions in the link.
* [Grammatical Framework](https://marketplace.visualstudio.com/items?itemName=GrammaticalFramework.gf-vscode) is a simpler extension
without any external dependencies which provides only syntax highlighting.
## Eclipse
[GF Eclipse Plugin](https://github.com/GrammaticalFramework/gf-eclipse-plugin/), by John J. Camilleri
## Gedit
By John J. Camilleri
Copy the file below to
`~/.local/share/gtksourceview-3.0/language-specs/gf.lang` (under Ubuntu).
* [gf.lang](../src/tools/gf.lang)
Some helpful notes/links:
* The code is based heavily on the `haskell.lang` file which I found in
`/usr/share/gtksourceview-2.0/language-specs/haskell.lang`.
* Ruslan Osmanov recommends
[registering your file extension as its own MIME type](http://osmanov-dev-notes.blogspot.com/2011/04/how-to-add-new-highlight-mode-in-gedit.html)
(see also [here](https://help.ubuntu.com/community/AddingMimeTypes)),
however on my system the `.gf` extension was already registered
as a generic font (`application/x-tex-gf`) and I didn't want to risk
messing any of that up.
* This is a quick 5-minute job and might require some tweaking.
[The GtkSourceView language definition tutorial](http://developer.gnome.org/gtksourceview/stable/lang-tutorial.html)
is the place to start looking.
* Contributions are welcome!
## Geany
By John J. Camilleri
[Custom filetype](http://www.geany.org/manual/dev/index.html#custom-filetypes)
config files for syntax highlighting in [Geany](http://www.geany.org/).
For version 1.36 and above, copy one of the files below to
`/usr/share/geany/filedefs/filetypes.GF.conf` (under Ubuntu).
If you're using a version older than 1.36, copy the file to `/usr/share/geany/filetypes.GF.conf`.
You will need to manually create the file.
* [light-filetypes.GF.conf](../src/tools/light-filetypes.GF.conf)
* [dark-filetypes.GF.conf](../src/tools/dark-filetypes.GF.conf)
You will also need to edit the `filetype_extensions.conf` file and add the
following line somewhere:
```
GF=*.gf
```
## Vim
[vim-gf](https://github.com/gdetrez/vim-gf)
-75
View File
@@ -1,75 +0,0 @@
Editor modes & IDE integration for GF
%!style:../css/style.css
%!options(html): --toc
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!encoding:utf-8
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
We collect GF modes for various editors on this page. Contributions are
welcome!
==Emacs==
[gf.el ../src/tools/gf.el] by Johan Bockgård provides syntax highlighting and
automatic indentation and lets you run the GF Shell in an emacs buffer.
See installation instructions inside.
==Eclipse==
[GF Eclipse Plugin http://www.grammaticalframework.org/eclipse/index.html]
==Gedit==
[John J. Camilleri http://johnjcamilleri.com/]
provided the following syntax highlighting mode for
[Gedit http://www.gedit.org/] (the default text editor in Ubuntu).
Copy the file below to
``~/.local/share/gtksourceview-3.0/language-specs/gf.lang`` (under Ubuntu).
- [gf.lang ../src/tools/gf.lang]
Some helpful notes/links:
- The code is based heavily on the ``haskell.lang`` file which I found in
``/usr/share/gtksourceview-2.0/language-specs/haskell.lang``.
- Ruslan Osmanov recommends
[registering your file extension as its own MIME type http://osmanov-dev-notes.blogspot.com/2011/04/how-to-add-new-highlight-mode-in-gedit.html]
(see also [here https://help.ubuntu.com/community/AddingMimeTypes]),
however on my system the ``.gf`` extension was already registered
as a generic font (``application/x-tex-gf``) and I didn't want to risk
messing any of that up.
- This is a quick 5-minute job and might require some tweaking.
[The GtkSourceView language definition tutorial http://developer.gnome.org/gtksourceview/stable/lang-tutorial.html]
is the place to start looking.
- Contributions are welcome!
==Geany==
[John J. Camilleri http://johnjcamilleri.com/] provided the following
[custom filetype http://www.geany.org/manual/dev/index.html#custom-filetypes]
config files for syntax highlighting in [Geany http://www.geany.org/].
Copy one of the files below to ``/usr/share/geany/filetypes.GF.conf``
(under Ubuntu). You will need to manually create the file.
- [light-filetypes.GF.conf ../src/tools/light-filetypes.GF.conf]
- [dark-filetypes.GF.conf ../src/tools/dark-filetypes.GF.conf]
You will also need to edit the ``filetype_extensions.conf`` file and add the
following line somewhere:
```
GF=*.gf
```
==Vim==
[vim-gf https://github.com/gdetrez/vim-gf]
-91
View File
@@ -1,91 +0,0 @@
Grammatical Framework: Frequently Asked Quuestions
Aarne Ranta
%%date(%c)
% NOTE: this is a txt2tags file.
% Create an html file from this file using:
% txt2tags gf-bibliography.t2t
%!style:../css/style.css
%!target:html
%!options(html): --toc
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): #BR <br>
%!encoding:utf-8
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
===What has been done with GF?===
**Translation**: systems with any number of parallel languages, with input in one language and output in all the others.
**Natural language generation** (NLG): translation from a formal language to natural languages.
**Ontology verbalization** is a special case of NLG.
**Language training**: grammar and vocabulary training systems.
**Human-computer interaction**: natural language interfaces, spoken dialogue systems.
**Linguistics**: comparisons between languages.
===What parts does GF have?===
A **grammar compiler**, used for compiling grammars to parsing, generation, and translation code.
A **run-time system**, used for parsing, generation and translation. The run-time system is available in several languages:
Haskell, Java, C, C++, Javascript, and Python. The point with this is that you can include GF-based parsing and generation in
larger programs written in any of these languages.
A **resource grammar library**, containing the morphology and basic syntax of currently 26 languages.
A **web application toolkit**, containing server-side (Haskell) and client-side (Javascript) libraries.
An **integrated development environment**, the GF-Eclipse plug-in.
A **shell**, i.e. a command interpreter for testing and developing GF grammars. This is the program started by the command ``gf`` in a terminal.
===Is GF open-source?===
===Can I use GF for commercial applications?===
Yes. Those parts of GF that you will need to distribute - the run-time system and the libraries - are licensed under LGPL and BSD; it's up to you to choose which.
===When was GF started?===
===Where does the name GF come from?===
GF = Grammatical Framework = LF + concrete syntax
LF = Logical Framework
Logical Frameworks are implementations of type theory, which have been built since the 1980's to support formalized mathematics. GF has its roots in
type theory, which is widely used in the semantics of natural language. Some of these ideas were first implemented in ALF, Another Logical Framework,
in 1992; the book //Type-Theoretical Grammar// (by A. Ranta, OUP 1994) has a chapter and an appendix on this. The first implementations did not have
a parser, and GF proper, started in 1998, was an implementation of yet another LF together with concrete syntax supporting generation and parsing.
Grammatical Framework was a natural name for this. We tried to avoid it in the beginning, because it sounded pretentious in its generality. But the
name was just too natural to be avoided.
===Is GF backward compatible?===
===Do I need Haskell to use GF?===
No. GF is a language of its own, and you don't need to know Haskell. And if you download the GF binary, you don't need any Haskell tools. But if you want to
become a GF developer, then it's better you install GF from the latest source, and then you need the GHC Haskell compiler to compile GF. But even then, you
don't need to know Haskell yourself.
===What is a lock field?===
+81 -38
View File
@@ -46,7 +46,7 @@
#TINY #TINY
The command has one argument which is either function, expression or The command has one argument which is either function, expression or
a category defined in the abstract syntax of the current grammar. a category defined in the abstract syntax of the current grammar.
If the argument is a function then ?its type is printed out. If the argument is a function then ?its type is printed out.
If it is a category then the category definition is printed. If it is a category then the category definition is printed.
If a whole expression is given it prints the expression with refined If a whole expression is given it prints the expression with refined
@@ -68,9 +68,9 @@ metavariables and the type of the expression.
Prints a set of strings in the .dot format (the graphviz format). Prints a set of strings in the .dot format (the graphviz format).
The graph can be saved in a file by the wf command as usual. The graph can be saved in a file by the wf command as usual.
If the -view flag is defined, the graph is saved in a temporary file If the -view flag is defined, the graph is saved in a temporary file
which is processed by graphviz and displayed by the program indicated which is processed by 'dot' (graphviz) and displayed by the program indicated
by the flag. The target format is postscript, unless overridden by the by the view flag. The target format is png, unless overridden by the
flag -format. flag -format. Results from multiple trees are combined to pdf with convert (ImageMagick).
- Options: - Options:
@@ -151,6 +151,7 @@ of a pipe.
| ``-one`` | pick the first strings, if there is any, from records and tables | ``-one`` | pick the first strings, if there is any, from records and tables
| ``-table`` | show all strings labelled by parameters | ``-table`` | show all strings labelled by parameters
| ``-unqual`` | hide qualifying module names | ``-unqual`` | hide qualifying module names
| ``-trace`` | trace computations
#NORMAL #NORMAL
@@ -242,7 +243,7 @@ and thus cannot be a part of a pipe.
====e = empty==== ====e = empty====
#NOINDENT #NOINDENT
``e`` = ``empty``: //empty the environment.// ``e`` = ``empty``: //empty the environment (except the command history).//
#TINY #TINY
@@ -281,6 +282,19 @@ but the resulting .gf file must be imported separately.
#NORMAL #NORMAL
#VSPACE
====eh = execute_history====
#NOINDENT
``eh`` = ``execute_history``: //read commands from a file and execute them.//
#TINY
- Syntax: ``eh FILE``
#NORMAL
#VSPACE #VSPACE
====gr = generate_random==== ====gr = generate_random====
@@ -289,7 +303,7 @@ but the resulting .gf file must be imported separately.
#TINY #TINY
Generates a list of random trees, by default one tree. Generates a list of random trees, by default one tree up to depth 5.
If a tree argument is given, the command completes the Tree with values to If a tree argument is given, the command completes the Tree with values to
all metavariables in the tree. The generation can be biased by probabilities, all metavariables in the tree. The generation can be biased by probabilities,
given in a file in the -probs flag. given in a file in the -probs flag.
@@ -301,13 +315,14 @@ given in a file in the -probs flag.
| ``-cat`` | generation category | ``-cat`` | generation category
| ``-lang`` | uses only functions that have linearizations in all these languages | ``-lang`` | uses only functions that have linearizations in all these languages
| ``-number`` | number of trees generated | ``-number`` | number of trees generated
| ``-depth`` | the maximum generation depth | ``-depth`` | the maximum generation depth (default: 5)
| ``-probs`` | file with biased probabilities (format 'f 0.4' one by line) | ``-probs`` | file with biased probabilities (format 'f 0.4' one by line)
- Examples: - Examples:
| ``gr`` | one tree in the startcat of the current grammar | ``gr`` | one tree in the startcat of the current grammar
| ``gr -cat=NP -number=16`` | 16 trees in the category NP | ``gr -cat=NP -number=16`` | 16 trees in the category NP
| ``gr -cat=NP -depth=2`` | one tree in the category NP, up to depth 2
| ``gr -lang=LangHin,LangTha -cat=Cl`` | Cl, both in LangHin and LangTha | ``gr -lang=LangHin,LangTha -cat=Cl`` | Cl, both in LangHin and LangTha
| ``gr -probs=FILE`` | generate with bias | ``gr -probs=FILE`` | generate with bias
| ``gr (AdjCN ? (UseN ?))`` | generate trees of form (AdjCN ? (UseN ?)) | ``gr (AdjCN ? (UseN ?))`` | generate trees of form (AdjCN ? (UseN ?))
@@ -324,8 +339,8 @@ given in a file in the -probs flag.
#TINY #TINY
Generates all trees of a given category. By default, Generates all trees of a given category. By default,
the depth is limited to 4, but this can be changed by a flag. the depth is limited to 5, but this can be changed by a flag.
If a Tree argument is given, the command completes the Tree with values If a Tree argument is given, the command completes the Tree with values
to all metavariables in the tree. to all metavariables in the tree.
@@ -339,7 +354,7 @@ to all metavariables in the tree.
- Examples: - Examples:
| ``gt`` | all trees in the startcat, to depth 4 | ``gt`` | all trees in the startcat, to depth 5
| ``gt -cat=NP -number=16`` | 16 trees in the category NP | ``gt -cat=NP -number=16`` | 16 trees in the category NP
| ``gt -cat=NP -depth=2`` | trees in the category NP to depth 2 | ``gt -cat=NP -depth=2`` | trees in the category NP to depth 2
| ``gt (AdjCN ? (UseN ?))`` | trees of form (AdjCN ? (UseN ?)) | ``gt (AdjCN ? (UseN ?))`` | trees of form (AdjCN ? (UseN ?))
@@ -434,12 +449,14 @@ sequences; see example.
| ``-list`` | show all forms and variants, comma-separated on one line (cf. l -all) | ``-list`` | show all forms and variants, comma-separated on one line (cf. l -all)
| ``-multi`` | linearize to all languages (default) | ``-multi`` | linearize to all languages (default)
| ``-table`` | show all forms labelled by parameters | ``-table`` | show all forms labelled by parameters
| ``-tabtreebank`` | show the tree and its linearizations on a tab-separated line
| ``-treebank`` | show the tree and tag linearizations with language names | ``-treebank`` | show the tree and tag linearizations with language names
| ``-bind`` | bind tokens separated by Prelude.BIND, i.e. &+ | ``-bind`` | bind tokens separated by Prelude.BIND, i.e. &+
| ``-chars`` | lexer that makes every non-space character a token | ``-chars`` | lexer that makes every non-space character a token
| ``-from_amharic`` | from unicode to GF Amharic transliteration | ``-from_amharic`` | from unicode to GF Amharic transliteration
| ``-from_ancientgreek`` | from unicode to GF ancient Greek transliteration | ``-from_ancientgreek`` | from unicode to GF ancient Greek transliteration
| ``-from_arabic`` | from unicode to GF Arabic transliteration | ``-from_arabic`` | from unicode to GF Arabic transliteration
| ``-from_arabic_unvocalized`` | from unicode to GF unvocalized Arabic transliteration
| ``-from_cp1251`` | decode from cp1251 (Cyrillic used in Bulgarian resource) | ``-from_cp1251`` | decode from cp1251 (Cyrillic used in Bulgarian resource)
| ``-from_devanagari`` | from unicode to GF Devanagari transliteration | ``-from_devanagari`` | from unicode to GF Devanagari transliteration
| ``-from_greek`` | from unicode to GF modern Greek transliteration | ``-from_greek`` | from unicode to GF modern Greek transliteration
@@ -453,11 +470,14 @@ sequences; see example.
| ``-from_urdu`` | from unicode to GF Urdu transliteration | ``-from_urdu`` | from unicode to GF Urdu transliteration
| ``-from_utf8`` | decode from utf8 (default) | ``-from_utf8`` | decode from utf8 (default)
| ``-lexcode`` | code-like lexer | ``-lexcode`` | code-like lexer
| ``-lexgreek`` | lexer normalizing ancient Greek accentuation
| ``-lexgreek2`` | lexer normalizing ancient Greek accentuation for text with vowel length annotations
| ``-lexmixed`` | mixture of text and code, as in LaTeX (code between $...$, \(...)\, \[...\]) | ``-lexmixed`` | mixture of text and code, as in LaTeX (code between $...$, \(...)\, \[...\])
| ``-lextext`` | text-like lexer | ``-lextext`` | text-like lexer
| ``-to_amharic`` | from GF Amharic transliteration to unicode | ``-to_amharic`` | from GF Amharic transliteration to unicode
| ``-to_ancientgreek`` | from GF ancient Greek transliteration to unicode | ``-to_ancientgreek`` | from GF ancient Greek transliteration to unicode
| ``-to_arabic`` | from GF Arabic transliteration to unicode | ``-to_arabic`` | from GF Arabic transliteration to unicode
| ``-to_arabic_unvocalized`` | from GF unvocalized Arabic transliteration to unicode
| ``-to_cp1251`` | encode to cp1251 (Cyrillic used in Bulgarian resource) | ``-to_cp1251`` | encode to cp1251 (Cyrillic used in Bulgarian resource)
| ``-to_devanagari`` | from GF Devanagari transliteration to unicode | ``-to_devanagari`` | from GF Devanagari transliteration to unicode
| ``-to_greek`` | from GF modern Greek transliteration to unicode | ``-to_greek`` | from GF modern Greek transliteration to unicode
@@ -473,6 +493,7 @@ sequences; see example.
| ``-to_utf8`` | encode to utf8 (default) | ``-to_utf8`` | encode to utf8 (default)
| ``-unchars`` | unlexer that puts no spaces between tokens | ``-unchars`` | unlexer that puts no spaces between tokens
| ``-unlexcode`` | code-like unlexer | ``-unlexcode`` | code-like unlexer
| ``-unlexgreek`` | unlexer de-normalizing ancient Greek accentuation
| ``-unlexmixed`` | mixture of text and code (code between $...$, \(...)\, \[...\]) | ``-unlexmixed`` | mixture of text and code (code between $...$, \(...)\, \[...\])
| ``-unlextext`` | text-like unlexer | ``-unlextext`` | text-like unlexer
| ``-unwords`` | unlexer that puts a single space between tokens (default) | ``-unwords`` | unlexer that puts a single space between tokens (default)
@@ -513,6 +534,7 @@ trees where a function node is a metavariable.
| ``-from_amharic`` | from unicode to GF Amharic transliteration | ``-from_amharic`` | from unicode to GF Amharic transliteration
| ``-from_ancientgreek`` | from unicode to GF ancient Greek transliteration | ``-from_ancientgreek`` | from unicode to GF ancient Greek transliteration
| ``-from_arabic`` | from unicode to GF Arabic transliteration | ``-from_arabic`` | from unicode to GF Arabic transliteration
| ``-from_arabic_unvocalized`` | from unicode to GF unvocalized Arabic transliteration
| ``-from_cp1251`` | decode from cp1251 (Cyrillic used in Bulgarian resource) | ``-from_cp1251`` | decode from cp1251 (Cyrillic used in Bulgarian resource)
| ``-from_devanagari`` | from unicode to GF Devanagari transliteration | ``-from_devanagari`` | from unicode to GF Devanagari transliteration
| ``-from_greek`` | from unicode to GF modern Greek transliteration | ``-from_greek`` | from unicode to GF modern Greek transliteration
@@ -526,11 +548,14 @@ trees where a function node is a metavariable.
| ``-from_urdu`` | from unicode to GF Urdu transliteration | ``-from_urdu`` | from unicode to GF Urdu transliteration
| ``-from_utf8`` | decode from utf8 (default) | ``-from_utf8`` | decode from utf8 (default)
| ``-lexcode`` | code-like lexer | ``-lexcode`` | code-like lexer
| ``-lexgreek`` | lexer normalizing ancient Greek accentuation
| ``-lexgreek2`` | lexer normalizing ancient Greek accentuation for text with vowel length annotations
| ``-lexmixed`` | mixture of text and code, as in LaTeX (code between $...$, \(...)\, \[...\]) | ``-lexmixed`` | mixture of text and code, as in LaTeX (code between $...$, \(...)\, \[...\])
| ``-lextext`` | text-like lexer | ``-lextext`` | text-like lexer
| ``-to_amharic`` | from GF Amharic transliteration to unicode | ``-to_amharic`` | from GF Amharic transliteration to unicode
| ``-to_ancientgreek`` | from GF ancient Greek transliteration to unicode | ``-to_ancientgreek`` | from GF ancient Greek transliteration to unicode
| ``-to_arabic`` | from GF Arabic transliteration to unicode | ``-to_arabic`` | from GF Arabic transliteration to unicode
| ``-to_arabic_unvocalized`` | from GF unvocalized Arabic transliteration to unicode
| ``-to_cp1251`` | encode to cp1251 (Cyrillic used in Bulgarian resource) | ``-to_cp1251`` | encode to cp1251 (Cyrillic used in Bulgarian resource)
| ``-to_devanagari`` | from GF Devanagari transliteration to unicode | ``-to_devanagari`` | from GF Devanagari transliteration to unicode
| ``-to_greek`` | from GF modern Greek transliteration to unicode | ``-to_greek`` | from GF modern Greek transliteration to unicode
@@ -546,6 +571,7 @@ trees where a function node is a metavariable.
| ``-to_utf8`` | encode to utf8 (default) | ``-to_utf8`` | encode to utf8 (default)
| ``-unchars`` | unlexer that puts no spaces between tokens | ``-unchars`` | unlexer that puts no spaces between tokens
| ``-unlexcode`` | code-like unlexer | ``-unlexcode`` | code-like unlexer
| ``-unlexgreek`` | unlexer de-normalizing ancient Greek accentuation
| ``-unlexmixed`` | mixture of text and code (code between $...$, \(...)\, \[...\]) | ``-unlexmixed`` | mixture of text and code (code between $...$, \(...)\, \[...\])
| ``-unlextext`` | text-like unlexer | ``-unlextext`` | text-like unlexer
| ``-unwords`` | unlexer that puts a single space between tokens (default) | ``-unwords`` | unlexer that puts a single space between tokens (default)
@@ -557,7 +583,7 @@ trees where a function node is a metavariable.
- Examples: - Examples:
| ``l -lang=LangSwe,LangNor -chunks ? a b (? c d)`` | | ``l -lang=LangSwe,LangNor -chunks ? a b (? c d)`` |
#NORMAL #NORMAL
@@ -622,7 +648,7 @@ The -lang flag can be used to restrict this to fewer languages.
The default start category can be overridden by the -cat flag. The default start category can be overridden by the -cat flag.
See also the ps command for lexing and character encoding. See also the ps command for lexing and character encoding.
The -openclass flag is experimental and allows some robustness in The -openclass flag is experimental and allows some robustness in
the parser. For example if -openclass="A,N,V" is given, the parser the parser. For example if -openclass="A,N,V" is given, the parser
will accept unknown adjectives, nouns and verbs with the resource grammar. will accept unknown adjectives, nouns and verbs with the resource grammar.
@@ -666,10 +692,9 @@ command (flag -printer):
fa finite automaton in graphviz format fa finite automaton in graphviz format
gsl Nuance speech recognition format gsl Nuance speech recognition format
haskell Haskell (abstract syntax) haskell Haskell (abstract syntax)
java Java (abstract syntax)
js JavaScript (whole grammar) js JavaScript (whole grammar)
jsgf JSGF speech recognition format jsgf JSGF speech recognition format
lambda_prolog LambdaProlog (abstract syntax)
lp_byte_code Bytecode for Teyjus (abstract syntax, experimental)
pgf_pretty human-readable pgf pgf_pretty human-readable pgf
prolog Prolog (whole grammar) prolog Prolog (whole grammar)
python Python (whole grammar) python Python (whole grammar)
@@ -753,6 +778,7 @@ To see transliteration tables, use command ut.
| ``-from_amharic`` | from unicode to GF Amharic transliteration | ``-from_amharic`` | from unicode to GF Amharic transliteration
| ``-from_ancientgreek`` | from unicode to GF ancient Greek transliteration | ``-from_ancientgreek`` | from unicode to GF ancient Greek transliteration
| ``-from_arabic`` | from unicode to GF Arabic transliteration | ``-from_arabic`` | from unicode to GF Arabic transliteration
| ``-from_arabic_unvocalized`` | from unicode to GF unvocalized Arabic transliteration
| ``-from_cp1251`` | decode from cp1251 (Cyrillic used in Bulgarian resource) | ``-from_cp1251`` | decode from cp1251 (Cyrillic used in Bulgarian resource)
| ``-from_devanagari`` | from unicode to GF Devanagari transliteration | ``-from_devanagari`` | from unicode to GF Devanagari transliteration
| ``-from_greek`` | from unicode to GF modern Greek transliteration | ``-from_greek`` | from unicode to GF modern Greek transliteration
@@ -766,11 +792,14 @@ To see transliteration tables, use command ut.
| ``-from_urdu`` | from unicode to GF Urdu transliteration | ``-from_urdu`` | from unicode to GF Urdu transliteration
| ``-from_utf8`` | decode from utf8 (default) | ``-from_utf8`` | decode from utf8 (default)
| ``-lexcode`` | code-like lexer | ``-lexcode`` | code-like lexer
| ``-lexgreek`` | lexer normalizing ancient Greek accentuation
| ``-lexgreek2`` | lexer normalizing ancient Greek accentuation for text with vowel length annotations
| ``-lexmixed`` | mixture of text and code, as in LaTeX (code between $...$, \(...)\, \[...\]) | ``-lexmixed`` | mixture of text and code, as in LaTeX (code between $...$, \(...)\, \[...\])
| ``-lextext`` | text-like lexer | ``-lextext`` | text-like lexer
| ``-to_amharic`` | from GF Amharic transliteration to unicode | ``-to_amharic`` | from GF Amharic transliteration to unicode
| ``-to_ancientgreek`` | from GF ancient Greek transliteration to unicode | ``-to_ancientgreek`` | from GF ancient Greek transliteration to unicode
| ``-to_arabic`` | from GF Arabic transliteration to unicode | ``-to_arabic`` | from GF Arabic transliteration to unicode
| ``-to_arabic_unvocalized`` | from GF unvocalized Arabic transliteration to unicode
| ``-to_cp1251`` | encode to cp1251 (Cyrillic used in Bulgarian resource) | ``-to_cp1251`` | encode to cp1251 (Cyrillic used in Bulgarian resource)
| ``-to_devanagari`` | from GF Devanagari transliteration to unicode | ``-to_devanagari`` | from GF Devanagari transliteration to unicode
| ``-to_greek`` | from GF modern Greek transliteration to unicode | ``-to_greek`` | from GF modern Greek transliteration to unicode
@@ -786,6 +815,7 @@ To see transliteration tables, use command ut.
| ``-to_utf8`` | encode to utf8 (default) | ``-to_utf8`` | encode to utf8 (default)
| ``-unchars`` | unlexer that puts no spaces between tokens | ``-unchars`` | unlexer that puts no spaces between tokens
| ``-unlexcode`` | code-like unlexer | ``-unlexcode`` | code-like unlexer
| ``-unlexgreek`` | unlexer de-normalizing ancient Greek accentuation
| ``-unlexmixed`` | mixture of text and code (code between $...$, \(...)\, \[...\]) | ``-unlexmixed`` | mixture of text and code (code between $...$, \(...)\, \[...\])
| ``-unlextext`` | text-like unlexer | ``-unlextext`` | text-like unlexer
| ``-unwords`` | unlexer that puts a single space between tokens (default) | ``-unwords`` | unlexer that puts a single space between tokens (default)
@@ -799,13 +829,14 @@ To see transliteration tables, use command ut.
- Examples: - Examples:
| ``l (EAdd 3 4) | ps -code`` | linearize code-like output | ``l (EAdd 3 4) | ps -unlexcode`` | linearize code-like output
| ``ps -lexer=code | p -cat=Exp`` | parse code-like input | ``ps -lexcode | p -cat=Exp`` | parse code-like input
| ``gr -cat=QCl | l | ps -bind`` | linearization output from LangFin | ``gr -cat=QCl | l | ps -bind`` | linearization output from LangFin
| ``ps -to_devanagari "A-p"`` | show Devanagari in UTF8 terminal | ``ps -to_devanagari "A-p"`` | show Devanagari in UTF8 terminal
| ``rf -file=Hin.gf | ps -env=quotes -to_devanagari`` | convert translit to UTF8 | ``rf -file=Hin.gf | ps -env=quotes -to_devanagari`` | convert translit to UTF8
| ``rf -file=Ara.gf | ps -from_utf8 -env=quotes -from_arabic`` | convert UTF8 to transliteration | ``rf -file=Ara.gf | ps -from_utf8 -env=quotes -from_arabic`` | convert UTF8 to transliteration
| ``ps -to=chinese.trans "abc"`` | apply transliteration defined in file chinese.trans | ``ps -to=chinese.trans "abc"`` | apply transliteration defined in file chinese.trans
| ``ps -lexgreek "a)gavoi` a)'nvrwpoi' tines*"`` | normalize ancient greek accentuation
#NORMAL #NORMAL
@@ -828,7 +859,6 @@ are type checking and semantic computation.
- Options: - Options:
| ``-compute`` | compute by using semantic definitions (def) | ``-compute`` | compute by using semantic definitions (def)
| ``-paraphrase`` | paraphrase by using semantic definitions (def)
| ``-largest`` | sort trees from largest to smallest, in number of nodes | ``-largest`` | sort trees from largest to smallest, in number of nodes
| ``-nub`` | remove duplicate trees | ``-nub`` | remove duplicate trees
| ``-smallest`` | sort trees from smallest to largest, in number of nodes | ``-smallest`` | sort trees from smallest to largest, in number of nodes
@@ -838,12 +868,10 @@ are type checking and semantic computation.
- Flags: - Flags:
| ``-number`` | take at most this many trees | ``-number`` | take at most this many trees
| ``-transfer`` | syntactic transfer by applying function, recursively in subtrees
- Examples: - Examples:
| ``pt -compute (plus one two)`` | compute value | ``pt -compute (plus one two)`` | compute value
| ``p "4 dogs love 5 cats" | pt -transfer=digits2numeral | l`` | four...five...
#NORMAL #NORMAL
@@ -990,8 +1018,6 @@ This command requires a source grammar to be in scope, imported with 'import -re
The operations include the parameter constructors that are in scope. The operations include the parameter constructors that are in scope.
The optional TYPE filters according to the value type. The optional TYPE filters according to the value type.
The grep STRINGs filter according to other substrings of the type signatures. The grep STRINGs filter according to other substrings of the type signatures.
This command must be a line of its own, and thus cannot be a part
of a pipe.
- Syntax: ``so (-grep=STRING)* TYPE?`` - Syntax: ``so (-grep=STRING)* TYPE?``
- Options: - Options:
@@ -1002,6 +1028,12 @@ of a pipe.
| ``-grep`` | substring used for filtering (the command can have many of these) | ``-grep`` | substring used for filtering (the command can have many of these)
- Examples:
| ``so Det`` | show all opers that create a Det
| ``so -grep=Prep`` | find opers relating to Prep
| ``so | wf -file=/tmp/opers`` | write the list of opers to a file
#NORMAL #NORMAL
@@ -1113,6 +1145,7 @@ This command must be a line of its own, and thus cannot be a part of a pipe.
| ``-amharic`` | Amharic | ``-amharic`` | Amharic
| ``-ancientgreek`` | ancient Greek | ``-ancientgreek`` | ancient Greek
| ``-arabic`` | Arabic | ``-arabic`` | Arabic
| ``-arabic_unvocalized`` | unvocalized Arabic
| ``-devanagari`` | Devanagari | ``-devanagari`` | Devanagari
| ``-greek`` | modern Greek | ``-greek`` | modern Greek
| ``-hebrew`` | unvocalized Hebrew | ``-hebrew`` | unvocalized Hebrew
@@ -1137,35 +1170,41 @@ This command must be a line of its own, and thus cannot be a part of a pipe.
#TINY #TINY
Prints a dependency tree in the .dot format (the graphviz format, default) Prints a dependency tree in the .dot format (the graphviz format, default)
or LaTeX (flag -output=latex)
or the CoNLL/MaltParser format (flag -output=conll for training, malt_input or the CoNLL/MaltParser format (flag -output=conll for training, malt_input
for unanalysed input). for unanalysed input).
By default, the last argument is the head of every abstract syntax By default, the last argument is the head of every abstract syntax
function; moreover, the head depends on the head of the function above. function; moreover, the head depends on the head of the function above.
The graph can be saved in a file by the wf command as usual. The graph can be saved in a file by the wf command as usual.
If the -view flag is defined, the graph is saved in a temporary file If the -view flag is defined, the graph is saved in a temporary file
which is processed by graphviz and displayed by the program indicated which is processed by dot (graphviz) and displayed by the program indicated
by the flag. The target format is png, unless overridden by the by the view flag. The target format is png, unless overridden by the
flag -format. flag -format. Results from multiple trees are combined to pdf with convert (ImageMagick).
See also 'vp -showdep' for another visualization of dependencies.
- Options: - Options:
| ``-v`` | show extra information | ``-v`` | show extra information
| ``-conll2latex`` | convert conll to latex
- Flags: - Flags:
| ``-file`` | configuration file for labels per fun, format 'fun l1 ... label ... l2' | ``-abslabels`` | abstract configuration file for labels, format per line 'fun label*'
| ``-format`` | format of the visualization file (default "png") | ``-cnclabels`` | concrete configuration file for labels, format per line 'fun {words|*} pos label head'
| ``-output`` | output format of graph source (default "dot") | ``-file`` | same as abslabels (abstract configuration file)
| ``-view`` | program to open the resulting file (default "open") | ``-format`` | format of the visualization file using dot (default "png")
| ``-output`` | output format of graph source (latex, conll, dot (default but deprecated))
| ``-view`` | program to open the resulting graph file (default "open")
| ``-lang`` | the language of analysis | ``-lang`` | the language of analysis
- Examples: - Examples:
| ``gr | vd`` | generate a tree and show dependency tree in .dot | ``gr | vd`` | generate a tree and show dependency tree in .dot
| ``gr | vd -view=open`` | generate a tree and display dependency tree on a Mac | ``gr | vd -view=open`` | generate a tree and display dependency tree on with Mac's 'open'
| ``gr -number=1000 | vd -file=dep.labels -output=malt`` | generate training treebank | ``gr | vd -view=open -output=latex`` | generate a tree and display latex dependency tree with Mac's 'open'
| ``gr -number=100 | vd -file=dep.labels -output=malt_input`` | generate test sentences | ``gr -number=1000 | vd -abslabels=Lang.labels -cnclabels=LangSwe.labels -output=conll`` | generate a random treebank
| ``rf -file=ex.conll | vd -conll2latex | wf -file=ex.tex`` | convert conll file to latex
#NORMAL #NORMAL
@@ -1182,15 +1221,16 @@ flag -format.
Prints a parse tree in the .dot format (the graphviz format). Prints a parse tree in the .dot format (the graphviz format).
The graph can be saved in a file by the wf command as usual. The graph can be saved in a file by the wf command as usual.
If the -view flag is defined, the graph is saved in a temporary file If the -view flag is defined, the graph is saved in a temporary file
which is processed by graphviz and displayed by the program indicated which is processed by dot (graphviz) and displayed by the program indicated
by the flag. The target format is png, unless overridden by the by the view flag. The target format is png, unless overridden by the
flag -format. flag -format. Results from multiple trees are combined to pdf with convert (ImageMagick).
- Options: - Options:
| ``-showcat`` | show categories in the tree nodes (default) | ``-showcat`` | show categories in the tree nodes (default)
| ``-nocat`` | don't show categories | ``-nocat`` | don't show categories
| ``-showdep`` | show dependency labels
| ``-showfun`` | show function names in the tree nodes | ``-showfun`` | show function names in the tree nodes
| ``-nofun`` | don't show function names (default) | ``-nofun`` | don't show function names (default)
| ``-showleaves`` | show the leaves of the tree (default) | ``-showleaves`` | show the leaves of the tree (default)
@@ -1198,6 +1238,8 @@ flag -format.
- Flags: - Flags:
| ``-lang`` | the language to visualize
| ``-file`` | configuration file for dependency labels with -deps, format per line 'fun label*'
| ``-format`` | format of the visualization file (default "png") | ``-format`` | format of the visualization file (default "png")
| ``-view`` | program to open the resulting file (default "open") | ``-view`` | program to open the resulting file (default "open")
| ``-nodefont`` | font for tree nodes (default: Times -- graphviz standard font) | ``-nodefont`` | font for tree nodes (default: Times -- graphviz standard font)
@@ -1210,7 +1252,8 @@ flag -format.
- Examples: - Examples:
| ``p "John walks" | vp`` | generate a tree and show parse tree as .dot script | ``p "John walks" | vp`` | generate a tree and show parse tree as .dot script
| ``gr | vp -view="open"`` | generate a tree and display parse tree on a Mac | ``gr | vp -view=open`` | generate a tree and display parse tree on a Mac
| ``p "she loves us" | vp -view=open -showdep -file=uddeps.labels -nocat`` | show a visual variant of a dependency tree
#NORMAL #NORMAL
@@ -1227,9 +1270,9 @@ flag -format.
Prints a set of trees in the .dot format (the graphviz format). Prints a set of trees in the .dot format (the graphviz format).
The graph can be saved in a file by the wf command as usual. The graph can be saved in a file by the wf command as usual.
If the -view flag is defined, the graph is saved in a temporary file If the -view flag is defined, the graph is saved in a temporary file
which is processed by graphviz and displayed by the program indicated which is processed by dot (graphviz) and displayed by the command indicated
by the flag. The target format is postscript, unless overridden by the by the view flag. The target format is postscript, unless overridden by the
flag -format. flag -format. Results from multiple trees are combined to pdf with convert (ImageMagick).
With option -mk, use for showing library style function names of form 'mkC'. With option -mk, use for showing library style function names of form 'mkC'.
Binary file not shown.
-132
View File
@@ -1,132 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>GF People</title>
<meta charset="UTF-8">
<link rel=stylesheet href="../css/style.css">
<meta name = "viewport" content = "width = device-width">
</head>
<body>
<center>
<IMG SRC="Logos/gf0.png" alt="[GF]">
<h1>Grammatical Framework: Authors and Acknowledgements</h1>
</center>
The current developers and maintainers are
<a href="http://www.chalmers.se/cse/EN/organization/divisions/computing-science/people/angelov-krasimir">Krasimir Angelov</a>,
<a href="http://www.cse.chalmers.se/~hallgren/">Thomas Hallgren</a>,
and
<a href="http://www.cse.chalmers.se/~aarne/">Aarne Ranta</a>. Bug reports should be
posted via the
<a href="http://code.google.com/p/grammatical-framework/issues/list">GF bug tracker</a>.
<p>
Also the following people have contributed code to some of the versions:
<dl>
<dt>Grégoire Détrez (University of Gothenburg)
<dt>Ramona Enache (University of Gothenburg)
<dt>
<a href="http://www.cse.chalmers.se/alumni/bringert">Björn Bringert</a> (University of Gothenburg)
<dt>
Håkan Burden (University of Gothenburg)
<dt>
Hans-Joachim Daniels (Karlsruhe)
<dt>
<a href="http://www.cs.chalmers.se/~markus">Markus Forsberg</a> (Chalmers)
<dt>
<a href="http://www.cs.chalmers.se/~krijo">Kristofer Johannisson</a> (University of Gothenburg)
<dt>
<a href="http://www.cs.chalmers.se/~janna">Janna Khegai</a> (Chalmers)
<dt>
<a href="http://www.cse.chalmers.se/~peb">Peter Ljunglöf</a> (University of Gothenburg)
<dt>
Petri Mäenpää (Nokia)
</dl>
At least the following colleagues are thanked for suggestions,
bug reports, and other indirect contributions to the code. (Notice:
these are early contributors - the list has not been updated since 2004 or so).
<p>
<a href="http://www.di.unito.it/~stefano/">Stefano Berardi</a> (Torino),
Pascal Boldini (Paris),
<a href="http://www.dur.ac.uk/~dcs0pcc/">Paul Callaghan</a> (Durham),
Lauri Carlson (Helsinki),
<a href="http://www.cse.chalmers.se/~koen">Koen Claessen</a> (Chalmers),
<a href="http://www.cling.gu.se/~cooper">Robin Cooper</a> (Gothenburg),
<a href="http://www.cse.chalmers.se/~coquand">Thierry Coquand</a> (Chalmers),
<a
href="http://www.xrce.xerox.com/people/dymetman/dymetman.html">Marc
Dymetman</a> (XRCE),
Bertrand Grégoire (Tudor Institure, Luxembourg),
<a href="http://www.cse.chalmers.se/~reiner">Reiner Hähnle</a> (Chalmers),
<a href="http://pauillac.inria.fr/~huet/">Gérard Huet</a> (INRIA),
<a href="http://www.cse.chalmers.se/~patrikj">Patrik Jansson</a> (Chalmers),
Bernard Jaulin (Paris),
<a href="http://www.xrce.xerox.com/people/karttunen/karttunen.html">
Lauri Karttunen</a> (PARC),
Matti Kinnunen (Nokia),
<a
href="http://www.xrce.xerox.com/people/lux/">Veronika
Lux</a> (XRCE),
Per Martin-Löf (Stockholm),
<a href="http://www.cse.chalmers.se/~bengt">Bengt Nordström</a> (Chalmers),
<a
href="http://www.cis.uni-muenchen.de/studenten/stud_homepages/okrslar/reklame.html">
Martin Okrslar</a> (CIS),
Jianmin Pang (Durham),
<a
href="http://www.xrce.xerox.com/people/pogodalla/index.fr.html">Sylvain
Pogodalla</a> (XRCE),
<a href="http://www.inria.fr/Loic.Pottier">Loïc Pottier</a> (INRIA),
<a href="http://www2.parc.com/istl/members/zaenen/">Annie Zaenen</a> (PARC)
<p>
The GF logo was designed by Uula Ranta.
<p>
From 2001 to 2004, GF enjoyed funding from the
<a href="http://www.vinnova.se">Vinnova</a> foundation, within the
<a href="http://www.cse.chalmers.se/research/group/Language-technology/ILT.html">
Interactive Languge Technology</a> project.
</body>
</html>
+64
View File
@@ -0,0 +1,64 @@
---
title: "Grammatical Framework: Authors and Acknowledgements"
---
## Current maintainers
The current maintainers of GF are
[Krasimir Angelov](http://www.chalmers.se/cse/EN/organization/divisions/computing-science/people/angelov-krasimir),
[Aarne Ranta](http://www.cse.chalmers.se/~aarne/),
[John J. Camilleri](http://johnjcamilleri.com), and
[Inari Listenmaa](https://inariksit.github.io/).
This page is otherwise not up to date.
For detailed data about contributors to the code repositories since 2007, see
[here (gf-core)](https://github.com/GrammaticalFramework/gf-core/graphs/contributors)
and
[here (gf-rgl)](https://github.com/GrammaticalFramework/gf-rgl/graphs/contributors).
## Previous contributors
The following people have contributed code to some of the versions:
- [Thomas Hallgren](http://www.cse.chalmers.se/~hallgren/) (University of Gothenburg)
- Grégoire Détrez (University of Gothenburg)
- Ramona Enache (University of Gothenburg)
- [Björn Bringert](http://www.cse.chalmers.se/alumni/bringert) (University of Gothenburg)
- Håkan Burden (University of Gothenburg)
- Hans-Joachim Daniels (Karlsruhe)
- [Markus Forsberg](http://www.cs.chalmers.se/~markus) (Chalmers)
- [Kristofer Johannisson](http://www.cs.chalmers.se/~krijo) (University of Gothenburg)
- [Janna Khegai](http://www.cs.chalmers.se/~janna) (Chalmers)
- [Peter Ljunglöf](http://www.cse.chalmers.se/~peb) (University of Gothenburg)
- Petri Mäenpää (Nokia)
- Lauri Alanko (University of Helsinki)
At least the following colleagues are thanked for suggestions, bug
reports, and other indirect contributions to the code.
- [Stefano Berardi](http://www.di.unito.it/~stefano/) (Torino)
- Pascal Boldini (Paris)
- [Paul Callaghan](http://www.dur.ac.uk/~dcs0pcc/) (Durham)
- Lauri Carlson (Helsinki)
- [Koen Claessen](http://www.cse.chalmers.se/~koen) (Chalmers)
- [Robin Cooper](http://www.cling.gu.se/~cooper) (Gothenburg)
- [Thierry Coquand](http://www.cse.chalmers.se/~coquand) (Chalmers)
- [Marc Dymetman](http://www.xrce.xerox.com/people/dymetman/dymetman.html) (XRCE)
- Bertrand Grégoire (Tudor Institute, Luxembourg)
- [Reiner Hähnle](http://www.cse.chalmers.se/~reiner) (Chalmers)
- [Gérard Huet](http://pauillac.inria.fr/~huet/) (INRIA)
- [Patrik Jansson](http://www.cse.chalmers.se/~patrikj) (Chalmers)
- Bernard Jaulin (Paris)
- [Lauri Karttunen](http://www.xrce.xerox.com/people/karttunen/karttunen.html) (PARC)
- Matti Kinnunen (Nokia)
- [Veronika Lux](http://www.xrce.xerox.com/people/lux/) (XRCE)
- Per Martin-Löf (Stockholm)
- [Bengt Nordström](http://www.cse.chalmers.se/~bengt) (Chalmers)
- [Martin Okrslar](http://www.cis.uni-muenchen.de/studenten/stud_homepages/okrslar/reklame.html) (CIS)
- Jianmin Pang (Durham)
- [Sylvain Pogodalla](http://www.xrce.xerox.com/people/pogodalla/index.fr.html) (XRCE)
- [Loïc Pottier](http://www.inria.fr/Loic.Pottier) (INRIA)
- [Annie Zaenen](http://www2.parc.com/istl/members/zaenen/) (PARC)
The GF logo was designed by Uula Ranta.
-158
View File
@@ -1,158 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>GF Quickstart</title>
<link rel=stylesheet href="../css/style.css">
<meta name = "viewport" content = "width = device-width">
</head>
<body>
<center>
<img src="Logos/gf0.png">
<p>
Aarne Ranta
<p>
October 2011 for GF 3.3
<p>
<h1>Grammatical Framework Quick Start</h1>
</center>
This Quick Start shows a few examples of how GF can be used.
We assume that you have downloaded and installed GF, so that
the command <tt>gf</tt> works for you. See download and install
instructions <a href="../download/index.html">here</a>.
<h2>Want to try without downloading?</h2>
<a href="../demos/phrasebook/">Using GF translation</a> with an existing grammar.
<p>
<a href="../demos/gfse/">Writing GF grammars</a> in the cloud, without installing GF.
<h2>Using GF for translation and generation</h2>
When you have downloaded and installed GF:
<ol>
<li> Copy the files
<a href="../examples/tutorial/food/Food.gf"><tt>Food.gf</tt></a>,
<a href="../examples/tutorial/food/FoodEng.gf"><tt>FoodEng.gf</tt></a>, and
<a href="../examples/tutorial/food/FoodIta.gf"><tt>FoodIta.gf</tt></a>.
Or go to <tt>GF/examples/tutorial/food/</tt>, if you have downloaded the
GF sources.
<li> Start GF with the shell command (without the prompt <tt>$</tt>)
<pre>
$ gf FoodIta.gf FoodEng.gf
</pre>
Alternatively, start GF with <tt>gf</tt> and give the GF command <tt>import FoodIta.gf FoodEng.gf</tt>.
<li> <b>Translation</b>. Try your first translation by giving the GF command
<pre>
parse "this cheese is very very Italian" | linearize
</pre>
Notice that the parser accept the tabulator for word completion.
<li> <b>Generation</b>. Random-generate sentences in two languages:
<pre>
generate_random | linearize
</pre>
<li> <b>Other commands</b>. Use the help command
<pre>
help
</pre>
<li> <b>More examples</b>. Go to <tt>GF/examples/phrasebook</tt> or some other
subdirectory of <tt>GF/examples/</tt>. Or try a resource grammar by, for instance,
<pre>
import alltenses/LangEng.gfo alltenses/LangGer.gfo
parse -lang=Eng "I love you" | linearize -treebank
</pre>
The resource grammars are found relative to the value of <tt>GF_LIB_PATH</tt>, which
you may have to set; see <a href="../download/index.html">here</a> for instructions.
</ol>
<h2>Grammar development</h2>
Add words to the <tt>Food</tt>
grammars and try the above commands again. For instance, add the following lines:
<pre>
Bread : Kind ; -- in Food.gf
Bread = {s = "bread"} ; -- in FoodEng.gf
Bread = {s = "pane"} ; -- in FoodIta.gf
</pre>
and start GF again with the same command. Now you can even translate
<i>this bread is very Italian</i>.
</ol>
To lear more on GF commands and
grammar development, go to the one of the tutorials:
<ul>
<li> <a href="tutorial/gf-tutorial.html">GF Tutorial</a>: older, more programmer-oriented
<li> <a href="gf-lrec-2010.pdf">GF Resource Tutorial</a>: newer, more linguist-oriented
</ul>
To learn about how GF is used for easily writing grammars for 16 languages, consult the
<ul>
<li> <a href="../lib/doc/synopsis.html">GF Resource Grammar Library</a>.
</ul>
<h2>Run-time grammars and web applications</h2>
GF has its own "machine language", PGF (Portable Grammar Format),
which is recommended for use in applications at run time. To produce a PGF file from
the two grammars above, do
<pre>
gf -make FoodIta.gf FoodEng.gf
wrote Food.pgf
</pre>
You can use this in Haskell and Java programs, and also on web services, such as
<ul>
<li> the
<a href="http://cloud.grammaticalframework.org/minibar/minibar.html">minibar</a>
fridge magnets
</ul>
The quickest way to provide a GF web service is to start GF with the <tt>-server</tt> option:
<pre>
$ gf -server
This is GF version 3.3
Built on linux/i386 with ghc-7.0, flags: interrupt server cclazy
Document root = /usr/local/share/gf-3.3/www
Starting HTTP server, open http://localhost:41296/ in your web browser.
</pre>
You can view it locally by pointing your
browser to the URL shown. You can add your own <tt>.pgf</tt> grammar to the service by
copying it over to the <tt>documentRoot</tt> directory. Just push "reload" in
your browser after each such update.
<p>
To build more customized web application, consult the
<a href="http://code.google.com/p/grammatical-framework/wiki/SideBar?tm=6">developer wiki</a>.
<h2>User group</h2>
You are welcome to join the <A HREF="http://groups.google.com/group/gf-dev">User Group</A>
to get help and discuss GF-related issues!
</body></html>
-664
View File
@@ -1,664 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.org">
<LINK REL="stylesheet" TYPE="text/css" HREF="../css/style.css">
<meta name = "viewport" content = "width = device-width"><TITLE>GF Quick Reference</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<CENTER>
<H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>GF Quick Reference</H1>
<FONT SIZE="4"><I>Aarne Ranta</I></FONT><BR>
<FONT SIZE="4">April 4, 2006</FONT>
</CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">A complete example</A>
<LI><A HREF="#toc2">Modules and files</A>
<LI><A HREF="#toc3">Judgements</A>
<LI><A HREF="#toc4">Types</A>
<LI><A HREF="#toc5">Expressions</A>
<LI><A HREF="#toc6">Pattern matching</A>
<LI><A HREF="#toc7">Sample library functions</A>
<LI><A HREF="#toc8">Flags</A>
<LI><A HREF="#toc9">File paths</A>
<LI><A HREF="#toc10">Alternative grammar formats</A>
<LI><A HREF="#toc11">References</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
This is a quick reference on GF grammars. It aims to
cover all forms of expression available when writing
grammars. It assumes basic knowledge of GF, which
can be acquired from the
<A HREF="http://www.grammaticalframework.org/doc/tutorial/gf-tutorial.html">GF Tutorial</A>.
Help on GF commands is obtained on line by the
help command (<CODE>help</CODE>), and help on invoking
GF with (<CODE>gf -help</CODE>).
</P>
<A NAME="toc1"></A>
<H3>A complete example</H3>
<P>
This is a complete example of a GF grammar divided
into three modules in files. The grammar recognizes the
phrases <I>one pizza</I> and <I>two pizzas</I>.
</P>
<P>
File <CODE>Order.gf</CODE>:
</P>
<PRE>
abstract Order = {
cat
Order ;
Item ;
fun
One, Two : Item -&gt; Order ;
Pizza : Item ;
}
</PRE>
<P>
File <CODE>OrderEng.gf</CODE> (the top file):
</P>
<PRE>
--# -path=.:prelude
concrete OrderEng of Order =
open Res, Prelude in {
flags startcat=Order ;
lincat
Order = SS ;
Item = {s : Num =&gt; Str} ;
lin
One it = ss ("one" ++ it.s ! Sg) ;
Two it = ss ("two" ++ it.s ! Pl) ;
Pizza = regNoun "pizza" ;
}
</PRE>
<P>
File <CODE>Res.gf</CODE>:
</P>
<PRE>
resource Res = open Prelude in {
param Num = Sg | Pl ;
oper regNoun : Str -&gt; {s : Num =&gt; Str} =
\dog -&gt; {s = table {
Sg =&gt; dog ;
_ =&gt; dog + "s"
}
} ;
}
</PRE>
<P>
To use this example, do
</P>
<PRE>
% gf -- in shell: start GF
&gt; i OrderEng.gf -- in GF: import grammar
&gt; p "one pizza" -- parse string
&gt; l Two Pizza -- linearize tree
</PRE>
<A NAME="toc2"></A>
<H3>Modules and files</H3>
<P>
One module per file.
File named <CODE>Foo.gf</CODE> contains module named
<CODE>Foo</CODE>.
</P>
<P>
Each module has the structure
</P>
<PRE>
moduletypename =
Inherits ** -- optional
open Opens in -- optional
{ Judgements }
</PRE>
<P>
Inherits are names of modules of the same type.
Inheritance can be restricted:
</P>
<PRE>
Mo[f,g], -- inherit only f,g from Mo
Lo-[f,g] -- inheris all but f,g from Lo
</PRE>
<P>
Opens are possible in <CODE>concrete</CODE> and <CODE>resource</CODE>.
They are names of modules of these two types, possibly
qualified:
</P>
<PRE>
(M = Mo), -- refer to f as M.f or Mo.f
(Lo = Lo) -- refer to f as Lo.f
</PRE>
<P>
Module types and judgements in them:
</P>
<PRE>
abstract A -- cat, fun, def, data
concrete C of A -- lincat, lin, lindef, printname
resource R -- param, oper
interface I -- like resource, but can have
oper f : T without definition
instance J of I -- like resource, defines opers
that I leaves undefined
incomplete -- functor: concrete that opens
concrete CI of A = one or more interfaces
open I in ...
concrete CJ of A = -- completion: concrete that
CI with instantiates a functor by
(I = J) instances of open interfaces
</PRE>
<P>
The forms
<CODE>param</CODE>, <CODE>oper</CODE>
may appear in <CODE>concrete</CODE> as well, but are then
not inherited to extensions.
</P>
<P>
All modules can moreover have <CODE>flags</CODE> and comments.
Comments have the forms
</P>
<PRE>
-- till the end of line
{- any number of lines between -}
--# used for compiler pragmas
</PRE>
<P>
A <CODE>concrete</CODE> can be opened like a <CODE>resource</CODE>.
It is translated as follows:
</P>
<PRE>
cat C ---&gt; oper C : Type =
lincat C = T T ** {lock_C : {}}
fun f : G -&gt; C ---&gt; oper f : A* -&gt; C* = \g -&gt;
lin f = t t g ** {lock_C = &lt;&gt;}
</PRE>
<P>
An <CODE>abstract</CODE> can be opened like an <CODE>interface</CODE>.
Any <CODE>concrete</CODE> of it then works as an <CODE>instance</CODE>.
</P>
<A NAME="toc3"></A>
<H3>Judgements</H3>
<PRE>
cat C -- declare category C
cat C (x:A)(y:B x) -- dependent category C
cat C A B -- same as C (x : A)(y : B)
fun f : T -- declare function f of type T
def f = t -- define f as t
def f p q = t -- define f by pattern matching
data C = f | g -- set f,g as constructors of C
data f : A -&gt; C -- same as
fun f : A -&gt; C; data C=f
lincat C = T -- define lin.type of cat C
lin f = t -- define lin. of fun f
lin f x y = t -- same as lin f = \x y -&gt; t
lindef C = \s -&gt; t -- default lin. of cat C
printname fun f = s -- printname shown in menus
printname cat C = s -- printname shown in menus
printname f = s -- same as printname fun f = s
param P = C | D Q R -- define parameter type P
with constructors
C : P, D : Q -&gt; R -&gt; P
oper h : T = t -- define oper h of type T
oper h = t -- omit type, if inferrable
flags p=v -- set value of flag p
</PRE>
<P>
Judgements are terminated by semicolons (<CODE>;</CODE>).
Subsequent judgments of the same form may share the
keyword:
</P>
<PRE>
cat C ; D ; -- same as cat C ; cat D ;
</PRE>
<P>
Judgements can also share RHS:
</P>
<PRE>
fun f,g : A -- same as fun f : A ; g : A
</PRE>
<A NAME="toc4"></A>
<H3>Types</H3>
<P>
Abstract syntax (in <CODE>fun</CODE>):
</P>
<PRE>
C -- basic type, if cat C
C a b -- basic type for dep. category
(x : A) -&gt; B -- dep. functions from A to B
(_ : A) -&gt; B -- nondep. functions from A to B
(p,q : A) -&gt; B -- same as (p : A)-&gt; (q : A) -&gt; B
A -&gt; B -- same as (_ : A) -&gt; B
Int -- predefined integer type
Float -- predefined float type
String -- predefined string type
</PRE>
<P>
Concrete syntax (in <CODE>lincat</CODE>):
</P>
<PRE>
Str -- token lists
P -- parameter type, if param P
P =&gt; B -- table type, if P param. type
{s : Str ; p : P}-- record type
{s,t : Str} -- same as {s : Str ; t : Str}
{a : A} **{b : B}-- record type extension, same as
{a : A ; b : B}
A * B * C -- tuple type, same as
{p1 : A ; p2 : B ; p3 : C}
Ints n -- type of n first integers
</PRE>
<P>
Resource (in <CODE>oper</CODE>): all those of concrete, plus
</P>
<PRE>
Tok -- tokens (subtype of Str)
A -&gt; B -- functions from A to B
Int -- integers
Strs -- list of prefixes (for pre)
PType -- parameter type
Type -- any type
</PRE>
<P>
As parameter types, one can use any finite type:
<CODE>P</CODE> defined in <CODE>param P</CODE>,
<CODE>Ints n</CODE>, and record types of parameter types.
</P>
<A NAME="toc5"></A>
<H3>Expressions</H3>
<P>
Syntax trees = full function applications
</P>
<PRE>
f a b -- : C if fun f : A -&gt; B -&gt; C
1977 -- : Int
3.14 -- : Float
"foo" -- : String
</PRE>
<P>
Higher-Order Abstract syntax (HOAS): functions as arguments:
</P>
<PRE>
F a (\x -&gt; c) -- : C if a : A, c : C (x : B),
fun F : A -&gt; (B -&gt; C) -&gt; C
</PRE>
<P>
Tokens and token lists
</P>
<PRE>
"hello" -- : Tok, singleton Str
"hello" ++ "world" -- : Str
["hello world"] -- : Str, same as "hello" ++ "world"
"hello" + "world" -- : Tok, computes to "helloworld"
[] -- : Str, empty list
</PRE>
<P>
Parameters
</P>
<PRE>
Sg -- atomic constructor
VPres Sg P2 -- applied constructor
{n = Sg ; p = P3} -- record of parameters
</PRE>
<P>
Tables
</P>
<PRE>
table { -- by full branches
Sg =&gt; "mouse" ;
Pl =&gt; "mice"
}
table { -- by pattern matching
Pl =&gt; "mice" ;
_ =&gt; "mouse" -- wildcard pattern
}
table {
n =&gt; regn n "cat" -- variable pattern
}
table Num {...} -- table given with arg. type
table ["ox"; "oxen"] -- table as course of values
\\_ =&gt; "fish" -- same as table {_ =&gt; "fish"}
\\p,q =&gt; t -- same as \\p =&gt; \\q =&gt; t
t ! p -- select p from table t
case e of {...} -- same as table {...} ! e
</PRE>
<P>
Records
</P>
<PRE>
{s = "Liz"; g = Fem} -- record in full form
{s,t = "et"} -- same as {s = "et";t= "et"}
{s = "Liz"} ** -- record extension: same as
{g = Fem} {s = "Liz" ; g = Fem}
&lt;a,b,c&gt; -- tuple, same as {p1=a;p2=b;p3=c}
</PRE>
<P>
Functions
</P>
<PRE>
\x -&gt; t -- lambda abstract
\x,y -&gt; t -- same as \x -&gt; \y -&gt; t
\x,_ -&gt; t -- binding not in t
</PRE>
<P>
Local definitions
</P>
<PRE>
let x : A = d in t -- let definition
let x = d in t -- let defin, type inferred
let x=d ; y=e in t -- same as
let x=d in let y=e in t
let {...} in t -- same as let ... in t
t where {...} -- same as let ... in t
</PRE>
<P>
Free variation
</P>
<PRE>
variants {x ; y} -- both x and y possible
variants {} -- nothing possible
</PRE>
<P>
Prefix-dependent choices
</P>
<PRE>
pre {"a" ; "an" / v} -- "an" before v, "a" otherw.
strs {"a" ; "i" ;"o"}-- list of condition prefixes
</PRE>
<P>
Typed expression
</P>
<PRE>
&lt;t:T&gt; -- same as t, to help type inference
</PRE>
<P>
Accessing bound variables in <CODE>lin</CODE>: use fields <CODE>$1, $2, $3,...</CODE>.
Example:
</P>
<PRE>
fun F : (A : Set) -&gt; (El A -&gt; Prop) -&gt; Prop ;
lin F A B = {s = ["for all"] ++ A.s ++ B.$1 ++ B.s}
</PRE>
<A NAME="toc6"></A>
<H3>Pattern matching</H3>
<P>
These patterns can be used in branches of <CODE>table</CODE> and
<CODE>case</CODE> expressions. Patterns are matched in the order in
which they appear in the grammar.
</P>
<PRE>
C -- atomic param constructor
C p q -- param constr. applied to patterns
x -- variable, matches anything
_ -- wildcard, matches anything
"foo" -- string
56 -- integer
{s = p ; y = q} -- record, matches extensions too
&lt;p,q&gt; -- tuple, same as {p1=p ; p2=q}
p | q -- disjunction, binds to first match
x@p -- binds x to what p matches
- p -- negation
p + "s" -- sequence of two string patterns
p* -- repetition of a string pattern
</PRE>
<A NAME="toc7"></A>
<H3>Sample library functions</H3>
<PRE>
-- lib/prelude/Predef.gf
drop : Int -&gt; Tok -&gt; Tok -- drop prefix of length
take : Int -&gt; Tok -&gt; Tok -- take prefix of length
tk : Int -&gt; Tok -&gt; Tok -- drop suffix of length
dp : Int -&gt; Tok -&gt; Tok -- take suffix of length
occur : Tok -&gt; Tok -&gt; PBool -- test if substring
occurs : Tok -&gt; Tok -&gt; PBool -- test if any char occurs
show : (P:Type) -&gt; P -&gt;Tok -- param to string
read : (P:Type) -&gt; Tok-&gt; P -- string to param
toStr : (L:Type) -&gt; L -&gt;Str -- find "first" string
-- lib/prelude/Prelude.gf
param Bool = True | False
oper
SS : Type -- the type {s : Str}
ss : Str -&gt; SS -- construct SS
cc2 : (_,_ : SS) -&gt; SS -- concat SS's
optStr : Str -&gt; Str -- string or empty
strOpt : Str -&gt; Str -- empty or string
bothWays : Str -&gt; Str -&gt; Str -- X++Y or Y++X
init : Tok -&gt; Tok -- all but last char
last : Tok -&gt; Tok -- last char
prefixSS : Str -&gt; SS -&gt; SS
postfixSS : Str -&gt; SS -&gt; SS
infixSS : Str -&gt; SS -&gt; SS -&gt; SS
if_then_else : (A : Type) -&gt; Bool -&gt; A -&gt; A -&gt; A
if_then_Str : Bool -&gt; Str -&gt; Str -&gt; Str
</PRE>
<A NAME="toc8"></A>
<H3>Flags</H3>
<P>
Flags can appear, with growing priority,
</P>
<UL>
<LI>in files, judgement <CODE>flags</CODE> and without dash (<CODE>-</CODE>)
<LI>as flags to <CODE>gf</CODE> when invoked, with dash
<LI>as flags to various GF commands, with dash
</UL>
<P>
Some common flags used in grammars:
</P>
<PRE>
startcat=cat use this category as default
lexer=literals int and string literals recognized
lexer=code like program code
lexer=text like text: spacing, capitals
lexer=textlit text, unknowns as string lits
unlexer=code like program code
unlexer=codelit code, remove string lit quotes
unlexer=text like text: punctuation, capitals
unlexer=textlit text, remove string lit quotes
unlexer=concat remove all spaces
unlexer=bind remove spaces around "&amp;+"
optimize=all_subs best for almost any concrete
optimize=values good for lexicon concrete
optimize=all usually good for resource
optimize=noexpand for resource, if =all too big
</PRE>
<P>
For the full set of values for <CODE>FLAG</CODE>,
use on-line <CODE>h -FLAG</CODE>.
</P>
<A NAME="toc9"></A>
<H3>File paths</H3>
<P>
Colon-separated lists of directories searched in the
given order:
</P>
<PRE>
--# -path=.:../abstract:../common:prelude
</PRE>
<P>
This can be (in order of growing preference), as
first line in the top file, as flag to <CODE>gf</CODE>
when invoked, or as flag to the <CODE>i</CODE> command.
The prefix <CODE>--#</CODE> is used only in files.
</P>
<P>
If the environment variabls <CODE>GF_LIB_PATH</CODE> is defined, its
value is automatically prefixed to each directory to
extend the original search path.
</P>
<A NAME="toc10"></A>
<H3>Alternative grammar formats</H3>
<P>
<B>Old GF</B> (before GF 2.0):
all judgements in any kinds of modules,
division into files uses <CODE>include</CODE>s.
A file <CODE>Foo.gf</CODE> is recognized as the old format
if it lacks a module header.
</P>
<P>
<B>Context-free</B> (file <CODE>foo.cf</CODE>). The form of rules is e.g.
</P>
<PRE>
Fun. S ::= NP "is" AP ;
</PRE>
<P>
If <CODE>Fun</CODE> is omitted, it is generated automatically.
Rules must be one per line. The RHS can be empty.
</P>
<P>
<B>Extended BNF</B> (file <CODE>foo.ebnf</CODE>). The form of rules is e.g.
</P>
<PRE>
S ::= (NP+ ("is" | "was") AP | V NP*) ;
</PRE>
<P>
where the RHS is a regular expression of categories
and quoted tokens: <CODE>"foo", CAT, T U, T|U, T*, T+, T?</CODE>, or empty.
Rule labels are generated automatically.
</P>
<P>
<B>Probabilistic grammars</B> (not a separate format).
You can set the probability of a function <CODE>f</CODE> (in its value category) by
</P>
<PRE>
--# prob f 0.009
</PRE>
<P>
These are put into a file given to GF using the <CODE>probs=File</CODE> flag
on command line. This file can be the grammar file itself.
</P>
<P>
<B>Example-based grammars</B> (file <CODE>foo.gfe</CODE>). Expressions of the form
</P>
<PRE>
in Cat "example string"
</PRE>
<P>
are preprocessed by using a parser given by the flag
</P>
<PRE>
--# -resource=File
</PRE>
<P>
and the result is written to <CODE>foo.gf</CODE>.
</P>
<A NAME="toc11"></A>
<H3>References</H3>
<P>
<A HREF="http://www.grammaticalframework.org/">GF Homepage</A>
</P>
<P>
A. Ranta, Grammatical Framework: A Type-Theoretical Grammar Formalism.
<I>The Journal of Functional Programming</I>, vol. 14:2. 2004, pp. 145-189.
</P>
<!-- html code generated by txt2tags 2.6 (http://txt2tags.org) -->
<!-- cmdline: txt2tags -thtml ./doc/gf-reference.t2t -->
</BODY></HTML>
Binary file not shown.
-481
View File
@@ -1,481 +0,0 @@
GF Quick Reference
Aarne Ranta
April 4, 2006
% NOTE: this is a txt2tags file.
% Create an html file from this file using:
% txt2tags -thtml gf-reference.t2t
%!style:../css/style.css
%!target:html
%!options: --toc
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
This is a quick reference on GF grammars. It aims to
cover all forms of expression available when writing
grammars. It assumes basic knowledge of GF, which
can be acquired from the
[GF Tutorial http://www.grammaticalframework.org/doc/tutorial/gf-tutorial.html].
Help on GF commands is obtained on line by the
help command (``help``), and help on invoking
GF with (``gf -help``).
===A complete example===
This is a complete example of a GF grammar divided
into three modules in files. The grammar recognizes the
phrases //one pizza// and //two pizzas//.
File ``Order.gf``:
```
abstract Order = {
cat
Order ;
Item ;
fun
One, Two : Item -> Order ;
Pizza : Item ;
}
```
File ``OrderEng.gf`` (the top file):
```
--# -path=.:prelude
concrete OrderEng of Order =
open Res, Prelude in {
flags startcat=Order ;
lincat
Order = SS ;
Item = {s : Num => Str} ;
lin
One it = ss ("one" ++ it.s ! Sg) ;
Two it = ss ("two" ++ it.s ! Pl) ;
Pizza = regNoun "pizza" ;
}
```
File ``Res.gf``:
```
resource Res = open Prelude in {
param Num = Sg | Pl ;
oper regNoun : Str -> {s : Num => Str} =
\dog -> {s = table {
Sg => dog ;
_ => dog + "s"
}
} ;
}
```
To use this example, do
```
% gf -- in shell: start GF
> i OrderEng.gf -- in GF: import grammar
> p "one pizza" -- parse string
> l Two Pizza -- linearize tree
```
===Modules and files===
One module per file.
File named ``Foo.gf`` contains module named
``Foo``.
Each module has the structure
```
moduletypename =
Inherits ** -- optional
open Opens in -- optional
{ Judgements }
```
Inherits are names of modules of the same type.
Inheritance can be restricted:
```
Mo[f,g], -- inherit only f,g from Mo
Lo-[f,g] -- inheris all but f,g from Lo
```
Opens are possible in ``concrete`` and ``resource``.
They are names of modules of these two types, possibly
qualified:
```
(M = Mo), -- refer to f as M.f or Mo.f
(Lo = Lo) -- refer to f as Lo.f
```
Module types and judgements in them:
```
abstract A -- cat, fun, def, data
concrete C of A -- lincat, lin, lindef, printname
resource R -- param, oper
interface I -- like resource, but can have
oper f : T without definition
instance J of I -- like resource, defines opers
that I leaves undefined
incomplete -- functor: concrete that opens
concrete CI of A = one or more interfaces
open I in ...
concrete CJ of A = -- completion: concrete that
CI with instantiates a functor by
(I = J) instances of open interfaces
```
The forms
``param``, ``oper``
may appear in ``concrete`` as well, but are then
not inherited to extensions.
All modules can moreover have ``flags`` and comments.
Comments have the forms
```
-- till the end of line
{- any number of lines between -}
--# used for compiler pragmas
```
A ``concrete`` can be opened like a ``resource``.
It is translated as follows:
```
cat C ---> oper C : Type =
lincat C = T T ** {lock_C : {}}
fun f : G -> C ---> oper f : A* -> C* = \g ->
lin f = t t g ** {lock_C = <>}
```
An ``abstract`` can be opened like an ``interface``.
Any ``concrete`` of it then works as an ``instance``.
===Judgements===
```
cat C -- declare category C
cat C (x:A)(y:B x) -- dependent category C
cat C A B -- same as C (x : A)(y : B)
fun f : T -- declare function f of type T
def f = t -- define f as t
def f p q = t -- define f by pattern matching
data C = f | g -- set f,g as constructors of C
data f : A -> C -- same as
fun f : A -> C; data C=f
lincat C = T -- define lin.type of cat C
lin f = t -- define lin. of fun f
lin f x y = t -- same as lin f = \x y -> t
lindef C = \s -> t -- default lin. of cat C
printname fun f = s -- printname shown in menus
printname cat C = s -- printname shown in menus
printname f = s -- same as printname fun f = s
param P = C | D Q R -- define parameter type P
with constructors
C : P, D : Q -> R -> P
oper h : T = t -- define oper h of type T
oper h = t -- omit type, if inferrable
flags p=v -- set value of flag p
```
Judgements are terminated by semicolons (``;``).
Subsequent judgments of the same form may share the
keyword:
```
cat C ; D ; -- same as cat C ; cat D ;
```
Judgements can also share RHS:
```
fun f,g : A -- same as fun f : A ; g : A
```
===Types===
Abstract syntax (in ``fun``):
```
C -- basic type, if cat C
C a b -- basic type for dep. category
(x : A) -> B -- dep. functions from A to B
(_ : A) -> B -- nondep. functions from A to B
(p,q : A) -> B -- same as (p : A)-> (q : A) -> B
A -> B -- same as (_ : A) -> B
Int -- predefined integer type
Float -- predefined float type
String -- predefined string type
```
Concrete syntax (in ``lincat``):
```
Str -- token lists
P -- parameter type, if param P
P => B -- table type, if P param. type
{s : Str ; p : P}-- record type
{s,t : Str} -- same as {s : Str ; t : Str}
{a : A} **{b : B}-- record type extension, same as
{a : A ; b : B}
A * B * C -- tuple type, same as
{p1 : A ; p2 : B ; p3 : C}
Ints n -- type of n first integers
```
Resource (in ``oper``): all those of concrete, plus
```
Tok -- tokens (subtype of Str)
A -> B -- functions from A to B
Int -- integers
Strs -- list of prefixes (for pre)
PType -- parameter type
Type -- any type
```
As parameter types, one can use any finite type:
``P`` defined in ``param P``,
``Ints n``, and record types of parameter types.
===Expressions===
Syntax trees = full function applications
```
f a b -- : C if fun f : A -> B -> C
1977 -- : Int
3.14 -- : Float
"foo" -- : String
```
Higher-Order Abstract syntax (HOAS): functions as arguments:
```
F a (\x -> c) -- : C if a : A, c : C (x : B),
fun F : A -> (B -> C) -> C
```
Tokens and token lists
```
"hello" -- : Tok, singleton Str
"hello" ++ "world" -- : Str
["hello world"] -- : Str, same as "hello" ++ "world"
"hello" + "world" -- : Tok, computes to "helloworld"
[] -- : Str, empty list
```
Parameters
```
Sg -- atomic constructor
VPres Sg P2 -- applied constructor
{n = Sg ; p = P3} -- record of parameters
```
Tables
```
table { -- by full branches
Sg => "mouse" ;
Pl => "mice"
}
table { -- by pattern matching
Pl => "mice" ;
_ => "mouse" -- wildcard pattern
}
table {
n => regn n "cat" -- variable pattern
}
table Num {...} -- table given with arg. type
table ["ox"; "oxen"] -- table as course of values
\\_ => "fish" -- same as table {_ => "fish"}
\\p,q => t -- same as \\p => \\q => t
t ! p -- select p from table t
case e of {...} -- same as table {...} ! e
```
Records
```
{s = "Liz"; g = Fem} -- record in full form
{s,t = "et"} -- same as {s = "et";t= "et"}
{s = "Liz"} ** -- record extension: same as
{g = Fem} {s = "Liz" ; g = Fem}
<a,b,c> -- tuple, same as {p1=a;p2=b;p3=c}
```
Functions
```
\x -> t -- lambda abstract
\x,y -> t -- same as \x -> \y -> t
\x,_ -> t -- binding not in t
```
Local definitions
```
let x : A = d in t -- let definition
let x = d in t -- let defin, type inferred
let x=d ; y=e in t -- same as
let x=d in let y=e in t
let {...} in t -- same as let ... in t
t where {...} -- same as let ... in t
```
Free variation
```
variants {x ; y} -- both x and y possible
variants {} -- nothing possible
```
Prefix-dependent choices
```
pre {"a" ; "an" / v} -- "an" before v, "a" otherw.
strs {"a" ; "i" ;"o"}-- list of condition prefixes
```
Typed expression
```
<t:T> -- same as t, to help type inference
```
Accessing bound variables in ``lin``: use fields ``$1, $2, $3,...``.
Example:
```
fun F : (A : Set) -> (El A -> Prop) -> Prop ;
lin F A B = {s = ["for all"] ++ A.s ++ B.$1 ++ B.s}
```
===Pattern matching===
These patterns can be used in branches of ``table`` and
``case`` expressions. Patterns are matched in the order in
which they appear in the grammar.
```
C -- atomic param constructor
C p q -- param constr. applied to patterns
x -- variable, matches anything
_ -- wildcard, matches anything
"foo" -- string
56 -- integer
{s = p ; y = q} -- record, matches extensions too
<p,q> -- tuple, same as {p1=p ; p2=q}
p | q -- disjunction, binds to first match
x@p -- binds x to what p matches
- p -- negation
p + "s" -- sequence of two string patterns
p* -- repetition of a string pattern
```
===Sample library functions===
```
-- lib/prelude/Predef.gf
drop : Int -> Tok -> Tok -- drop prefix of length
take : Int -> Tok -> Tok -- take prefix of length
tk : Int -> Tok -> Tok -- drop suffix of length
dp : Int -> Tok -> Tok -- take suffix of length
occur : Tok -> Tok -> PBool -- test if substring
occurs : Tok -> Tok -> PBool -- test if any char occurs
show : (P:Type) -> P ->Tok -- param to string
read : (P:Type) -> Tok-> P -- string to param
toStr : (L:Type) -> L ->Str -- find "first" string
-- lib/prelude/Prelude.gf
param Bool = True | False
oper
SS : Type -- the type {s : Str}
ss : Str -> SS -- construct SS
cc2 : (_,_ : SS) -> SS -- concat SS's
optStr : Str -> Str -- string or empty
strOpt : Str -> Str -- empty or string
bothWays : Str -> Str -> Str -- X++Y or Y++X
init : Tok -> Tok -- all but last char
last : Tok -> Tok -- last char
prefixSS : Str -> SS -> SS
postfixSS : Str -> SS -> SS
infixSS : Str -> SS -> SS -> SS
if_then_else : (A : Type) -> Bool -> A -> A -> A
if_then_Str : Bool -> Str -> Str -> Str
```
===Flags===
Flags can appear, with growing priority,
- in files, judgement ``flags`` and without dash (``-``)
- as flags to ``gf`` when invoked, with dash
- as flags to various GF commands, with dash
Some common flags used in grammars:
```
startcat=cat use this category as default
lexer=literals int and string literals recognized
lexer=code like program code
lexer=text like text: spacing, capitals
lexer=textlit text, unknowns as string lits
unlexer=code like program code
unlexer=codelit code, remove string lit quotes
unlexer=text like text: punctuation, capitals
unlexer=textlit text, remove string lit quotes
unlexer=concat remove all spaces
unlexer=bind remove spaces around "&+"
optimize=all_subs best for almost any concrete
optimize=values good for lexicon concrete
optimize=all usually good for resource
optimize=noexpand for resource, if =all too big
```
For the full set of values for ``FLAG``,
use on-line ``h -FLAG``.
===File paths===
Colon-separated lists of directories searched in the
given order:
```
--# -path=.:../abstract:../common:prelude
```
This can be (in order of growing preference), as
first line in the top file, as flag to ``gf``
when invoked, or as flag to the ``i`` command.
The prefix ``--#`` is used only in files.
If the environment variabls ``GF_LIB_PATH`` is defined, its
value is automatically prefixed to each directory to
extend the original search path.
===Alternative grammar formats===
**Old GF** (before GF 2.0):
all judgements in any kinds of modules,
division into files uses ``include``s.
A file ``Foo.gf`` is recognized as the old format
if it lacks a module header.
**Context-free** (file ``foo.cf``). The form of rules is e.g.
```
Fun. S ::= NP "is" AP ;
```
If ``Fun`` is omitted, it is generated automatically.
Rules must be one per line. The RHS can be empty.
**Extended BNF** (file ``foo.ebnf``). The form of rules is e.g.
```
S ::= (NP+ ("is" | "was") AP | V NP*) ;
```
where the RHS is a regular expression of categories
and quoted tokens: ``"foo", CAT, T U, T|U, T*, T+, T?``, or empty.
Rule labels are generated automatically.
**Probabilistic grammars** (not a separate format).
You can set the probability of a function ``f`` (in its value category) by
```
--# prob f 0.009
```
These are put into a file given to GF using the ``probs=File`` flag
on command line. This file can be the grammar file itself.
**Example-based grammars** (file ``foo.gfe``). Expressions of the form
```
in Cat "example string"
```
are preprocessed by using a parser given by the flag
```
--# -resource=File
```
and the result is written to ``foo.gf``.
===References===
[GF Homepage http://www.grammaticalframework.org/]
A. Ranta, Grammatical Framework: A Type-Theoretical Grammar Formalism.
//The Journal of Functional Programming//, vol. 14:2. 2004, pp. 145-189.
-4648
View File
File diff suppressed because it is too large Load Diff
+2787
View File
File diff suppressed because it is too large Load Diff
+7 -12
View File
@@ -1,11 +1,8 @@
The GF Software System The GF Software System
%!style:../css/style.css
%!options(html): --toc %!options(html): --toc
%!options(html): --toc-level=4 %!options(html): --toc-level=4
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
%!postproc(html): "#VSPACE" "<hr>" %!postproc(html): "#VSPACE" "<hr>"
%!postproc(html): "#NORMAL" "" %!postproc(html): "#NORMAL" ""
%!postproc(html): "#TINY" "" %!postproc(html): "#TINY" ""
@@ -13,7 +10,7 @@ The GF Software System
The GF software system implements the GF programming language. Its The GF software system implements the GF programming language. Its
components are components are
- the //compiler//, - the //compiler//,
translating ``.gf`` source files to ``.gfo`` object files, to translating ``.gf`` source files to ``.gfo`` object files, to
``.pgf`` run-time grammars, and to various other formats ``.pgf`` run-time grammars, and to various other formats
- the //run-time system//, - the //run-time system//,
@@ -43,7 +40,7 @@ The shell maintains a //state//, to which belong
Unless file arguments are provided to the ``gf`` command, the shell starts in an Unless file arguments are provided to the ``gf`` command, the shell starts in an
empty state, with no grammars and no history. empty state, with no grammars and no history.
In the shell, a set of commands In the shell, a set of commands
is available. Some of these commands may change the grammars in the state. The general is available. Some of these commands may change the grammars in the state. The general
@@ -59,7 +56,7 @@ syntax of commands is given by the following BNF grammar:
ARGUMENT ::= QUOTED_STRING | TREE ARGUMENT ::= QUOTED_STRING | TREE
VALUE ::= IDENT | QUOTED_STRING VALUE ::= IDENT | QUOTED_STRING
``` ```
A command pipe is a sequence of commands interpreted in such a way A command pipe is a sequence of commands interpreted in such a way
that the output of each command that the output of each command
is send as input to the next. The option ``-tr`` causes GF to show a trace, is send as input to the next. The option ``-tr`` causes GF to show a trace,
i.e. the intermediate result of the command to which it is attached. i.e. the intermediate result of the command to which it is attached.
@@ -69,7 +66,7 @@ executed one by one, in the order of appearance.
===GF shell commands=== ===GF shell commands===
The full set of GF shell commands is listed below with explanations. The full set of GF shell commands is listed below with explanations.
This list can also be obtained in the GF shell by the command ``help -full``. This list can also be obtained in the GF shell by the command ``help -full``.
%!include: gf-help-full.txt %!include: gf-help-full.txt
@@ -77,14 +74,14 @@ This list can also be obtained in the GF shell by the command ``help -full``.
==The GF batch compiler== ==The GF batch compiler==
With the option ``-batch``, GF can be invoked in batch mode, i.e. With the option ``-batch``, GF can be invoked in batch mode, i.e.
without opening the shell, to compile files from ``.gf`` to ``.gfo``. without opening the shell, to compile files from ``.gf`` to ``.gfo``.
The ``-s`` option ("silent") eliminates all messages except errors. The ``-s`` option ("silent") eliminates all messages except errors.
``` ```
$ gf -batch -s LangIta.gf $ gf -batch -s LangIta.gf
``` ```
With the option ``-make``, and as a set of With the option ``-make``, and as a set of
top-level grammar files (with the same abstract syntax) as arguments, top-level grammar files (with the same abstract syntax) as arguments,
GF produces a ``.pgf`` file. The flag ``-optimize-pgf`` minimizes GF produces a ``.pgf`` file. The flag ``-optimize-pgf`` minimizes
the size of the ``.pgf`` file, and is recommended for grammars to be shipped. the size of the ``.pgf`` file, and is recommended for grammars to be shipped.
``` ```
$ gf -make -optimize-pgf LangIta.gf LangEng.gf LangGer.gf $ gf -make -optimize-pgf LangIta.gf LangEng.gf LangGer.gf
@@ -107,5 +104,3 @@ To run GF from a //script//, redirection of standard input can be used:
``` ```
The file ``script.gfs`` should then contain a sequence of GF commands, one per line. The file ``script.gfs`` should then contain a sequence of GF commands, one per line.
Unrecognized command lines are skipped without terminating GF. Unrecognized command lines are skipped without terminating GF.
+35
View File
@@ -0,0 +1,35 @@
---
title: "Video tutorials"
---
The GF [YouTube channel](https://www.youtube.com/channel/UCZ96DechSUVcXAhtOId9VVA) keeps a playlist of [all GF videos](https://www.youtube.com/playlist?list=PLrgqBB5thLeT15fUtJ8_Dtk8ppdtH90MK), and more specific playlists for narrower topics.
If you make a video about GF, let us know and we'll add it to the suitable playlist(s)!
- [General introduction to GF](#general-introduction-to-gf)
- [Beginner resources](#beginner-resources)
- [Resource grammar tutorials](#resource-grammar-tutorials)
## General introduction to GF
These videos introduce GF at a high level, and present some use cases.
__Grammatical Framework: Formalizing the Grammars of the World__
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/x1LFbDQhbso" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
__Aarne Ranta: Automatic Translation for Consumers and Producers__
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/An-AmFScw1o" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Beginner resources
These videos show how to install GF on your computer (Mac or Windows), and how to play with simple grammars in a [Jupyter notebook](https://github.com/GrammaticalFramework/gf-binder) (any platform, hosted at [mybinder.org](https://mybinder.org)).
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/videoseries?list=PLrgqBB5thLeRa8eViJJnjT8jBhxqCPMF2" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Resource grammar tutorials
These videos show incremental improvements to a [miniature version of the resource grammar](https://github.com/inariksit/comp-syntax-2020/tree/master/lab2/grammar/dummy#readme).
They assume some prior knowledge of GF, roughly lessons 1-3 from the [GF tutorial](http://www.grammaticalframework.org/doc/tutorial/gf-tutorial.html).
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/videoseries?list=PLrgqBB5thLeTPkp88lnOmRtprCa8g0wX2" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
-69
View File
@@ -1,69 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>GF Documentation</title>
<link rel=stylesheet href="../css/style.css">
</head>
<body>
<div class=center>
<a href="../"><img src="Logos/gf0.png"></a>
<h1>Grammatical Framework Documents</h1>
</div>
<b>Top-5 documents</b>:
<a href="gf-quickstart.html">Quick start instruction</a>.
<a href="tutorial/gf-tutorial.html">Old Tutorial</a>, application-oriented.
<a href="gf-lrec-2010.pdf">New Tutorial</a>, linguistics-oriented.
<a href="gf-refman.html">ReferenceManual</a>.
<a href="../lib/resource/doc/synopsis.html">LibrarySynopsis</a>.
<h2>Language and system documentation</h2>
<ul>
<li>
<a href="gf-reference.html">GF Quick Reference</a>. Also available in
<a href="gf-reference.pdf">pdf</a>. Covers all features of GF language
in a summary format.
<li>
<a href="gf-refman.html">GF Reference Manual</a>. A full-scale reference
manual of the GF language.
<li>
<a href="gf-shell-reference.html">GF Shell Reference</a>.
Describes the commands available in the interactive GF shell. Also
summarizes how to run GF as a batch compiler.
<li>
<a href="gf-editor-modes.html">Editor modes for GF</a>.
Editor modes for GF provides syntax highligting, automatic indentation and
other features that makes editing GF grammar files easier.
</ul>
<h2>Publications</h2>
<a href="gf-bibliography.html">
Bibliography</a>: more publications on GF, as well as background literature.
</body></html>
+13
View File
@@ -0,0 +1,13 @@
---
title: Grammatical Framework Documentation
---
Perhaps you're looking for one of the following:
- [Tutorial](tutorial/gf-tutorial.html). This is a hands-on introduction to grammar writing in GF.
- [Reference Manual](gf-refman.html). A full-scale reference manual of the GF language.
- [RGL Tutorial](../lib/doc/rgl-tutorial/index.html)
- [RGL Synopsis](../lib/doc/synopsis/index.html). Documentation of the Resource Grammar Library, including the syntax API and lexical paradigms for each language.
- [Shell Reference](gf-shell-reference.html). Describes the commands available in the interactive GF shell.
Also summarizes how to run GF as a batch compiler.
- [Developers Guide](gf-developers/html). Detailed information about building and developing GF.
-433
View File
@@ -1,433 +0,0 @@
<html>
<head>
<style>
.code {background-color:lightgray}
</style>
</head>
<body>
<h1>Using the Python binding to the C runtime</h1>
<h4>Krasimir Angelov, July 2015</h4>
<h2>Loading the Grammar</h2>
Before you use the Python binding you need to import the pgf module.
<pre class="code">
>>> import pgf
</pre>
Once you have the module imported, you can use the <tt>dir</tt> and
<tt>help</tt> functions to see what kind of functionality is available.
<tt>dir</tt> takes an object and returns a list of methods available
in the object:
<pre class="code">
>>> dir(pgf)
</pre>
<tt>help</tt> is a little bit more advanced and it tries
to produce more human readable documentation, which more over
contains comments:
<pre class="code">
>>> help(pgf)
</pre>
A grammar is loaded by calling the method readPGF:
<pre class="code">
>>> gr = pgf.readPGF("App12.pgf")
</pre>
From the grammar you can query the set of available languages.
It is accessible through the property <tt>languages</tt> which
is a map from language name to an object of class <tt>pgf.Concr</tt>
which respresents the language.
For example the following will extract the English language:
<pre class="code">
>>> eng = gr.languages["AppEng"]
>>> print eng
&lt;pgf.Concr object at 0x7f7dfa4471d0&gt;
</pre>
<h2>Parsing</h2>
All language specific services are available as methods of the
class <tt>pgf.Concr</tt>. For example to invoke the parser, you
can call:
<pre class="code">
>>> i = eng.parse("this is a small theatre")
</pre>
This gives you an iterator which can enumerates all possible
abstract trees. You can get the next tree by calling next:
<pre class="code">
>>> p,e = i.next()
</pre>
The results are always pairs of probability and tree. The probabilities
are negated logarithmic probabilities and which means that the lowest
number encodes the most probable result. The possible trees are
returned in decreasing probability order (i.e. increasing negated logarithm).
The first tree should have the smallest <tt>p</tt>:
<pre class="code">
>>> print p
35.9166526794
</pre>
and this is the corresponding abstract tree:
<pre class="code">
>>> print e
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetNP (DetQuant this_Quant NumSg)) (UseComp (CompNP (DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA small_A) (UseN theatre_N)))))))) NoVoc
</pre>
The <tt>parse</tt> method has also the following optional parameters:
<table border=1>
<tr><td>cat</td><td>start category</td></tr>
<tr><td>n</td><td>maximum number of trees</td></tr>
<tr><td>heuristics</td><td>a real number from 0 to 1</td></tr>
<tr><td>callbacks</td><td>a list of category and callback function</td></tr>
</table>
By using these parameters it is possible for instance to change the start category for
the parser or to limit the number of trees returned from the parser. For example
parsing with a different start category can be done as follows:
<pre class="code">
>>> i = eng.parse("a small theatre", cat="NP")
</pre>
<p>The heuristics factor can be used to trade parsing speed for quality.
By default the list of trees is sorted by probability this corresponds
to factor 0.0. When we increase the factor then parsing becomes faster
but at the same time the sorting becomes imprecise. The worst
factor is 1.0. In any case the parser always returns the same set of
trees but in different order. Our experience is that even a factor
of about 0.6-0.8 with the translation grammar, still orders
the most probable tree on top of the list but further down the list
the trees become shuffled.
</p>
<p>
The callbacks is a list of functions that can be used for recognizing
literals. For example we use those for recognizing names and unknown
words in the translator.
</p>
<h2>Linearization</h2>
You can either linearize the result from the parser back to another
language, or you can explicitly construct a tree and then
linearize it in any language. For example, we can create
a new expression like this:
<pre class="code">
>>> e = pgf.readExpr("AdjCN (PositA red_A) (UseN theatre_N)")
</pre>
and then we can linearize it:
<pre class="code">
>>> print eng.linearize(e)
red theatre
</pre>
This method produces only a single linearization. If you use variants
in the grammar then you might want to see all possible linearizations.
For that purpouse you should use linearizeAll:
<pre class="code">
>>> for s in eng.linearizeAll(e):
print s
red theatre
red theater
</pre>
If, instead, you need an inflection table with all possible forms
then the right method to use is tabularLinearize:
<pre class="code">
>>> eng.tabularLinearize(e):
{'s Sg Nom': 'red theatre', 's Pl Nom': 'red theatres', 's Pl Gen': "red theatres'", 's Sg Gen': "red theatre's"}
</pre>
<p>
Finally, you could also get a linearization which is bracketed into
a list of phrases:
<pre class="code">
>>> [b] = eng.bracketedLinearize(e)
>>> print b
(CN:4 (AP:1 (A:0 red)) (CN:3 (N:2 theatre)))
</pre>
Each bracket is actually an object of type pgf.Bracket. The property
<tt>cat</tt> of the object gives you the name of the category and
the property children gives you a list of nested brackets.
If a phrase is discontinuous then it is represented as more than
one brackets with the same category name. In that case, the index
that you see in the example above will have the same value for all
brackets of the same phrase.
</p>
The linearization works even if there are functions in the tree
that doesn't have linearization definitions. In that case you
will just see the name of the function in the generated string.
It is sometimes helpful to be able to see whether a function
is linearizable or not. This can be done in this way:
<pre class="code">
>>> print eng.hasLinearization("apple_N")
</pre>
<h2>Analysing and Constructing Expressions</h2>
<p>
An already constructed tree can be analyzed and transformed
in the host application. For example you can deconstruct
a tree into a function name and a list of arguments:
<pre class="code">
>>> e.unpack()
('AdjCN', [&lt;pgf.Expr object at 0x7f7df6db78c8&gt;, &lt;pgf.Expr object at 0x7f7df6db7878&gt;])
</pre>
The result from unpack can be different depending on the form of the
tree. If the tree is a function application then you always get
a tuple of function name and a list of arguments. If instead the
tree is just a literal string then the return value is the actual
literal. For example the result from:
<pre class="code">
>>> pgf.readExpr('"literal"').unpack()
'literal'
</pre>
is just the string 'literal'. Situations like this can be detected
in Python by checking the type of the result from <tt>unpack</tt>.
</p>
<p>
For more complex analyses you can use the visitor pattern.
In object oriented languages this is just a clumpsy way to do
what is called pattern matching in most functional languages.
You need to define a class which has one method for each function
in the abstract syntax of the grammar. If the functions is called
<tt>f</tt> then you need a method called <tt>on_f</tt>. The method
will be called each time when the corresponding function is encountered,
and its arguments will be the arguments from the original tree.
If there is no matching method name then the runtime will
to call the method <tt>default</tt>. The following is an example:
<pre class="code">
>>> class ExampleVisitor:
def on_DetCN(self,quant,cn):
print "Found DetCN"
cn.visit(self)
def on_AdjCN(self,adj,cn):
print "Found AdjCN"
cn.visit(self)
def default(self,e):
pass
>>> e2.visit(ExampleVisitor())
Found DetCN
Found AdjCN
</pre>
Here we call the method <tt>visit</tt> from the tree e2 and we give
it, as parameter, an instance of class <tt>ExampleVisitor</tt>.
<tt>ExampleVisitor</tt> has two methods <tt>on_DetCN</tt>
and <tt>on_AdjCN</tt> which are called when the top function of
the current tree is <tt>DetCN</tt> or <tt>AdjCN</tt>
correspondingly. In this example we just print a message and
we call <tt>visit</tt> recursively to go deeper into the tree.
</p>
Constructing new trees is also easy. You can either use
<tt>readExpr</tt> to read trees from strings, or you can
construct new trees from existing pieces. This is possible by
using the constructor for <tt>pgf.Expr</tt>:
<pre class="code">
>>> quant = pgf.readExpr("DetQuant IndefArt NumSg")
>>> e2 = pgf.Expr("DetCN", [quant, e])
>>> print e2
DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA red_A) (UseN theatre_N))
</pre>
<h2>Embedded GF Grammars</h2>
The GF compiler allows for easy integration of grammars in Haskell
applications. For that purpose the compiler generates Haskell code
that makes the integration of grammars easier. Since Python is a
dynamic language the same can be done at runtime. Once you load
the grammar you can call the method <tt>embed</tt>, which will
dynamically create a Python module with one Python function
for every function in the abstract syntax of the grammar.
After that you can simply import the module:
<pre class="code">
>>> gr.embed("App")
&lt;module 'App' (built-in)&gt;
>>> import App
</pre>
Now creating new trees is just a matter of calling ordinary Python
functions:
<pre class="code">
>>> print App.DetCN(quant,e)
DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA red_A) (UseN house_N))
</pre>
<h2>Access the Morphological Lexicon</h2>
There are two methods that gives you direct access to the morphological
lexicon. The first makes it possible to dump the full form lexicon.
The following code just iterates over the lexicon and prints each
word form with its possible analyses:
<pre class="code">
for entry in eng.fullFormLexicon():
print entry
</pre>
The second one implements a simple lookup. The argument is a word
form and the result is a list of analyses:
<pre class="code">
print eng.lookupMorpho("letter")
[('letter_1_N', 's Sg Nom', inf), ('letter_2_N', 's Sg Nom', inf)]
</pre>
<h2>Access the Abstract Syntax</h2>
There is a simple API for accessing the abstract syntax. For example,
you can get a list of abstract functions:
<pre class="code">
>>> gr.functions
....
</pre>
or a list of categories:
<pre class="code">
>>> gr.categories
....
</pre>
You can also access all functions with the same result category:
<pre class="code">
>>> gr.functionsByCat("Weekday")
['friday_Weekday', 'monday_Weekday', 'saturday_Weekday', 'sunday_Weekday', 'thursday_Weekday', 'tuesday_Weekday', 'wednesday_Weekday']
</pre>
The full type of a function can be retrieved as:
<pre class="code">
>>> print gr.functionType("DetCN")
Det -> CN -> NP
</pre>
<h2>Type Checking Abstract Trees</h2>
<p>The runtime type checker can do type checking and type inference
for simple types. Dependent types are still not fully implemented
in the current runtime. The inference is done with method <tt>inferExpr</tt>:
<pre class="code">
>>> e,ty = gr.inferExpr(e)
>>> print e
AdjCN (PositA red_A) (UseN theatre_N)
>>> print ty
CN
</pre>
The result is a potentially updated expression and its type. In this
case we always deal with simple types, which means that the new
expression will be always equal to the original expression. However, this
wouldn't be true when dependent types are added.
</p>
<p>Type checking is also trivial:
<pre class="code">
>>> e = gr.checkExpr(e,pgf.readType("CN"))
>>> print e
AdjCN (PositA red_A) (UseN theatre_N)
</pre>
In case of type error you will get an exception:
<pre class="code">
>>> e = gr.checkExpr(e,pgf.readType("A"))
pgf.TypeError: The expected type of the expression AdjCN (PositA red_A) (UseN theatre_N) is A but CN is infered
</pre>
</p>
<h2>Partial Grammar Loading</h2>
By default the whole grammar is compiled into a single file
which consists of an abstract syntax together will all concrete
languages. For large grammars with many languages this might be
inconvinient because loading becomes slower and the grammar takes
more memory. For that purpose you could split the grammar into
one file for the abstract syntax and one file for every concrete syntax.
This is done by using the option <tt>-split-pgf</tt> in the compiler:
<pre class="code">
$ gf -make -split-pgf App12.pgf
</pre>
Now you can load the grammar as usual but this time only the
abstract syntax will be loaded. You can still use the <tt>languages</tt>
property to get the list of languages and the corresponding
concrete syntax objects:
<pre class="code">
>>> gr = pgf.readPGF("App.pgf")
>>> eng = gr.languages["AppEng"]
</pre>
However, if you now try to use the concrete syntax then you will
get an exception:
<pre class="code">
>>> gr.languages["AppEng"].lookupMorpho("letter")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
pgf.PGFError: The concrete syntax is not loaded
</pre>
Before using the concrete syntax, you need to explicitly load it:
<pre class="code">
>>> eng.load("AppEng.pgf_c")
>>> print eng.lookupMorpho("letter")
[('letter_1_N', 's Sg Nom', inf), ('letter_2_N', 's Sg Nom', inf)]
</pre>
When you don't need the language anymore then you can simply
unload it:
<pre class="code">
>>> eng.unload()
</pre>
<h2>GraphViz</h2>
GraphViz is used for visualizing abstract syntax trees and parse trees.
In both cases the result is a GraphViz code that can be used for
rendering the trees. See the examples bellow.
<pre class="code">
>>> print gr.graphvizAbstractTree(e)
graph {
n0[label = "AdjCN", style = "solid", shape = "plaintext"]
n1[label = "PositA", style = "solid", shape = "plaintext"]
n2[label = "red_A", style = "solid", shape = "plaintext"]
n1 -- n2 [style = "solid"]
n0 -- n1 [style = "solid"]
n3[label = "UseN", style = "solid", shape = "plaintext"]
n4[label = "theatre_N", style = "solid", shape = "plaintext"]
n3 -- n4 [style = "solid"]
n0 -- n3 [style = "solid"]
}
</pre>
<pre class="code">
>>> print eng.graphvizParseTree(e)
graph {
node[shape=plaintext]
subgraph {rank=same;
n4[label="CN"]
}
subgraph {rank=same;
edge[style=invis]
n1[label="AP"]
n3[label="CN"]
n1 -- n3
}
n4 -- n1
n4 -- n3
subgraph {rank=same;
edge[style=invis]
n0[label="A"]
n2[label="N"]
n0 -- n2
}
n1 -- n0
n3 -- n2
subgraph {rank=same;
edge[style=invis]
n100000[label="red"]
n100001[label="theatre"]
n100000 -- n100001
}
n0 -- n100000
n2 -- n100001
}
</pre>
</body>
</html>
+1306
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+106 -120
View File
@@ -8,7 +8,8 @@ December 2010 for GF 3.2
% txt2tags --toc -ttex gf-tutorial.txt % txt2tags --toc -ttex gf-tutorial.txt
%!target:html %!target:html
%!encoding: iso-8859-1 %!encoding: utf-8
%!options: --toc
%!postproc(tex) : "\\subsection\*" "\\newslide" %!postproc(tex) : "\\subsection\*" "\\newslide"
%!preproc(tex): "#NEW" "" %!preproc(tex): "#NEW" ""
@@ -617,32 +618,32 @@ and **semantic definitions**.
#NEW % #NEW
%
==Slides== % ==Slides==
%
You can chop this tutorial into a set of slides by the command % You can chop this tutorial into a set of slides by the command
``` % ```
htmls gf-tutorial.html % htmls gf-tutorial.html
``` % ```
where the program ``htmls`` is distributed with GF (see below), in % where the program ``htmls`` is distributed with GF (see below), in
%
[``GF/src/tools/Htmls.hs`` http://grammaticalframework.org/src/tools/Htmls.hs] % [``GF/src/tools/Htmls.hs`` http://grammaticalframework.org/src/tools/Htmls.hs]
%
The slides will appear as a set of files beginning with ``01-gf-tutorial.htmls``. % The slides will appear as a set of files beginning with ``01-gf-tutorial.htmls``.
%
Internal links will not work in the slide format, except for those in the % Internal links will not work in the slide format, except for those in the
upper left corner of each slide, and the links behind the "Contents" link. % upper left corner of each slide, and the links behind the "Contents" link.
#NEW #NEW
#Lchaptwo
=Lesson 1: Getting Started with GF= =Lesson 1: Getting Started with GF=
#Lchaptwo
Goals: Goals:
- install and run GF - install and run GF
- write the first GF grammar: a "Hello World" grammar in three languages - write the first GF grammar: a "Hello World" grammar in three languages
@@ -835,8 +836,8 @@ Finnish and an Italian concrete syntaxes:
lin lin
Hello recip = {s = "terve" ++ recip.s} ; Hello recip = {s = "terve" ++ recip.s} ;
World = {s = "maailma"} ; World = {s = "maailma"} ;
Mum = {s = "äiti"} ; Mum = {s = "äiti"} ;
Friends = {s = "ystävät"} ; Friends = {s = "ystävät"} ;
} }
concrete HelloIta of Hello = { concrete HelloIta of Hello = {
@@ -897,7 +898,7 @@ Parentheses are only needed for grouping.
Parsing something that is not in grammar will fail: Parsing something that is not in grammar will fail:
``` ```
> parse "hello dad" > parse "hello dad"
Unknown words: dad The parser failed at token 2: "dad"
> parse "world hello" > parse "world hello"
no tree found no tree found
@@ -924,7 +925,7 @@ Default of the language flag (``-lang``): the last-imported concrete syntax.
**Multilingual generation**: **Multilingual generation**:
``` ```
> parse -lang=HelloEng "hello friends" | linearize > parse -lang=HelloEng "hello friends" | linearize
terve ystävät terve ystävät
ciao amici ciao amici
hello friends hello friends
``` ```
@@ -1036,9 +1037,10 @@ Application programs, using techniques from #Rchapeight:
#NEW #NEW
#Lchapthree
=Lesson 2: Designing a grammar for complex phrases= =Lesson 2: Designing a grammar for complex phrases=
#Lchapthree
Goals: Goals:
- build a larger grammar: phrases about food in English and Italian - build a larger grammar: phrases about food in English and Italian
@@ -1186,7 +1188,7 @@ use ``generate_trees = gt``.
this wine is fresh this wine is fresh
this wine is warm this wine is warm
``` ```
The default **depth** is 3; the depth can be The default **depth** is 5; the depth can be
set by using the ``depth`` flag: set by using the ``depth`` flag:
``` ```
> generate_trees -depth=2 | l > generate_trees -depth=2 | l
@@ -1263,10 +1265,16 @@ Human eye may prefer to see a visualization: ``visualize_tree = vt``:
> parse "this delicious cheese is very Italian" | visualize_tree > parse "this delicious cheese is very Italian" | visualize_tree
``` ```
The tree is generated in postscript (``.ps``) file. The ``-view`` option is used for The tree is generated in postscript (``.ps``) file. The ``-view`` option is used for
telling what command to use to view the file. Its default is ``"open"``, which works telling what command to use to view the file.
on Mac OS X. On Ubuntu Linux, one can write
This works on Mac OS X:
``` ```
> parse "this delicious cheese is very Italian" | visualize_tree -view="eog" > parse "this delicious cheese is very Italian" | visualize_tree -view=open
```
On Linux, one can use one of the following commands.
```
> parse "this delicious cheese is very Italian" | visualize_tree -view=eog
> parse "this delicious cheese is very Italian" | visualize_tree -view=xdg-open
``` ```
@@ -1334,7 +1342,7 @@ Just (?) replace English words with their dictionary equivalents:
Phrase, Item, Kind, Quality = {s : Str} ; Phrase, Item, Kind, Quality = {s : Str} ;
lin lin
Is item quality = {s = item.s ++ "č" ++ quality.s} ; Is item quality = {s = item.s ++ "è" ++ quality.s} ;
This kind = {s = "questo" ++ kind.s} ; This kind = {s = "questo" ++ kind.s} ;
That kind = {s = "quel" ++ kind.s} ; That kind = {s = "quel" ++ kind.s} ;
QKind quality kind = {s = kind.s ++ quality.s} ; QKind quality kind = {s = kind.s ++ quality.s} ;
@@ -1445,11 +1453,11 @@ linearizations in different languages:
> gr -number=2 | l -treebank > gr -number=2 | l -treebank
Is (That Cheese) (Very Boring) Is (That Cheese) (Very Boring)
quel formaggio č molto noioso quel formaggio è molto noioso
that cheese is very boring that cheese is very boring
Is (That Cheese) Fresh Is (That Cheese) Fresh
quel formaggio č fresco quel formaggio è fresco
that cheese is fresh that cheese is fresh
``` ```
@@ -1471,14 +1479,14 @@ answer given in another language.
You can interrupt the quiz by entering a line consisting of a dot ('.'). You can interrupt the quiz by entering a line consisting of a dot ('.').
this fish is warm this fish is warm
questo pesce č caldo questo pesce è caldo
> Yes. > Yes.
Score 1/1 Score 1/1
this cheese is Italian this cheese is Italian
questo formaggio č noioso questo formaggio è noioso
> No, not questo formaggio č noioso, but > No, not questo formaggio è noioso, but
questo formaggio č italiano questo formaggio è italiano
Score 1/2 Score 1/2
this fish is expensive this fish is expensive
@@ -1731,6 +1739,13 @@ A new module can **extend** an old one:
Pizza : Kind ; Pizza : Kind ;
} }
``` ```
Note that the extended grammar doesn't inherit the start
category from the grammar it extends, so if you want to
generate sentences with this grammar, you'll have to either
add a startcat (e.g. ``flags startcat = Question ;``),
or in the GF shell, specify the category to ``generate_random`` or ``geneate_trees``
(e.g. ``gr -cat=Comment`` or ``gt -cat=Question``).
Parallel to the abstract syntax, extensions can Parallel to the abstract syntax, extensions can
be built for concrete syntaxes: be built for concrete syntaxes:
``` ```
@@ -1755,7 +1770,7 @@ Simultaneous extension and opening:
lincat lincat
Question = SS ; Question = SS ;
lin lin
QIs item quality = ss (item.s ++ "č" ++ quality.s) ; QIs item quality = ss (item.s ++ "è" ++ quality.s) ;
Pizza = ss "pizza" ; Pizza = ss "pizza" ;
} }
``` ```
@@ -1796,9 +1811,10 @@ where
#NEW #NEW
#Lchapfour
=Lesson 3: Grammars with parameters= =Lesson 3: Grammars with parameters=
#Lchapfour
Goals: Goals:
- implement sophisticated linguistic structures: - implement sophisticated linguistic structures:
@@ -2363,10 +2379,10 @@ in English, with special care taken of variations with the suffix
+ Implement the German **Umlaut** operation on word stems. + Implement the German **Umlaut** operation on word stems.
The operation changes the vowel of the stressed stem syllable as follows: The operation changes the vowel of the stressed stem syllable as follows:
//a// to //ä//, //au// to //äu//, //o// to //ö//, and //u// to //ü//. You //a// to //ä//, //au// to //äu//, //o// to //ö//, and //u// to //ü//. You
can assume that the operation only takes syllables as arguments. Test the can assume that the operation only takes syllables as arguments. Test the
operation to see whether it correctly changes //Arzt// to //Ärzt//, operation to see whether it correctly changes //Arzt// to //Ärzt//,
//Baum// to //Bäum//, //Topf// to //Töpf//, and //Kuh// to //Küh//. //Baum// to //Bäum//, //Topf// to //Töpf//, and //Kuh// to //Küh//.
@@ -2472,24 +2488,19 @@ can be used to read a text and return for each word its analyses
``` ```
The command ``morpho_quiz = mq`` generates inflection exercises. The command ``morpho_quiz = mq`` generates inflection exercises.
``` ```
% gf -path=alltenses:prelude $GF_LIB_PATH/alltenses/IrregFre.gfo % gf alltenses/IrregFre.gfo
> morpho_quiz -cat=V > morpho_quiz -cat=V
Welcome to GF Morphology Quiz. Welcome to GF Morphology Quiz.
... ...
réapparaître : VFin VCondit Pl P2 réapparaître : VFin VCondit Pl P2
réapparaitriez réapparaitriez
> No, not réapparaitriez, but > No, not réapparaitriez, but
réapparaîtriez réapparaîtriez
Score 0/1 Score 0/1
``` ```
To create a list for later use, use the command ``morpho_list = ml``
```
> morpho_list -number=25 -cat=V | write_file exx.txt
```
@@ -2562,7 +2573,7 @@ We need only number variation for the copula.
``` ```
copula : Number -> Str = copula : Number -> Str =
\n -> case n of { \n -> case n of {
Sg => "č" ; Sg => "è" ;
Pl => "sono" Pl => "sono"
} ; } ;
``` ```
@@ -2648,12 +2659,12 @@ The verb //switch off// is called a
We can define transitive verbs and their combinations as follows: We can define transitive verbs and their combinations as follows:
``` ```
lincat TV = {s : Number => Str ; part : Str} ; lincat V2 = {s : Number => Str ; part : Str} ;
fun AppTV : Item -> TV -> Item -> Phrase ; fun AppV2 : Item -> V2 -> Item -> Phrase ;
lin AppTV subj tv obj = lin AppV2 subj v2 obj =
{s = subj.s ++ tv.s ! subj.n ++ obj.s ++ tv.part} ; {s = subj.s ++ v2.s ! subj.n ++ obj.s ++ v2.part} ;
``` ```
**Exercise**. Define the language ``a^n b^n c^n`` in GF, i.e. **Exercise**. Define the language ``a^n b^n c^n`` in GF, i.e.
@@ -2719,11 +2730,11 @@ This topic will be covered in #Rseclexing.
The symbol ``**`` is used for both record types and record objects. The symbol ``**`` is used for both record types and record objects.
``` ```
lincat TV = Verb ** {c : Case} ; lincat V2 = Verb ** {c : Case} ;
lin Follow = regVerb "folgen" ** {c = Dative} ; lin Follow = regVerb "folgen" ** {c = Dative} ;
``` ```
``TV`` becomes a **subtype** of ``Verb``. ``V2`` (transitive verb) becomes a **subtype** of ``Verb``.
If //T// is a subtype of //R//, an object of //T// can be used whenever If //T// is a subtype of //R//, an object of //T// can be used whenever
an object of //R// is required. an object of //R// is required.
@@ -2754,7 +2765,11 @@ Thus the labels ``p1, p2,...`` are hard-coded.
English indefinite article: English indefinite article:
``` ```
oper artIndef : Str = oper artIndef : Str =
pre {"a" ; "an" / strs {"a" ; "e" ; "i" ; "o"}} ; pre {
("a" | "e" | "i" | "o") => "an" ;
_ => "a"
} ;
``` ```
Thus Thus
``` ```
@@ -2771,9 +2786,10 @@ Thus
#NEW #NEW
#Lchapfive
=Lesson 4: Using the resource grammar library= =Lesson 4: Using the resource grammar library=
#Lchapfive
Goals: Goals:
- navigate in the GF resource grammar library and use it in applications - navigate in the GF resource grammar library and use it in applications
@@ -2944,7 +2960,7 @@ We need the following combinations:
``` ```
We also need **lexical insertion**, to form phrases from single words: We also need **lexical insertion**, to form phrases from single words:
``` ```
mkCN : N -> NP ; mkCN : N -> CN ;
mkAP : A -> AP ; mkAP : A -> AP ;
``` ```
Naming convention: to construct a //C//, use a function ``mk``//C//. Naming convention: to construct a //C//, use a function ``mk``//C//.
@@ -2965,7 +2981,7 @@ can be built as follows:
``` ```
mkCl mkCl
(mkNP these_Det (mkNP these_Det
(mkCN (mkAP very_AdA (mkAP warm_A)) (mkCN pizza_CN))) (mkCN (mkAP very_AdA (mkAP warm_A)) (mkCN pizza_N)))
(mkAP italian_AP) (mkAP italian_AP)
``` ```
The task now: to define the concrete syntax of ``Foods`` so that The task now: to define the concrete syntax of ``Foods`` so that
@@ -3304,13 +3320,13 @@ we can write a **functor instantiation**,
oper oper
wine_N = mkN "Wein" ; wine_N = mkN "Wein" ;
pizza_N = mkN "Pizza" "Pizzen" feminine ; pizza_N = mkN "Pizza" "Pizzen" feminine ;
cheese_N = mkN "Käse" "Käsen" masculine ; cheese_N = mkN "Käse" "Käsen" masculine ;
fish_N = mkN "Fisch" ; fish_N = mkN "Fisch" ;
fresh_A = mkA "frisch" ; fresh_A = mkA "frisch" ;
warm_A = mkA "warm" "wärmer" "wärmste" ; warm_A = mkA "warm" "wärmer" "wärmste" ;
italian_A = mkA "italienisch" ; italian_A = mkA "italienisch" ;
expensive_A = mkA "teuer" ; expensive_A = mkA "teuer" ;
delicious_A = mkA "köstlich" ; delicious_A = mkA "köstlich" ;
boring_A = mkA "langweilig" ; boring_A = mkA "langweilig" ;
} }
``` ```
@@ -3361,11 +3377,11 @@ Lexicon instance
cheese_N = mkN "juusto" ; cheese_N = mkN "juusto" ;
fish_N = mkN "kala" ; fish_N = mkN "kala" ;
fresh_A = mkA "tuore" ; fresh_A = mkA "tuore" ;
warm_A = mkA "lämmin" ; warm_A = mkA "lämmin" ;
italian_A = mkA "italialainen" ; italian_A = mkA "italialainen" ;
expensive_A = mkA "kallis" ; expensive_A = mkA "kallis" ;
delicious_A = mkA "herkullinen" ; delicious_A = mkA "herkullinen" ;
boring_A = mkA "tylsä" ; boring_A = mkA "tylsä" ;
} }
``` ```
Functor instantiation Functor instantiation
@@ -3613,9 +3629,10 @@ tenses and moods, e.g. the Romance languages.
#NEW #NEW
#Lchapsix
=Lesson 5: Refining semantics in abstract syntax= =Lesson 5: Refining semantics in abstract syntax=
#Lchapsix
Goals: Goals:
- include semantic conditions in grammars, by using - include semantic conditions in grammars, by using
@@ -3625,7 +3642,7 @@ Goals:
- semantic definitions - semantic definitions
These concepts are inherited from **type theory** (more precisely: These concepts are inherited from **type theory** (more precisely:
constructive type theory, or Martin-Löf type theory). constructive type theory, or Martin-Löf type theory).
Type theory is the basis **logical frameworks**. Type theory is the basis **logical frameworks**.
@@ -3713,49 +3730,25 @@ Concrete syntax does not know if a category is a dependent type.
``` ```
Notice that the ``Kind`` argument is suppressed in linearization. Notice that the ``Kind`` argument is suppressed in linearization.
Parsing with dependent types is performed in two phases: Parsing with dependent types consists of two phases:
+ context-free parsing + context-free parsing
+ filtering through type checker + filtering through type checker
Parsing a type-correct command works as expected:
By just doing the first phase, the ``kind`` argument is not found:
``` ```
> parse "dim the light" > parse "dim the light"
CAction ? dim (DKindOne light)
```
Moreover, type-incorrect commands are not rejected:
```
> parse "dim the fan"
CAction ? dim (DKindOne fan)
```
The term ``?`` is a **metavariable**, returned by the parser
for any subtree that is suppressed by a linearization rule.
These are the same kind of metavariables as were used #Rsecediting
to mark incomplete parts of trees in the syntax editor.
#NEW
===Solving metavariables===
Use the command ``put_tree = pt`` with the option ``-typecheck``:
```
> parse "dim the light" | put_tree -typecheck
CAction light dim (DKindOne light) CAction light dim (DKindOne light)
``` ```
The ``typecheck`` process may fail, in which case an error message However, type-incorrect commands are rejected by the typecheck:
is shown and no tree is returned:
``` ```
> parse "dim the fan" | put_tree -typecheck > parse "dim the fan"
The parsing is successful but the type checking failed with error(s):
Error in tree UCommand (CAction ? 0 dim (DKindOne fan)) : Couldn't match expected type Device light
(? 0 <> fan) (? 0 <> light) against the interred type Device fan
In the expression: DKindOne fan
``` ```
#NEW #NEW
==Polymorphism== ==Polymorphism==
@@ -3781,23 +3774,19 @@ to express Haskell-type library functions:
\_,_,_,f,x,y -> f y x ; \_,_,_,f,x,y -> f y x ;
``` ```
#NEW #NEW
===Dependent types: exercises=== ===Dependent types: exercises===
1. Write an abstract syntax module with above contents 1. Write an abstract syntax module with above contents
and an appropriate English concrete syntax. Try to parse the commands and an appropriate English concrete syntax. Try to parse the commands
//dim the light// and //dim the fan//, with and without ``solve`` filtering. //dim the light// and //dim the fan//.
2. Perform random and exhaustive generation.
2. Perform random and exhaustive generation, with and without
``solve`` filtering.
3. Add some device kinds and actions to the grammar. 3. Add some device kinds and actions to the grammar.
#NEW #NEW
==Proof objects== ==Proof objects==
@@ -3907,7 +3896,6 @@ fun
Classes for new actions can be added incrementally. Classes for new actions can be added incrementally.
#NEW #NEW
==Variable bindings== ==Variable bindings==
@@ -4176,11 +4164,11 @@ Type checking can be invoked with ``put_term -transform=solve``.
#NEW #NEW
#Lchapseven
==Lesson 6: Grammars of formal languages== ==Lesson 6: Grammars of formal languages==
#Lchapseven
Goals: Goals:
- write grammars for formal languages (mathematical notation, programming languages) - write grammars for formal languages (mathematical notation, programming languages)
- interface between formal and natural langauges - interface between formal and natural langauges
@@ -4195,6 +4183,7 @@ We construct a calculator with addition, subtraction, multiplication, and
division of integers. division of integers.
``` ```
abstract Calculator = { abstract Calculator = {
flags startcat = Exp ;
cat Exp ; cat Exp ;
@@ -4221,7 +4210,7 @@ We begin with a
concrete syntax that always uses parentheses around binary concrete syntax that always uses parentheses around binary
operator applications: operator applications:
``` ```
concrete CalculatorP of Calculator = { concrete CalculatorP of Calculator = open Prelude in {
lincat lincat
Exp = SS ; Exp = SS ;
@@ -4515,9 +4504,10 @@ point literals as arguments.
#NEW #NEW
#Lchapeight
=Lesson 7: Embedded grammars= =Lesson 7: Embedded grammars=
#Lchapeight
Goals: Goals:
- use grammars as parts of programs written in Haskell and JavaScript - use grammars as parts of programs written in Haskell and JavaScript
@@ -4601,7 +4591,7 @@ in any multilingual grammar between any languages in the grammar.
module Main where module Main where
import PGF import PGF
import System (getArgs) import System.Environment (getArgs)
main :: IO () main :: IO ()
main = do main = do
@@ -4638,7 +4628,7 @@ output. Therefore it can be a part of a pipe and read and write files.
The simplest way to translate is to ``echo`` input to the program: The simplest way to translate is to ``echo`` input to the program:
``` ```
% echo "this wine is delicious" | ./trans Food.pgf % echo "this wine is delicious" | ./trans Food.pgf
questo vino č delizioso questo vino è delizioso
``` ```
The result is given in all languages except the input language. The result is given in all languages except the input language.
@@ -4731,10 +4721,6 @@ abstract Query = {
To make it easy to define a transfer function, we export the To make it easy to define a transfer function, we export the
abstract syntax to a system of Haskell datatypes: abstract syntax to a system of Haskell datatypes:
```
% gf --output-format=haskell Query.pgf
```
It is also possible to produce the Haskell file together with PGF, by
``` ```
% gf -make --output-format=haskell QueryEng.gf % gf -make --output-format=haskell QueryEng.gf
``` ```
@@ -4810,7 +4796,7 @@ instance Gf GQuestion where
DTr [] (AC (CId "Prime")) [x1] -> GPrime (fg x1) DTr [] (AC (CId "Prime")) [x1] -> GPrime (fg x1)
_ -> error ("no Question " ++ show t) _ -> error ("no Question " ++ show t)
``` ```
For the programmer, it is enougo to know: For the programmer, it is enough to know:
- all GF names are in Haskell prefixed with ``G`` - all GF names are in Haskell prefixed with ``G``
- ``gf`` translates from Haskell objects to GF trees - ``gf`` translates from Haskell objects to GF trees
- ``fg`` translates from GF trees to Haskell objects - ``fg`` translates from GF trees to Haskell objects
@@ -4957,12 +4943,12 @@ syntax name. This file contains the multilingual grammar as a JavaScript object.
===Using the JavaScript grammar=== ===Using the JavaScript grammar===
To perform parsing and linearization, the run-time library To perform parsing and linearization, the run-time library
``gflib.js`` is used. It is included in ``GF/lib/javascript/``, together with ``gflib.js`` is used. It is included in ``/src/runtime/javascript/``, together with
some other JavaScript and HTML files; these files can be used some other JavaScript and HTML files; these files can be used
as templates for building applications. as templates for building applications.
An example of usage is An example of usage is
[``translator.html`` http://grammaticalframework.org:41296], [``translator.html`` ../../src/runtime/javascript/translator.html],
which is in fact initialized with which is in fact initialized with
a pointer to the Food grammar, so that it provides translation between the English a pointer to the Food grammar, so that it provides translation between the English
and Italian grammars: and Italian grammars:
-13
View File
@@ -1,13 +0,0 @@
#!/bin/sh
FILES="darcs.txt transfer-reference.txt transfer-tutorial.txt \
transfer.txt"
for f in $FILES; do
h=`basename "$f" ".txt"`.html
if [ "$f" -nt "$h" ]; then
txt2tags $f
else
echo "$h is newer than $f, skipping"
fi
done
-54
View File
@@ -1,54 +0,0 @@
<html>
<body>
GF Version 2.8, released 8 July 2007; updated 12 September.
<ul>
<li> <a href="download/GF-2.8.tgz"><tt>GF-2.8.tgz</tt></a>,
Haskell and Java sources, grammar library sources, examples, documentation.
To compile and install: read <a href="src/INSTALL"><tt>src/INSTALL</tt></a>.
<li> <a href="download/GF-2.8-lib.tgz"><tt>GF-2.8-lib.tgz</tt></a>,
Compiled grammar libraries</a>. To install:
unpack this in the directory pointed by <tt>GF_LIB_PATH</tt>.
<li> <a href="download/GF-2.8-i386-pc-linux-gnu.tgz"><tt>GF-2.8-i386-pc-linux-gnu.tgz</tt></a>,
Linux binary, with precompiled grammar libraries. To install:
<pre>
tar xvfz GF-2.8-i386-pc-linux-gnu.tgz
cd GF-2.8-i386-pc-linux-gnu
./configure
make install
</pre>
You may need <tt>sudo make install</tt>; if you cannot write in
<tt>/usr/local/</tt>, you can change the target directory
by <tt>./configure --prefix=MYDIR</tt>.
<li> <a href="download/GF-2.8-i386-apple-darwin8.9.1.tgz"><tt>GF-2.8-i386-apple-darwin8.9.1.tgz</tt></a>, Mac OS X binary (Intel), with precompiled grammar libraries. Requires Readline from
<a href="http://www.macports.org/">MacPorts</a>. To install, see above item.
<li> <a href="download/GF-2.8-windows-cygwin.tgz"><tt>GF-2.8-windows-cygwin.tgz</tt></a>, Windows Cygwin binary. Requires
<a href="http://www.cygwin.com/">Cygwin</a>. To install, see above item.
</ul>
The <a href=
"http://sourceforge.net/project/showfiles.php?group_id=132285">Sourceforge GF site</a>
has currently only v 2.7 and older versions.
<p>
Don't forget that you can always get the current sources from the
<a href="http://www.cs.chalmers.se/Cs/Research/Language-technology/darcs/GF/doc/darcs.html">GF Darcs Repository</a>. First time you do
<pre>
darcs get --partial --set-scripts-executable http://www.cs.chalmers.se/Cs/Research/Language-technology/darcs/GF/
</pre>
and subsequent times
<pre>
darcs pull -a
</pre>
Then compile and install as described in
<a href="src/INSTALL"><tt>GF/src/INSTALL</tt></a>.
</body>
</html>
+1 -5
View File
@@ -1,10 +1,6 @@
GF character encoding changes GF character encoding changes
Thomas Hallgren Thomas Hallgren
%%mtime(%F) 2013-12-18
%!style:../css/style.css
%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
==Changes to character encodings in GF grammar files == ==Changes to character encodings in GF grammar files ==
-25
View File
@@ -1,25 +0,0 @@
#!/bin/sh
prefix="/usr/local"
case "i386-apple-darwin9.3.0" in
*-cygwin)
prefix=`cygpath -w "$prefix"`;;
esac
exec_prefix="${prefix}"
GF_BIN_DIR="${exec_prefix}/bin"
GF_DATA_DIR="${prefix}/share/GF-3.0-beta"
GFBIN="$GF_BIN_DIR/gf"
if [ ! -x "${GFBIN}" ]; then
GFBIN=`which gf`
fi
if [ ! -x "${GFBIN}" ]; then
echo "gf not found."
exit 1
fi
exec $GFBIN --batch "$@"
-93
View File
@@ -1,93 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE>Grammatical Framework Download and Installation</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1>Grammatical Framework Download and Installation</H1>
<FONT SIZE="4">
<I>Version 3.1.6, 23 April 2010</I><BR>
</FONT></CENTER>
<H2>Latest developer code</H2>
<P>
<A HREF="../doc/darcs.html">GF darcs repository</A>
</P>
<H2>Latest release</H2>
<P>
GF 3.1.6 released 23 April 2010.
</P>
<UL>
<LI>MacOS X installer package:
<A HREF="gf-3.1.6-leopard.pkg"><CODE>gf-3.1.6-leopard.pkg</CODE></A> (7.7MB)
<LI>MacOS X (gzipped executable, Leopard and Snow Leopard):
<A HREF="gf-3.1.6-bin-intel-mac.gz"><CODE>gf-3.1.6-bin-intel-mac.gz</CODE></A> (1.9MB)
<LI>Windows (zipped executable):
<A HREF="gf-3.1.6-bin-i486-windows.zip"><CODE>gf-3.1.6-bin-i486-windows.zip</CODE></A>
(1.6 MB)
<LI>Ubuntu Linux (gzipped executable):
<A HREF="gf-3.1.6-bin-i486-linux.gz"><CODE>gf-3.1.6-bin-i486-linux.gz</CODE></A>
(1.7 MB)
<LI>compiled library package:
<A HREF="gf-3.1.6-lib.tar.gz"><CODE>gf-3.1.6-lib.tar.gz</CODE></A>
(4.4 MB)
<LI>full source package (GF system, libraries, examples, documentation):
<A HREF="gf-3.1.6-src.tar.gz"><CODE>gf-3.1.6-src.tar.gz</CODE></A>
(11 MB)
<P></P>
GF is also on <A HREF="http://hackage.haskell.org/package/gf">Hackage</A>
</UL>
<P>
What's new? See the <A HREF="release-3.1.6.html">release notes</A>.
</P>
<H2>Previous releases</H2>
<P>
<A HREF="old-index.html">Follow this link</A>.
</P>
<H2>Installation instructions</H2>
<P>
The Windows package is installed by just unpacking it anywhere.
It finds the libraries relative to the <CODE>.exe</CODE> file.
</P>
<P>
To install a binary package for MacOS X or Linux: uncompress the executable and
put it somewhere on your path, renaming it to just <CODE>gf</CODE>. For instance:
</P>
<PRE>
gunzip gf-bin-[version].gz
sudo mv gf-bin-[version] /usr/local/bin/gf
</PRE>
<P>
To install the libraries (if done separately), unpack them in the place to which your
<CODE>GF_LIB_PATH</CODE> points.
</P>
<PRE>
cd $GF_LIB_PATH
gtar xvfz gf-lib-[VERSION].tgz
</PRE>
<P>
If this variable hasn't been defined, it is useful define it, e.g.
</P>
<PRE>
export GF_LIB_PATH=/usr/local/lib/gf/
</PRE>
<P></P>
<P>
To compile and install from source on Mac or Linux, do:
</P>
<PRE>
tar xvfz gf-[VERSION].tgz
cd GF/src
runghc Setup configure --user
runghc Setup build
runghc Setup install
</PRE>
<P>
The last command must be prefixed by <CODE>sudo</CODE>, if the installation is outside
user-writeable area.
</P>
<!-- html code generated by txt2tags 2.5 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml ./download/index-3.1.6.t2t -->
</BODY></HTML>
+3 -3
View File
@@ -16,7 +16,7 @@ GF 3.1.6 released 23 April 2010.
- Windows (zipped executable): - Windows (zipped executable):
[``gf-3.1.6-bin-i486-windows.zip`` gf-3.1.6-bin-i486-windows.zip] [``gf-3.1.6-bin-i486-windows.zip`` gf-3.1.6-bin-i486-windows.zip]
(1.6 MB) (1.6 MB)
- Ubuntu Linux (gzipped executable): - Ubuntu Linux (gzipped executable):
[``gf-3.1.6-bin-i486-linux.gz`` gf-3.1.6-bin-i486-linux.gz] [``gf-3.1.6-bin-i486-linux.gz`` gf-3.1.6-bin-i486-linux.gz]
(1.7 MB) (1.7 MB)
- compiled library package: - compiled library package:
@@ -25,7 +25,7 @@ GF 3.1.6 released 23 April 2010.
- full source package (GF system, libraries, examples, documentation): - full source package (GF system, libraries, examples, documentation):
[``gf-3.1.6-src.tar.gz`` gf-3.1.6-src.tar.gz] [``gf-3.1.6-src.tar.gz`` gf-3.1.6-src.tar.gz]
(11 MB) (11 MB)
GF is also on [Hackage http://hackage.haskell.org/package/gf] GF is also on [Hackage http://hackage.haskell.org/package/gf]
@@ -40,7 +40,7 @@ What's new? See the [release notes release-3.1.6.html].
==Installation instructions== ==Installation instructions==
The Windows package is installed by just unpacking it anywhere. The Windows package is installed by just unpacking it anywhere.
It finds the libraries relative to the ``.exe`` file. It finds the libraries relative to the ``.exe`` file.
To install a binary package for MacOS X or Linux: uncompress the executable and To install a binary package for MacOS X or Linux: uncompress the executable and
+201
View File
@@ -0,0 +1,201 @@
---
title: Grammatical Framework Download and Installation
...
**GF 3.10** was released on 2 December 2018.
What's new? See the [release notes](release-3.10.html).
## Binary packages
These binary packages include both the GF core (compiler and runtime) as well as the pre-compiled RGL.
| Platform | Download | Features | How to install |
|:----------------|:---------------------------------------------------|:---------------|:-----------------------------------|
| macOS | [gf-3.10.pkg](gf-3.10.pkg) | GF, S, C, J, P | Double-click on the package icon |
| Raspbian 10 (buster) | [gf\_3.10-2\_armhf.deb](gf_3.10-2_armhf.deb) | GF,S,C,J,P | `sudo dpkg -i gf_3.10-2_armhf.deb` |
| Ubuntu (32-bit) | [gf\_3.10-2\_i386.deb](gf_3.10-2_i386.deb) | GF, S, C, J, P | `sudo dpkg -i gf_3.10-2_i386.deb` |
| Ubuntu (64-bit) | [gf\_3.10-2\_amd64.deb](gf_3.10-2_amd64.deb) | GF, S, C, J, P | `sudo dpkg -i gf_3.10-2_amd64.deb` |
| Windows | [gf-3.10-bin-windows.zip](gf-3.10-bin-windows.zip) | GF, S | `unzip gf-3.10-bin-windows.zip` |
<!--
| macOS | [gf-3.10-bin-intel-mac.tar.gz](gf-3.10-bin-intel-mac.tar.gz) | GF,S,C,J,P | `sudo tar -C /usr/local -zxf gf-3.10-bin-intel-mac.tar.gz` |
-->
**Features**
- GF = GF shell and grammar compiler
- S = `gf -server` mode
- C = C run-time system
- J/P = Java/Python binding to the C run-time system
### Notes
The Windows package is installed by just unpacking it anywhere. You will
probably need to set the `PATH` and `GF_LIB_PATH` environment variables,
see Inari's notes on [Installing GF on Windows](http://www.grammaticalframework.org/~inari/gf-windows.html#toc3).
The Ubuntu `.deb` packages should work on Ubuntu 16.04 and 18.04 and
similar Linux distributions. The `.deb` packages were updated
to version 3.10-2 after the release of GF 3.10.
(Because of a packaging bug the Resource Grammar Library was missing
in the 3.10-1 packages.)
<!-- The Raspbian `.deb` package was created on a Raspberry Pi 3 and will
probably work on other ARM-based systems running Debian 9 (stretch) or
similar Linux distributions. -->
The packages for macOS (Mac OS X) should work on at least 10.13 and
10.14 (High Sierra and Mojave)
<!-- The Mac OS and Linux `.tar.gz` packages are designed to be installed in
`/usr/local`. You can install them in other locations, but then you need
to set the `GF_LIB_PATH` environment variable:
```
export GF_LIB_PATH=/usr/local/share/gf-3.10/lib
```
where `/usr/local` should be replaced with the path to the location
where you unpacked the package. -->
## Installing the latest release from source
[GF is on Hackage](http://hackage.haskell.org/package/gf), so under
normal circumstances the procedure is fairly simple:
1. Install a recent version of the [Haskell
Platform](http://hackage.haskell.org/platform) (see note below)
2. `cabal update`
3. On Linux: install some C libraries from your Linux distribution (see note below)
4. `cabal install gf`
This installs the GF executable and Haskell libraries, but **does not include the RGL**.
You can also download the source code release from [GitHub](https://github.com/GrammaticalFramework/gf-core/releases),
and follow the instructions below under **Installing from the latest developer source code**.
### Notes
**Installation location**
The above steps installs GF for a single user. The executables are put
in `$HOME/.cabal/bin` (or, with recent versions of the Haskell platform
on Mac OS X, in `$HOME/Library/Haskell/bin`), so it is a good idea to
put a line in your `.bash_profile` or `.profile` to add that directory
to you path:
```
PATH=$HOME/.cabal/bin:$PATH
```
or
```
PATH=$HOME/Library/Haskell/bin:$PATH
```
**Build tools**
In order to compile GF you need the build tools **Alex** and **Happy**.
These can be installed via Cabal, e.g.:
```
cabal install alex happy
```
or obtained by other means, depending on your OS.
**Haskeline**
GF uses [`haskeline`](http://hackage.haskell.org/package/haskeline), which
on Linux depends on some non-Haskell libraries that won't be installed
automatically by cabal, and therefore need to be installed manually.
Here is one way to do this:
- On Ubuntu: `sudo apt-get install libghc-haskeline-dev`
- On Fedora: `sudo dnf install ghc-haskeline-devel`
**GHC version**
The GF source code has been updated to compile with GHC 8.4.
Using older versions of GHC (e.g. 8.2, 8.0 and 7.10) should still work too.
## Installing from the latest developer source code
If you haven't already, clone the repository with:
```
git clone https://github.com/GrammaticalFramework/gf-core.git
```
If you've already cloned the repository previously, update with:
```
git pull
```
Then install with:
```
cabal install
```
or, if you're a Stack user:
```
stack install
```
The above notes for installing from source apply also in these cases.
For more info on working with the GF source code, see the
[GF Developers Guide](../doc/gf-developers.html).
## Installing the RGL from source
To install the RGL from source,
you can download a release from [GitHub](https://github.com/GrammaticalFramework/gf-rgl/releases)
or get the latest version by cloning the repository:
```
git clone https://github.com/GrammaticalFramework/gf-rgl.git
```
In both cases, once you have the RGL sources you can install them by running:
```
make
```
in the RGL folder.
This assumes that you already have GF installed.
For more details about building the RGL, see the [RGL README](https://github.com/GrammaticalFramework/gf-rgl/blob/master/README.md).
## Installing the Python bindings from PyPI
The Python library is available on PyPI as `pgf`, so it can be installed using:
```
pip install pgf
```
We provide binary wheels for Linux and OSX (with Windows missing so far), which
include the C runtime and a ready-to-go. If there is no binary distribution for
your platform, this will install the source tarball, which will attempt to build
the binding during installation, and requires the GF C runtime to be installed on
your system.
## Older releases
- [GF 3.9](index-3.9.html) (August 2017)
- [GF 3.8](index-3.8.html) (June 2016)
- [GF 3.7.1](index-3.7.1.html) (October 2015)
- [GF 3.7](index-3.7.html) (June 2015)
- [GF 3.6](index-3.6.html) (June 2014)
- [GF 3.5](index-3.5.html) (August 2013)
- [GF 3.4](index-3.4.html) (January 2013)
- [GF 3.3.3](index-3.3.3.html) (March 2012)
- [GF 3.3](index-3.3.html) (October 2011)
- [GF 3.2.9](index-3.2.9.html) source-only snapshot (September 2011)
- [GF 3.2](index-3.2.html) (December 2010)
- [GF 3.1.6](index-3.1.6.html) (April 2010)
+194
View File
@@ -0,0 +1,194 @@
---
title: Grammatical Framework Download and Installation
date: 25 July 2021
---
**GF 3.11** was released on 25 July 2021.
What's new? See the [release notes](release-3.11.html).
#### Note: GF core and the RGL
The following instructions explain how to install **GF core**, i.e. the compiler, shell and run-time systems.
Obtaining the **Resource Grammar Library (RGL)** is done separately; see the section at the bottom of this page.
---
## Installing from a binary package
Binary packages are available for Debian/Ubuntu, macOS, and Windows and include:
- GF shell and grammar compiler
- `gf -server` mode
- C run-time system
- Java & Python bindings to the C run-time system
Unlike in previous versions, the binaries **do not** include the RGL.
[Binary packages on GitHub](https://github.com/GrammaticalFramework/gf-core/releases/tag/3.11)
#### Debian/Ubuntu
There are two versions: `gf-3.11-ubuntu-18.04.deb` for Ubuntu 18.04 (Cosmic), and `gf-3.11-ubuntu-20.04.deb` for Ubuntu 20.04 (Focal).
To install the package use:
```
sudo apt-get install ./gf-3.11-ubuntu-*.deb
```
<!-- The Ubuntu `.deb` packages should work on Ubuntu 16.04, 18.04 and similar Linux distributions. -->
#### macOS
To install the package, just double-click it and follow the installer instructions.
The packages should work on at least Catalina and Big Sur.
#### Windows
To install the package, unpack it anywhere.
You will probably need to update the `PATH` environment variable to include your chosen install location.
For more information, see [Using GF on Windows](https://www.grammaticalframework.org/~inari/gf-windows.html) (latest updated for Windows 10).
## Installing from Hackage
_Instructions applicable for macOS, Linux, and WSL2 on Windows._
[GF is on Hackage](http://hackage.haskell.org/package/gf), so under
normal circumstances the procedure is fairly simple:
```
cabal update
cabal install gf-3.11
```
### Notes
**GHC version**
The GF source code is known to be compilable with GHC versions 7.10 through to 8.10.
**Obtaining Haskell**
There are various ways of obtaining Haskell, including:
- ghcup
1. Install from https://www.haskell.org/ghcup/
2. `ghcup install ghc 8.10.4`
3. `ghcup set ghc 8.10.4`
- Haskell Platform https://www.haskell.org/platform/
- Stack https://haskellstack.org/
**Installation location**
The above steps install GF for a single user.
The executables are put in `$HOME/.cabal/bin` (or on macOS in `$HOME/Library/Haskell/bin`),
so you might want to add this directory to your path (in `.bash_profile` or similar):
```
PATH=$HOME/.cabal/bin:$PATH
```
**Haskeline**
GF uses [`haskeline`](http://hackage.haskell.org/package/haskeline), which
on Linux depends on some non-Haskell libraries that won't be installed
automatically by Cabal, and therefore need to be installed manually.
Here is one way to do this:
- On Ubuntu: `sudo apt-get install libghc-haskeline-dev`
- On Fedora: `sudo dnf install ghc-haskeline-devel`
## Installing from source code
**Obtaining**
To obtain the source code for the **release**,
download it from [GitHub](https://github.com/GrammaticalFramework/gf-core/releases).
Alternatively, to obtain the **latest version** of the source code:
1. If you haven't already, clone the repository with:
```
git clone https://github.com/GrammaticalFramework/gf-core.git
```
2. If you've already cloned the repository previously, update with:
```
git pull
```
**Installing**
You can then install with:
```
cabal install
```
or, if you're a Stack user:
```
stack install
```
<!--The above notes for installing from source apply also in these cases.-->
For more info on working with the GF source code, see the
[GF Developers Guide](../doc/gf-developers.html).
For macOS Sequoia, you need to downgrade the LLVM package, see instructions [here](https://github.com/GrammaticalFramework/gf-core/issues/172#issuecomment-2599365457).
## Installing the Python bindings from PyPI
The Python library is available on PyPI as `pgf`, so it can be installed using:
```
pip install pgf
```
We provide binary wheels for Linux and macOS, which include the C runtime and are ready-to-go.
If there is no binary distribution for your platform, this will install the source tarball,
which will attempt to build the binding during installation,
and requires the GF C runtime to be installed on your system.
---
## Installing the RGL from a binary release
Binary releases of the RGL are made available on [GitHub](https://github.com/GrammaticalFramework/gf-rgl/releases).
In general the steps to follow are:
1. Download a binary release and extract it somewhere on your system.
2. Set the environment variable `GF_LIB_PATH` to point to wherever you extracted the RGL.
## Installing the RGL from source
To compile the RGL, you will need to have GF already installed and in your path.
1. Obtain the RGL source code, either by:
- cloning with `git clone https://github.com/GrammaticalFramework/gf-rgl.git`
- downloading a source archive [here](https://github.com/GrammaticalFramework/gf-rgl/archive/master.zip)
2. Run `make` in the source code folder.
For more options, see the [RGL README](https://github.com/GrammaticalFramework/gf-rgl/blob/master/README.md).
---
## Older releases
- [GF 3.10](index-3.10.html) (December 2018)
- [GF 3.9](index-3.9.html) (August 2017)
- [GF 3.8](index-3.8.html) (June 2016)
- [GF 3.7.1](index-3.7.1.html) (October 2015)
- [GF 3.7](index-3.7.html) (June 2015)
- [GF 3.6](index-3.6.html) (June 2014)
- [GF 3.5](index-3.5.html) (August 2013)
- [GF 3.4](index-3.4.html) (January 2013)
- [GF 3.3.3](index-3.3.3.html) (March 2012)
- [GF 3.3](index-3.3.html) (October 2011)
- [GF 3.2.9](index-3.2.9.html) source-only snapshot (September 2011)
- [GF 3.2](index-3.2.html) (December 2010)
- [GF 3.1.6](index-3.1.6.html) (April 2010)
+184
View File
@@ -0,0 +1,184 @@
---
title: Grammatical Framework Download and Installation
date: 8 August 2025
---
**GF 3.12** was released on 8 August 2025.
What's new? See the [release notes](release-3.12.html).
#### Note: GF core and the RGL
The following instructions explain how to install **GF core**, i.e. the compiler, shell and run-time systems.
Obtaining the **Resource Grammar Library (RGL)** is done separately; see the section [at the bottom of this page](#installing-the-rgl-from-a-binary-release).
---
## Installing from a binary package
Binary packages are available for Debian/Ubuntu, macOS, and Windows and include:
- GF shell and grammar compiler
- `gf -server` mode
- C run-time system
- Python bindings to the C run-time system
[Binary packages on GitHub](https://github.com/GrammaticalFramework/gf-core/releases/tag/3.12)
#### Debian/Ubuntu
The package targets Ubuntu 24.04 (Noble).
To install it, use:
```
sudo apt install ./gf-3.12-ubuntu-24.04.deb
```
#### macOS
To install the package, just double-click it and follow the installer instructions.
#### Windows
To install the package:
1. unpack it anywhere and take note of the full path to the folder containing the `.exe` file.
2. add it to the `PATH` environment variable
For more information, see [Using GF on Windows](https://www.grammaticalframework.org/~inari/gf-windows.html) (latest updated for Windows 10).
## Installing from Hackage
_Instructions applicable for macOS, Linux, and WSL2 on Windows._
[GF is on Hackage](http://hackage.haskell.org/package/gf), so under
normal circumstances the procedure is fairly simple:
```
cabal update
cabal install gf-3.12
```
### Notes
#### GHC version
The GF source code is known to be compilable with GHC versions 7.10 through to 9.6.7.
#### Obtaining Haskell
There are various ways of obtaining Haskell, including:
- ghcup
1. Install from https://www.haskell.org/ghcup/
2. `ghcup install ghc 9.6.7`
3. `ghcup set ghc 9.6.7`
- Stack: https://haskellstack.org/
#### Installation location
The above steps install GF for a single user.
The executables are put in `$HOME/.cabal/bin` (or on macOS in `$HOME/Library/Haskell/bin`),
so you might want to add this directory to your path (in `.bash_profile` or similar):
```
PATH=$HOME/.cabal/bin:$PATH
```
#### Haskeline
GF uses [`haskeline`](http://hackage.haskell.org/package/haskeline), which
on Linux depends on some non-Haskell libraries that won't be installed
automatically by Cabal, and therefore need to be installed manually.
Here is one way to do this:
- On Ubuntu: `sudo apt-get install libghc-haskeline-dev`
- On Fedora: `sudo dnf install ghc-haskeline-devel`
## Installing from source code
### Obtaining
To obtain the source code for the **release**,
download it from [GitHub](https://github.com/GrammaticalFramework/gf-core/releases).
Alternatively, to obtain the **latest version** of the source code:
1. If you haven't already, clone the repository with:
```
git clone https://github.com/GrammaticalFramework/gf-core.git
```
2. If you've already cloned the repository previously, update with:
```
git pull
```
### Installing
You can then install with:
```
cabal install
```
or, if you're a Stack user:
```
stack install
```
<!--The above notes for installing from source apply also in these cases.-->
For more info on working with the GF source code, see the
[GF Developers Guide](../doc/gf-developers.html).
## Installing the Python bindings from PyPI
The Python library is available on PyPI as `pgf`, so it can be installed using:
```
pip install pgf
```
If this doesn't work, you will need to install the C runtime manually; see the instructions [here](https://www.grammaticalframework.org/doc/gf-developers.html#toc12).
---
## Installing the RGL from a binary release
Binary releases of the RGL are made available on [GitHub](https://github.com/GrammaticalFramework/gf-rgl/releases).
In general the steps to follow are:
1. Download a binary release and extract it somewhere on your system.
2. Set the environment variable `GF_LIB_PATH` to point to wherever you extracted the RGL.
For more information, see [Using GF on Windows](https://www.grammaticalframework.org/~inari/gf-windows.html) (latest updated for Windows 10).
## Installing the RGL from source
To compile the RGL, you will need to have GF already installed and in your path.
1. Obtain the RGL source code, either by:
- cloning with `git clone https://github.com/GrammaticalFramework/gf-rgl.git`
- downloading a source archive [here](https://github.com/GrammaticalFramework/gf-rgl/archive/master.zip)
2. Run `make` in the source code folder.
For more options, see the [RGL README](https://github.com/GrammaticalFramework/gf-rgl/blob/master/README.md).
---
## Older releases
- [GF 3.11](index-3.11.html) (July 2021)
- [GF 3.10](index-3.10.html) (December 2018)
- [GF 3.9](index-3.9.html) (August 2017)
- [GF 3.8](index-3.8.html) (June 2016)
- [GF 3.7.1](index-3.7.1.html) (October 2015)
- [GF 3.7](index-3.7.html) (June 2015)
- [GF 3.6](index-3.6.html) (June 2014)
- [GF 3.5](index-3.5.html) (August 2013)
- [GF 3.4](index-3.4.html) (January 2013)
- [GF 3.3.3](index-3.3.3.html) (March 2012)
- [GF 3.3](index-3.3.html) (October 2011)
- [GF 3.2.9](index-3.2.9.html) source-only snapshot (September 2011)
- [GF 3.2](index-3.2.html) (December 2010)
- [GF 3.1.6](index-3.1.6.html) (April 2010)
-11
View File
@@ -1,11 +1,6 @@
Grammatical Framework Download and Installation Grammatical Framework Download and Installation
%!style:../css/style.css
%!postproc(html): <TD><B> <TH>
%!postproc(html): </B></TD> </TH>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
**GF 3.2.9** source-only snapshot was released on 12 September 2011. **GF 3.2.9** source-only snapshot was released on 12 September 2011.
What's new? Faster grammar compilation! What's new? Faster grammar compilation!
@@ -77,9 +72,3 @@ The above notes for installing from source apply also in this case.
- [GF 3.2 index-3.2.html] (December 2011). - [GF 3.2 index-3.2.html] (December 2011).
- [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009). - [GF 3.1 old-index.html] (December 2009).
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+1 -11
View File
@@ -1,11 +1,6 @@
Grammatical Framework Download and Installation Grammatical Framework Download and Installation
%!style:../css/style.css
%!postproc(html): <TD><B> <TH>
%!postproc(html): </B></TD> </TH>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
**GF 3.2** was released on 23 December 2010. **GF 3.2** was released on 23 December 2010.
What's new? See the [Release notes release-3.2.html]. What's new? See the [Release notes release-3.2.html].
@@ -27,7 +22,7 @@ More packages might be added later.
===Notes=== ===Notes===
The Windows package is installed by just unpacking it anywhere. The Windows package is installed by just unpacking it anywhere.
It finds the libraries relative to the ``.exe`` file. It finds the libraries relative to the ``.exe`` file.
The ``.deb`` packages work on Ubuntu 10.04 and 10.10. The ``.deb`` packages work on Ubuntu 10.04 and 10.10.
@@ -105,8 +100,3 @@ Subsequently:
``` ```
The above notes for installing from source apply also in this case. The above notes for installing from source apply also in this case.
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+1 -13
View File
@@ -1,12 +1,6 @@
Grammatical Framework Download and Installation Grammatical Framework Download and Installation
%!style:../css/style.css
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <TD><B> <TH>
%!postproc(html): </B></TD> </TH>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
**GF 3.3.3** was released on 3 March 2012. **GF 3.3.3** was released on 3 March 2012.
What's new? See the [Release notes release-3.3.3.html]. What's new? See the [Release notes release-3.3.3.html].
@@ -24,7 +18,7 @@ What's new? See the [Release notes release-3.3.3.html].
===Notes=== ===Notes===
The Windows package is installed by just unpacking it anywhere. The Windows package is installed by just unpacking it anywhere.
It finds the libraries relative to the ``.exe`` file. It finds the libraries relative to the ``.exe`` file.
%The ``.deb`` packages work on Ubuntu 10.04 and 10.10. %The ``.deb`` packages work on Ubuntu 10.04 and 10.10.
@@ -127,9 +121,3 @@ For more info, see the [GF Developers Guide ../doc/gf-developers.html].
- [GF 3.2 index-3.2.html] (December 2010). - [GF 3.2 index-3.2.html] (December 2010).
- [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009). - [GF 3.1 old-index.html] (December 2009).
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+1 -12
View File
@@ -1,11 +1,6 @@
Grammatical Framework Download and Installation Grammatical Framework Download and Installation
%!style:../css/style.css
%!postproc(html): <TD><B> <TH>
%!postproc(html): </B></TD> </TH>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
**GF 3.3** was released on 27 October 2011. **GF 3.3** was released on 27 October 2011.
What's new? See the [Release notes release-3.3.html]. What's new? See the [Release notes release-3.3.html].
@@ -27,7 +22,7 @@ More packages might be added later.
===Notes=== ===Notes===
The Windows package is installed by just unpacking it anywhere. The Windows package is installed by just unpacking it anywhere.
It finds the libraries relative to the ``.exe`` file. It finds the libraries relative to the ``.exe`` file.
%The ``.deb`` packages work on Ubuntu 10.04 and 10.10. %The ``.deb`` packages work on Ubuntu 10.04 and 10.10.
@@ -115,9 +110,3 @@ The above notes for installing from source apply also in this case.
- [GF 3.2 index-3.2.html] (December 2010). - [GF 3.2 index-3.2.html] (December 2010).
- [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009). - [GF 3.1 old-index.html] (December 2009).
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+2 -17
View File
@@ -1,13 +1,6 @@
Grammatical Framework Download and Installation Grammatical Framework Download and Installation
%!style:../css/style.css
%!postproc(html): </HEAD> <STYLE>body { color: #333; } li>code,p>code,pre { color: #730; }</STYLE></HEAD>
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <TD><B> <TH>
%!postproc(html): </B></TD> </TH>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
**GF 3.4** was released on 31 January 2013. **GF 3.4** was released on 31 January 2013.
What's new? See the [Release notes release-3.4.html]. What's new? See the [Release notes release-3.4.html].
@@ -20,14 +13,11 @@ What's new? See the [Release notes release-3.4.html].
| Fedora (32-bit) | [Fedora RPMs /~hallgren/tmp/Fedora/] | ``sudo rpm -i ...`` | Fedora (32-bit) | [Fedora RPMs /~hallgren/tmp/Fedora/] | ``sudo rpm -i ...``
| Ubuntu (32-bit) | [gf_3.4-1_i386.deb gf_3.4-1_i386.deb] | ``sudo dpkg -i gf_3.4-1_i386.deb`` | Ubuntu (32-bit) | [gf_3.4-1_i386.deb gf_3.4-1_i386.deb] | ``sudo dpkg -i gf_3.4-1_i386.deb``
| Ubuntu (64-bit) | [gf_3.4-1_amd64.deb gf_3.4-1_amd64.deb] | ``sudo dpkg -i gf_3.4-1_amd64.deb`` | Ubuntu (64-bit) | [gf_3.4-1_amd64.deb gf_3.4-1_amd64.deb] | ``sudo dpkg -i gf_3.4-1_amd64.deb``
| Windows | [gf-3.4-bin-windows.zip gf-3.4-bin-windows.zip] | | Windows | [gf-3.4-bin-windows.zip gf-3.4-bin-windows.zip] | -
%| ... | ... | ...
%More binary packages might be added later.
===Notes=== ===Notes===
%The Windows package is installed by just unpacking it anywhere. %The Windows package is installed by just unpacking it anywhere.
%It finds the libraries relative to the ``.exe`` file. %It finds the libraries relative to the ``.exe`` file.
The ``.deb`` packages work on Ubuntu 12.04, 12.10 and 13.04. The ``.deb`` packages work on Ubuntu 12.04, 12.10 and 13.04.
@@ -153,8 +143,3 @@ For more info on working with the GF source code, see the
- [GF 3.2 index-3.2.html] (December 2010). - [GF 3.2 index-3.2.html] (December 2010).
- [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009). - [GF 3.1 old-index.html] (December 2009).
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
-12
View File
@@ -1,13 +1,6 @@
Grammatical Framework Download and Installation Grammatical Framework Download and Installation
%!style:../css/style.css
%!postproc(html): </HEAD> <STYLE>body { color: #333; } li>code,p>code,pre { color: #730; }</STYLE></HEAD>
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <TD><B> <TH>
%!postproc(html): </B></TD> </TH>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
**GF 3.5** was released on 6 August 2013. **GF 3.5** was released on 6 August 2013.
What's new? See the [Release notes release-3.5.html]. What's new? See the [Release notes release-3.5.html].
@@ -157,8 +150,3 @@ For more info on working with the GF source code, see the
- [GF 3.2 index-3.2.html] (December 2010). - [GF 3.2 index-3.2.html] (December 2010).
- [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009). - [GF 3.1 old-index.html] (December 2009).
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
-12
View File
@@ -1,13 +1,6 @@
Grammatical Framework Download and Installation Grammatical Framework Download and Installation
%!style:../css/style.css
%!postproc(html): </HEAD> <STYLE>body { color: #333; } li>code,p>code,pre { color: #730; }</STYLE></HEAD>
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
%!postproc(html): <TD><I> <TD><small>
%!postproc(html): </I></TD> </small></TD>
**GF 3.6** was released on 23 June 2014. **GF 3.6** was released on 23 June 2014.
What's new? See the [Release notes release-3.6.html]. What's new? See the [Release notes release-3.6.html].
@@ -177,8 +170,3 @@ For more info on working with the GF source code, see the
- [GF 3.2 index-3.2.html] (December 2010). - [GF 3.2 index-3.2.html] (December 2010).
- [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009). - [GF 3.1 old-index.html] (December 2009).
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+1 -12
View File
@@ -1,12 +1,6 @@
Grammatical Framework Download and Installation Grammatical Framework Download and Installation
%!style:../css/notes.css
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
%!postproc(html): <TD><I> <TD><small>
%!postproc(html): </I></TD> </small></TD>
**GF 3.7.1** was released on 2 October 2015. **GF 3.7.1** was released on 2 October 2015.
What's new? See the [Release notes release-3.7.1.html]. What's new? See the [Release notes release-3.7.1.html].
@@ -46,7 +40,7 @@ The ``.deb`` packages work on Ubuntu 12.04, 14.04 and 15.04.
The packages for Mac OS X should work on at least 10.9, 10.10 and 10.11 (Mavericks, Yosemite and El Capitan). The packages for Mac OS X should work on at least 10.9, 10.10 and 10.11 (Mavericks, Yosemite and El Capitan).
(*) **Note** that for compatibility with OS X 10.11, (*) **Note** that for compatibility with OS X 10.11,
``gf-3.7.1.pkg`` will install the ``gf`` executable in ``/usr/local/bin`` ``gf-3.7.1.pkg`` will install the ``gf`` executable in ``/usr/local/bin``
instead of ``/usr/bin``, so make sure ``/usr/local/bin`` is in your ``$PATH``. instead of ``/usr/bin``, so make sure ``/usr/local/bin`` is in your ``$PATH``.
Also, if you still have an older version of GF installed in ``/usr/bin``, Also, if you still have an older version of GF installed in ``/usr/bin``,
@@ -180,8 +174,3 @@ For more info on working with the GF source code, see the
- [GF 3.2 index-3.2.html] (December 2010). - [GF 3.2 index-3.2.html] (December 2010).
- [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009). - [GF 3.1 old-index.html] (December 2009).
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
-12
View File
@@ -1,13 +1,6 @@
Grammatical Framework Download and Installation Grammatical Framework Download and Installation
%!style:../css/style.css
%!postproc(html): </HEAD> <STYLE>body { color: #333; } li>code,p>code,pre { color: #730; }</STYLE></HEAD>
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
%!postproc(html): <TD><I> <TD><small>
%!postproc(html): </I></TD> </small></TD>
**GF 3.7** was released on 25 June 2015. **GF 3.7** was released on 25 June 2015.
What's new? See the [Release notes release-3.7.html]. What's new? See the [Release notes release-3.7.html].
@@ -173,8 +166,3 @@ For more info on working with the GF source code, see the
- [GF 3.2 index-3.2.html] (December 2010). - [GF 3.2 index-3.2.html] (December 2010).
- [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009). - [GF 3.1 old-index.html] (December 2009).
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+1 -12
View File
@@ -1,12 +1,6 @@
Grammatical Framework Download and Installation Grammatical Framework Download and Installation
%!style:../css/notes.css
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
%!postproc(html): <TD><I> <TD><small>
%!postproc(html): </I></TD> </small></TD>
**GF 3.8** was released on 22 June 2016. **GF 3.8** was released on 22 June 2016.
What's new? See the [Release notes release-3.8.html]. What's new? See the [Release notes release-3.8.html].
@@ -49,7 +43,7 @@ Linux distributions.
The packages for Mac OS X should work on at least 10.9, 10.10 and 10.11 (Mavericks, Yosemite and El Capitan). The packages for Mac OS X should work on at least 10.9, 10.10 and 10.11 (Mavericks, Yosemite and El Capitan).
(*) **Note** that for compatibility with OS X 10.11, (*) **Note** that for compatibility with OS X 10.11,
``gf-3.8.pkg`` will install the ``gf`` executable in ``/usr/local/bin`` ``gf-3.8.pkg`` will install the ``gf`` executable in ``/usr/local/bin``
instead of ``/usr/bin``, so make sure ``/usr/local/bin`` is in your ``$PATH``. instead of ``/usr/bin``, so make sure ``/usr/local/bin`` is in your ``$PATH``.
Also, if you still have an older version of GF installed in ``/usr/bin``, Also, if you still have an older version of GF installed in ``/usr/bin``,
@@ -171,8 +165,3 @@ For more info on working with the GF source code, see the
- [GF 3.2 index-3.2.html] (December 2010). - [GF 3.2 index-3.2.html] (December 2010).
- [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009). - [GF 3.1 old-index.html] (December 2009).
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+192
View File
@@ -0,0 +1,192 @@
Grammatical Framework Download and Installation
**GF 3.9** was released on 11 August 2017.
What's new? See the [Release notes release-3.9.html].
== Binary packages ==
|| Platform | Download | Features | How to install
| macOS | [gf-3.9.pkg gf-3.9.pkg] | //GF+S+C+J+P// | Double-click on the package icon
| macOS | [gf-3.9-bin-intel-mac.tar.gz gf-3.9-bin-intel-mac.tar.gz] | //GF+S+C+J+P// | ``sudo tar -C /usr/local -zxf gf-3.9-bin-intel-mac.tar.gz``
%| Fedora (32-bit) | [Fedora RPMs /~hallgren/tmp/Fedora/] | //GF+S+C+J+P// | ``sudo rpm -i ...``
| Raspbian 9.1 | [gf_3.9-1_armhf.deb gf_3.9-1_armhf.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_armhf.deb``
| Ubuntu (32-bit) | [gf_3.9-1_i386.deb gf_3.9-1_i386.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_i386.deb``
| Ubuntu (64-bit) | [gf_3.9-1_amd64.deb gf_3.9-1_amd64.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_amd64.deb``
| Windows | [gf-3.9-bin-windows.zip gf-3.9-bin-windows.zip] | //GF+S// | ``unzip gf-3.9-bin-windows.zip``
%| MINGW | [gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz] | //GF+S+C// | ``tar -C / gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz``
%| ... | ... | ... | ...
Features: GF = GF shell and grammar compiler and the Resource Grammar Library,
S = ``gf -server`` mode,
C = C run-time system,
J/P = Java/Python binding to the C run-time system
%More binary packages might be added later.
===Notes===
The Windows package is installed by just unpacking it anywhere.
%It finds the libraries relative to the ``.exe`` file.
You will probably need to set the ``PATH`` and ``GF_LIB_PATH`` environment
variables, see Inari's notes on
[Installing GF on Windows http://www.grammaticalframework.org/~inari/gf-windows.html#toc3].
%The new experimental MINGW package is for use in the
%[MINGW http://www.mingw.org] environment in Windows. Unpack it in the MSYS shell
%(which is started with ``C:\MinGW\msys\1.0\msys.bat``).
%It should work out of the box without any additional settings.
The Ubuntu ``.deb`` packages should work on Ubuntu 16.04 and 17.04 and similar
Linux distributions.
The Raspian ``.deb`` package was created on a Raspberry Pi 3 and will probably
work on other ARM-based systems running Debian 9 (stretch) or similar
Linux distributions.
The packages for macOS (Mac OS X) should work on at
least 10.11 and 10.12 (El Capitan and Sierra).
%(*) **Note** that for compatibility with OS X 10.11 and newer,
%``gf-3.9.pkg`` will install the ``gf`` executable in ``/usr/local/bin``
%instead of ``/usr/bin``, so make sure ``/usr/local/bin`` is in your ``$PATH``.
%Also, if you still have an older version of GF installed in ``/usr/bin``,
%remove it and/or make sure ``/usr/local/bin`` comes before ``/usr/bin``
%in your ``$PATH`` so you don't accidentally run the old version.
The Mac OS and Linux ``.tar.gz`` packages are designed to be installed in
``/usr/local``.
You can install them in other locations, but then you need to set the
``GF_LIB_PATH`` environment variable:
```
export GF_LIB_PATH=/usr/local/share/gf-3.9/lib
```
where ``/usr/local`` should be replaced with the path to the location where you
unpacked the package.
==Installing the latest release from source==
[GF is on Hackage http://hackage.haskell.org/package/gf], so under normal
circumstances the prodedure is fairly simple:
+ Install a recent version of the
[Haskell Platform http://hackage.haskell.org/platform],
e.g. version 7.10.3 (see note 2 below)
+ ``cabal update``
+ On Linux: install some C libraries from your Linux distribution
(see note 1 below)
+ ``cabal install gf``
You can also download the full source package from here:
[``gf-3.9.tar.gz`` gf-3.9.tar.gz].
=== Notes ===
The above steps installs GF for a single user.
% and does not require root privileges.
The executables are put in ``$HOME/.cabal/bin``
(or, with recent versions of the Haskell platform on Mac OS X,
in ``$HOME/Library/Haskell/bin``), so it is a good
idea to put a line in your ``.bash_profile`` or ``.profile``
to add that directory to you path:
```
PATH=$HOME/.cabal/bin:$PATH
```
or
```
PATH=$HOME/Library/Haskell/bin:$PATH
```
**Note 1**.
GF uses [``haskeline`` http://hackage.haskell.org/package/haskeline], which
on Linux depends on some non-Haskell libraries that
won't be installed automatically by cabal, and therefore need to be installed
manually. Here is one way to do this:
- On Ubuntu: ``sudo apt-get install libghc-haskeline-dev``
- On Fedora: ``sudo yum install ghc-haskeline-devel``
**Note 2**.
The GF source code has been updated to compile with GHC 8.2.1. Using older
versions of GHC (e.g. 8.0.x and 7.10.3) should still work too.
%=== Known problems ===
%
%There seems to be a bug in some versions of Cabal that can cause
%
%```
% Distribution/Simple/PackageIndex.hs:124:8-13: Assertion failed
%```
%
%if the same version of GF is
%already installed. If you encounter this, you can use ``ghc-pkg unregister gf``
%to remove the installed version of GF and ``ghc-pkg list gf`` to verify that
%it is gone.
==Installing from the latest developer source code==
The first time:
%, assuming you already have the Haskell Platform and darcs
```
git clone https://github.com/GrammaticalFramework/gf-core.git
cd gf-core
cabal install
```
and
```
git clone https://github.com/GrammaticalFramework/gf-rgl.git
cd gf-rgl
make
```
Subsequently:
```
cd gf-core
git pull
cabal install
```
and
```
cd gf-rgl
git pull
make
```
The above notes for installing from source apply also in these cases.
For more info on working with the GF source code, see the
[GF Developers Guide ../doc/gf-developers.html].
==Using Stack==
You can also use [Stack https://www.haskellstack.org] to compile GF, just replace ``cabal install`` above
with ``stack install`` (assuming you already have Stack set up).
==Older releases==
- [GF 3.8 index-3.8.html] (June 2016)
- [GF 3.7.1 index-3.7.1.html] (October 2015)
- [GF 3.7 index-3.7.html] (June 2015)
- [GF 3.6 index-3.6.html] (June 2014)
- [GF 3.5 index-3.5.html] (August 2013)
- [GF 3.4 index-3.4.html] (January 2013).
- [GF 3.3.3 index-3.3.3.html] (March 2012).
- [GF 3.3 index-3.3.html] (October 2011).
- [GF 3.2.9 index-3.2.9.html] source-only snapshot (September 2011).
- [GF 3.2 index-3.2.html] (December 2010).
- [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009).
+8
View File
@@ -0,0 +1,8 @@
<html>
<head>
<meta http-equiv="refresh" content="0; URL=/download/index-3.11.html" />
</head>
<body>
You are being redirected to <a href="index-3.12.html">the current version</a> of this page.
</body>
</html>
-146
View File
@@ -1,146 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE>Grammatical Framework Download and Installation</TITLE>
<style>
h1 { text-align: center; }
h1,h2,h3 { font-family: sans-serif; }
ul.downloads a { font-family: monospace; }
</style>
</HEAD>
<BODY BGCOLOR="white" TEXT="black">
<H1>Grammatical Framework<br>Download and Installation</H1>
<H2>Latest developer code</H2>
<P>
<A HREF="../doc/gf-developers.html">GF darcs repository</A>
</P>
<H2>Latest release</h2>
<dl>
<dt>GF 3.1, 15 December 2009
<dd>
<p>
<ul class=downloads>
<li>For Linux (32-bit):
<a href="gf-3.1-bin-i486-linux.tar.gz">gf-3.1-bin-i468-linux.tar.gz</a>
<li>For Linux (64-bit):
<a href="gf-3.1-bin-x86_64-linux.tar.gz">gf-3.1-bin-x86_64-linux.tar.gz</a>
<li>For Mac:
<a href="gf-3.1-bin-intel-mac.tar.gz">gf-3.1-bin-intel-mac.tar.gz</a>
(Leopard &amp; Snow Leopard)
<li>For Windows:
<a href="gf-3.1-bin-i486-windows.zip">gf-3.1-bin-i486-windows.zip</a>
<li>Source package:
<a href="gf-3.1-src.tar.gz">gf-3.1-src.tar.gz</a>
(a dump of the darcs repo)
<li>Libraries: <a href="gf-lib-1.7.tar.gz">gf-lib-1.7.tar.gz</a>
(sources, compiled as alltenses/present, docs)
</ul>
<H3>Installation instructions</H3>
<ul>
<li>Linux &amp; Mac binaries: <tt>tar xvfz</tt> in /
<li>Windows binary: unzip in c:\
<li>Compiled library:
<tt>tar xvfz</tt> in some DIR and point the variable GF_LIB_PATH to DIR/lib.
<li>
Source package: <tt>tar xvfz</tt> somewhere and compile as follows:
<P>
<PRE>
tar xvfz gf-3.0.tgz
cd gf-3.0
# alternative 1:
runghc Setup configure
runghc Setup build
runghc Setup install
# alternative 2:
make
make install
</PRE>
</dl>
<H2>Old releases</H2>
<dl>
<dt>GF 3.0, 24 June 2009.
<dd>
<P>
<ul>
<li><A HREF="gf-3.0-mac.gz">Mac OS X Leopard (intel) executable</A>
(requires Readline from <A HREF="http://www.macports.org/">Mac Ports</A>)
<li><A HREF="gf-3.0-mac-noreadline.gz">Mac OS X Leopard (Intel) executable</A>
(doesn't require Readline)
<li><A HREF="gf-linux.tar.gz">Linux (intel) binary package</A>
<li><A HREF="gf-win32.zip">Windows binary package</A>
<li><A HREF="gf-lib-1.6.tgz">Compiled libraries, v. 1.6</A>
<li><A HREF="gf-3.0-src.tgz">Source package for GF system (a dump of the darcs repo)</A>
</ul>
<H3>Installation instructions</H3>
<p>
Mac binary: gunzip and put somewhere on your path.
<P>
Linux: <tt>tar xvfz</tt> in /
<P>
Windows: unzip in c:\
<p>
Compiled library: <tt>tar xvfz</tt> in some DIR and point the variable GF_LIB_PATH to DIR/lib.
<p>
Source package: <tt>tar xvfz</tt> somewhere and compile as follows:
<P>
<PRE>
tar xvfz gf-3.0.tgz
cd gf-3.0
# alternative 1:
runghc Setup configure
runghc Setup build
runghc Setup install
# alternative 2:
make
make install
</PRE>
</dl>
GF 3.0 beta3, April 2009.
<UL>
<LI>
<A HREF="GF-3.0-beta3-i386-apple-darwin9.6.0.tgz">Mac OS X Leopard (intel) binary package</A>
<LI>
<A HREF="gf-3.0-beta3.zip">Windows binary</A>
<LI><A HREF="GF-3.0-beta3.tgz">GF 3.0 beta3 sources</A> (both system and library)
</UL>
3.0 beta2
<UL>
<LI><A HREF="GF-3.0-beta2-i686-pc-linux-gnu.tgz">GF 3.0 beta2 Linux binary package</A> (Intel, Ubuntu)
<P></P>
<LI>GF 3.0 beta2 MacOS X binary package:
<A HREF="GF-3.0-beta2-i386-apple-darwin9.4.0.tgz">Leopard</A> (Intel Mac with MacOS X Leopard)
<A HREF="GF-3.0-beta2-i386-apple-darwin8.11.1.tgz">Tiger</A> (Intel Mac with MacOS X Tiger)
<P></P>
<LI><A HREF="gf-3.0-beta2.zip">GF 3.0 beta2 Windows package</A> (includes libraries)
<P></P>
<LI><A HREF="GF-3.0-beta2.tgz">GF 3.0 beta2 sources</A> (both system and library)
<P></P>
<LI><A HREF="gf-lib-1.4.tgz">GF libraries v 1.4</A> (compiled resource grammar libraries)
</UL>
<!--
<UL>
<LI><A HREF="../../GF2/download/index.html">GF 2.9 download page</A>
</UL>
-->
<!-- html code generated by txt2tags 2.4 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml index.txt -->
</BODY></HTML>
-87
View File
@@ -1,87 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE>GF Version 3.1.6 Release Notes</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1>GF Version 3.1.6 Release Notes</H1>
<FONT SIZE="4">
<I>23 April 2010</I><BR>
</FONT></CENTER>
<H1>Installation</H1>
<P>
The binaries now work out of the box for each platform and support
completions (file names and parsing), because readline has been
changed to haskeline.
</P>
<P>
To compile from source, GHC 6.12 is now required. But GHC is not needed
if the binary executables are used.
</P>
<P>
Binaries (<CODE>.gfo</CODE> and <CODE>.pgf</CODE> files) compiled with GF 3.1 are incompatible
with 3.1.6 and must either be removed; alternatively, the <CODE>-src</CODE> flag can be
used when compiling.
</P>
<P>
Notice the new place to send bug reports (see GF's welcome message)!
</P>
<H1>New features</H1>
<P>
Grammar language
</P>
<UL>
<LI>improved support for dependent types (see <CODE>SUMO</CODE>, <CODE>nqueens</CODE> in <CODE>examples</CODE>)
</UL>
<P>
Shell commands and options (see <CODE>help</CODE> in GF for more information)
</P>
<UL>
<LI><CODE>eb</CODE>: example-based grammar file conversion
(see <CODE>examples/animals/QuestionI.gf</CODE>)
<LI><CODE>vd = visualize_dependency</CODE>: show dependency tree
<LI><CODE>vp = visualize_parse</CODE>: show parse tree
<LI><CODE>gr, gt, mq, tq</CODE>: use a seed tree with metavariables
<LI><CODE>gr, p, tq</CODE>: use <CODE>-probs=FILE</CODE> to bias or rank generated trees
<LI><CODE>gt</CODE> now tries the different alternatives in the order in which they appear in the source code
<LI><CODE>dg</CODE>: hide modules when printing dependency graph
<LI>-output-format=lambda_prolog let us to use Lambda Prolog for exhaustive generation with dependent types
</UL>
<P>
Libraries
</P>
<UL>
<LI>Urdu completed (Shafqat Virk)
<LI>Turkish morphology + Zamberek's dictionary in GF (Server Cimen)
</UL>
<P>
Examples
</P>
<UL>
<LI>SUMO
<LI>phrasebook
<LI>nqueens
</UL>
<P>
Internal
</P>
<UL>
<LI>single PMCFG format for both linearization and parsing
<LI>use of Haskeline for completion - more portable than Readline
<LI>unicode support from Haskell 6.12 instead of home-made coding
</UL>
<H2>Issues</H2>
<P>
Javascript generation is not updated to the new PGF format.
<A HREF="old-index.html">GF 3.1</A> should still be used for building Javascript applications.
</P>
<!-- html code generated by txt2tags 2.5 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml release-3.1.6.txt -->
</BODY></HTML>
@@ -5,13 +5,13 @@ GF Version 3.1.6 Release Notes
=Installation= =Installation=
The binaries now work out of the box for each platform and support The binaries now work out of the box for each platform and support
completions (file names and parsing), because readline has been completions (file names and parsing), because readline has been
changed to haskeline. changed to haskeline.
To compile from source, GHC 6.12 is now required. But GHC is not needed To compile from source, GHC 6.12 is now required. But GHC is not needed
if the binary executables are used. if the binary executables are used.
Binaries (``.gfo`` and ``.pgf`` files) compiled with GF 3.1 are incompatible Binaries (``.gfo`` and ``.pgf`` files) compiled with GF 3.1 are incompatible
with 3.1.6 and must either be removed; alternatively, the ``-src`` flag can be with 3.1.6 and must either be removed; alternatively, the ``-src`` flag can be
used when compiling. used when compiling.
@@ -24,8 +24,8 @@ Grammar language
- improved support for dependent types (see ``SUMO``, ``nqueens`` in ``examples``) - improved support for dependent types (see ``SUMO``, ``nqueens`` in ``examples``)
Shell commands and options (see ``help`` in GF for more information) Shell commands and options (see ``help`` in GF for more information)
- ``eb``: example-based grammar file conversion - ``eb``: example-based grammar file conversion
(see ``examples/animals/QuestionI.gf``) (see ``examples/animals/QuestionI.gf``)
- ``vd = visualize_dependency``: show dependency tree - ``vd = visualize_dependency``: show dependency tree
- ``vp = visualize_parse``: show parse tree - ``vp = visualize_parse``: show parse tree
@@ -57,8 +57,3 @@ Internal
Javascript generation is not updated to the new PGF format. Javascript generation is not updated to the new PGF format.
[GF 3.1 old-index.html] should still be used for building Javascript applications. [GF 3.1 old-index.html] should still be used for building Javascript applications.
+66
View File
@@ -0,0 +1,66 @@
---
title: GF 3.10 Release Notes
date: 2 December 2018
...
## Installation
See the [download page](index.html).
## What's new
In this release, the GF "core" (compiler and runtimes) and RGL have been split into separate repositories.
The binary packages on the downloads page contain both GF and the RGL, but the sources are now separate:
[gf-core](https://github.com/GrammaticalFramework/gf-core) and
[gf-rgl](https://github.com/GrammaticalFramework/gf-rgl).
Over 300 changes have been pushed to GF and over 600 changes have been made to the RGL
since the release of GF 3.9 in August 2017.
## General
- Travis integration:
GF [![Build Status](https://travis-ci.org/GrammaticalFramework/gf-core.svg?branch=master)](https://travis-ci.org/GrammaticalFramework/gf-core) and
RGL [![Build Status](https://travis-ci.org/GrammaticalFramework/gf-rgl.svg?branch=master)](https://travis-ci.org/GrammaticalFramework/gf-rgl)
- A lot of bug fixes and repository cleanup, including things moved to new repositories:
- [Phrasebook](https://github.com/GrammaticalFramework/gf-contrib/tree/master/phrasebook)
- [Wide coverage translator](https://github.com/GrammaticalFramework/wide-coverage)
- [Mobile apps](https://github.com/GrammaticalFramework/gf-offline-translator)
- [gftest](https://github.com/GrammaticalFramework/gftest)
- [gf-mode](https://github.com/GrammaticalFramework/gf-emacs-mode) for Emacs
- [RGL browser](https://github.com/GrammaticalFramework/rgl-source-browser) (live [here](http://www.grammaticalframework.org/~john/rgl-browser/))
- A fresh look for the GF website.
## GF compiler and run-time library
- Extensive improvements in the C runtime and bindings to it from Python, Java, Haskell, C#
- A GF shell which uses the C runtime
- Better error messages
- GF now has a Stack configuration file
- The compiler source code has been updated for compatibility with GHC 8.4.3.
- `GF_LIB_PATH` can now be `path1:path2:path3`, not just `path1`
- Add TypeScript type definitions for `gflib.js`
- New compiler/shell options
- added option `-output-format=java` for producing code for embedded grammars in Java
- `rf -paragraphs`
- `linearize -tabtreebank`
- A new function called `completions` is added in the Haskell runtime and used in PGFService. This makes the extraction of completions more platform independent
## Resource Grammar Library
- [Bash build script](https://github.com/GrammaticalFramework/gf-rgl/blob/master/Setup.sh), for building the RGL without Haskell
- [Windows build script](https://github.com/GrammaticalFramework/gf-rgl/blob/master/Setup.bat), for building the RGL without Haskell on a regular Windows command shell
- New languages:
- Basque
- Portuguese
- Big progress with Arabic, Turkish, Persian
- Introduction of `Extend` module to combine the functions of `Extra` and `Extensions` in a more disciplined way
- Various fixes for several languages.
- Various fixes in the translation dictionaries.
## Apps and Cloud services
- Sort list of public grammars by age by default
- Browser compatibility fixes
- Allow public grammars to be deleted in more cases
- Show grammar comments in the list of public grammars
+43
View File
@@ -0,0 +1,43 @@
---
title: GF 3.11 Release Notes
date: 25 July 2021
---
## Installation
See the [download page](index-3.11.html).
## What's new
From this release, the binary GF core packages do not contain the RGL.
The RGL's release cycle is now completely separate from GF's. See [RGL releases](https://github.com/GrammaticalFramework/gf-rgl/releases).
Over 500 changes have been pushed to GF core
since the release of GF 3.10 in December 2018.
## General
- Make the test suite work again.
- Compatibility with new versions of GHC, including multiple Stack files for the different versions.
- Support for newer version of Ubuntu 20.04 in the precompiled binaries.
- Updates to build scripts and CI workflows.
- Bug fixes and code cleanup.
## GF compiler and run-time library
- Add CoNLL output to `visualize_tree` shell command.
- Add canonical GF as output format in the compiler.
- Add PGF JSON as output format in the compiler.
- Deprecate JavaScript runtime in favour of updated [TypeScript runtime](https://github.com/GrammaticalFramework/gf-typescript).
- Improvements in time & space requirements when compiling certain grammars.
- Improvements to Haskell export.
- Improvements to the GF shell.
- Improvements to canonical GF compilation.
- Improvements to the C runtime.
- Improvements to `gf -server` mode.
- Clearer compiler error messages.
## Other
- Web page and documentation improvements.
- Add WordNet module to GFSE.
+37
View File
@@ -0,0 +1,37 @@
---
title: GF 3.12 Release Notes
date: 08 August 2025
---
## Installation
See the [download page](index-3.12.html).
## What's new
This release adds support for Apple Silicon M1 Mac computers and newer versions of GHC, along with various improvements and bug fixes.
Over 70 commits have been merged to gf-core since the release of GF 3.11 in July 2021.
## General
- Support for ARM, allowing to run GF on Mac computers with Apple Silicon M1
- Support for newer versions of GHC (8.10.7, 9.0.2, 9.2.4, 9.4, 9.6.7)
- Support compiling with Nix
- Better error messages
- Improvements to several GF shell commands
- Several bug fixes and performance improvements
- Temporarily dropped support for Java bindings
## GF compiler and run-time library
- Syntactic sugar for table update: `table {cases ; vvv => t \! vvv}.t` can now be written as `t ** { cases }`
- Adjust the `-view` command depending on the OS
- Improve output of the `visualize_dependencies` (`vd`) command for large dependency trees
- Reintroduce syntactic transfer with `pt -transfer` and fix a bug in `pt -compute`
- Bug fix: apply `gt` to all arguments when piped
- Fix many "Invalid character" messages by always encoding GF files in UTF-8
- Improve performance with long extend-lists
- Improve syntax error messages
- Add support for BIND tokens in the Python bindings
- Allow compilation with emscripten
## Other
- Add support for Visual Studio Code
-8
View File
@@ -1,9 +1,6 @@
GF Version 3.2 Release Notes GF Version 3.2 Release Notes
December 2010 December 2010
%!style:../css/style.css
%!postproc(html): <H1> <H1><IMG src="../doc/Logos/gf0.png">
==Installation== ==Installation==
See the [download page http://www.grammaticalframework.org/download/index.html]. See the [download page http://www.grammaticalframework.org/download/index.html].
@@ -34,8 +31,3 @@ See the [download page http://www.grammaticalframework.org/download/index.html].
- GF compiler: GPL - GF compiler: GPL
- Run-time libraries and Resource Grammar Library: LGPL + BSD - Run-time libraries and Resource Grammar Library: LGPL + BSD
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
-9
View File
@@ -1,10 +1,6 @@
GF Version 3.3.3 Release Notes GF Version 3.3.3 Release Notes
March 2012 March 2012
%!style:../css/style.css
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <H1> <H1><IMG src="../doc/Logos/gf0.png">
==Installation== ==Installation==
See the [download page http://www.grammaticalframework.org/download/index.html]. See the [download page http://www.grammaticalframework.org/download/index.html].
@@ -25,8 +21,3 @@ See the [download page http://www.grammaticalframework.org/download/index.html].
- Fix for a bug that prevented the shell commands ``abstract_info``, - Fix for a bug that prevented the shell commands ``abstract_info``,
``generate_random`` and ``generate_trees`` from working properly. ``generate_random`` and ``generate_trees`` from working properly.
- Various other small improvements and bug fixes. - Various other small improvements and bug fixes.
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+1 -10
View File
@@ -1,17 +1,13 @@
GF Version 3.3 Release Notes GF Version 3.3 Release Notes
October 2011 October 2011
%!style:../css/style.css
%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE>
%!postproc(html): <H1> <H1><IMG src="../doc/Logos/gf0.png">
==Installation== ==Installation==
See the [download page http://www.grammaticalframework.org/download/index.html]. See the [download page http://www.grammaticalframework.org/download/index.html].
==New features== ==New features==
- Source language extension: it is now possible to override the oper definitions in an interface, by using the - Source language extension: it is now possible to override the oper definitions in an interface, by using the
header syntax ``instance Foo of Bar - [f,g,h]``. header syntax ``instance Foo of Bar - [f,g,h]``.
- New functionalities in GF shell commands (more information with ``help`` command-name). - New functionalities in GF shell commands (more information with ``help`` command-name).
- ``aw`` = ``align_words`` option ``-giza`` prints word alignments in Giza++ format. - ``aw`` = ``align_words`` option ``-giza`` prints word alignments in Giza++ format.
@@ -29,8 +25,3 @@ See the [download page http://www.grammaticalframework.org/download/index.html].
and the web-based grammar editor. and the web-based grammar editor.
- Faster grammar compilation (also included in the GF 3.2.9 source-only - Faster grammar compilation (also included in the GF 3.2.9 source-only
snapshot). snapshot).
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
-9
View File
@@ -1,10 +1,6 @@
GF Version 3.4 Release Notes GF Version 3.4 Release Notes
January 2013 January 2013
%!style:../css/style.css
%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
==Installation== ==Installation==
See the [download page http://www.grammaticalframework.org/download/index.html]. See the [download page http://www.grammaticalframework.org/download/index.html].
@@ -46,8 +42,3 @@ See the [download page http://www.grammaticalframework.org/download/index.html].
- Some new functionality in the web-based grammar editor, e.g. preliminary - Some new functionality in the web-based grammar editor, e.g. preliminary
support for public grammars. support for public grammars.
- Various other small improvements and bug fixes. - Various other small improvements and bug fixes.
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
-8
View File
@@ -1,10 +1,6 @@
GF 3.5 Release Notes GF 3.5 Release Notes
August 2013 August 2013
%!style:../css/style.css
%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
==Installation== ==Installation==
See the [download page http://www.grammaticalframework.org/download/index.html]. See the [download page http://www.grammaticalframework.org/download/index.html].
@@ -70,7 +66,3 @@ of GF 3.4.
[``network-2.4.1.1`` https://github.com/haskell/network/commit/f2168b1f8978b4ad9c504e545755f0795ac869ce]. [``network-2.4.1.1`` https://github.com/haskell/network/commit/f2168b1f8978b4ad9c504e545755f0795ac869ce].
- Various other small improvements and bug fixes. - Various other small improvements and bug fixes.
%- [...] %- [...]
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+1 -10
View File
@@ -1,10 +1,6 @@
GF 3.6 Release Notes GF 3.6 Release Notes
June 2014 June 2014
%!style:../css/style.css
%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
==Installation== ==Installation==
See the [download page http://www.grammaticalframework.org/download/index.html]. See the [download page http://www.grammaticalframework.org/download/index.html].
@@ -26,7 +22,7 @@ Closed [issues http://code.google.com/p/grammatical-framework/issues/list]:
as ``--# -coding=``//enc//, instead of ``flags coding=``//enc//. as ``--# -coding=``//enc//, instead of ``flags coding=``//enc//.
See the separate document See the separate document
[GF character encoding changes encoding-change.html] for more details. [GF character encoding changes encoding-change.html] for more details.
- Record update: in record objects (but not types) of form ``r ** s``, the values assigned - Record update: in record objects (but not types) of form ``r ** s``, the values assigned
in ``s`` now overwrite those in ``r``. In previous versions, record extensions with in ``s`` now overwrite those in ``r``. In previous versions, record extensions with
overlapping assignments in ``r`` and ``s`` were not supported, and their behaviour was overlapping assignments in ``r`` and ``s`` were not supported, and their behaviour was
unpredictable. unpredictable.
@@ -107,8 +103,3 @@ Closed [issues http://code.google.com/p/grammatical-framework/issues/list]:
- ``c-wordforword``: this works as ``c-translate`` but does a - ``c-wordforword``: this works as ``c-translate`` but does a
word-for-word lookup to create a (potentially very low quality) word-for-word lookup to create a (potentially very low quality)
translation that can be used if all else fails. translation that can be used if all else fails.
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+4 -13
View File
@@ -1,10 +1,6 @@
GF 3.7.1 Release Notes GF 3.7.1 Release Notes
October 2015 October 2015
%!style:../css/notes.css
%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
==Installation== ==Installation==
See the [download page http://www.grammaticalframework.org/download/index.html]. See the [download page http://www.grammaticalframework.org/download/index.html].
@@ -18,10 +14,10 @@ Over 170 changes have been pushed to the source repository since
====New features and notable changes==== ====New features and notable changes====
- GF shell: ``cc -trace`` (preliminary): you can now do things like - GF shell: ``cc -trace`` (preliminary): you can now do things like
``cc -trace mkV "debug"`` ``cc -trace mkV "debug"``
to see a trace of all opers with their arguments and results during the to see a trace of all opers with their arguments and results during the
computation of ``mkV "debug"``. computation of ``mkV "debug"``.
@@ -29,7 +25,7 @@ Over 170 changes have been pushed to the source repository since
from the GF shell by starting GF with ``gf -cshell`` or ``gf -crun``. from the GF shell by starting GF with ``gf -cshell`` or ``gf -crun``.
Only limited functionality is available when running the shell in these Only limited functionality is available when running the shell in these
modes (use the ``help`` command in the shell for details): modes (use the ``help`` command in the shell for details):
- You can only import ``.pgf`` files, not source files. - You can only import ``.pgf`` files, not source files.
- The ``-retain`` flag can not be used and the commands that require it to - The ``-retain`` flag can not be used and the commands that require it to
work are not available. work are not available.
@@ -77,8 +73,3 @@ Over 170 changes have been pushed to the source repository since
you can leave ``&+`` uninterpreted instead of gluing the adjacent tokens. you can leave ``&+`` uninterpreted instead of gluing the adjacent tokens.
This means that the output is left in a format that can be parsed in This means that the output is left in a format that can be parsed in
a subsequent request. a subsequent request.
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+1 -10
View File
@@ -1,10 +1,6 @@
GF 3.7 Release Notes GF 3.7 Release Notes
June 2015 June 2015
%!style:../css/style.css
%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
==Installation== ==Installation==
See the [download page http://www.grammaticalframework.org/download/index.html]. See the [download page http://www.grammaticalframework.org/download/index.html].
@@ -40,7 +36,7 @@ Over 800 changes have been pushed to the source repository since
``BIND``, ``SOFT_BIND``, ``SOFT_SPACE``, ``CAPIT``, ``ALL_CAPIT`` and ``BIND``, ``SOFT_BIND``, ``SOFT_SPACE``, ``CAPIT``, ``ALL_CAPIT`` and
``nonExist``. ``nonExist``.
- It is now possible to define callbacks for literals from the Haskell - It is now possible to define callbacks for literals from the Haskell
binding to the C runtime. This is used for instance in binding to the C runtime. This is used for instance in
the Wide Coverage translator on the Web. the Wide Coverage translator on the Web.
@@ -103,8 +99,3 @@ Over 800 changes have been pushed to the source repository since
unused for 24 hours, to keep memory use down in long running servers. unused for 24 hours, to keep memory use down in long running servers.
- PGF service: limit the number of parallel calls to the C run-time parse - PGF service: limit the number of parallel calls to the C run-time parse
function to 4 by default. The limit can be changed with the ``-j`` flag. function to 4 by default. The limit can be changed with the ``-j`` flag.
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+1 -9
View File
@@ -1,10 +1,6 @@
GF 3.8 Release Notes GF 3.8 Release Notes
June 2016 June 2016
%!style:../css/notes.css
%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE>
%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>
==Installation== ==Installation==
See the [download page http://www.grammaticalframework.org/download/index.html]. See the [download page http://www.grammaticalframework.org/download/index.html].
@@ -25,7 +21,7 @@ Roughly 400 changes have been pushed to the source repository since
[universal dependency http://universaldependencies.org/] diagrams [universal dependency http://universaldependencies.org/] diagrams
in various formats, see ``help vd``. in various formats, see ``help vd``.
- The C runtime now includes an experimental library for managing - The C runtime now includes an experimental library for managing
and querying ontologies built on top of the abstract syntax of and querying ontologies built on top of the abstract syntax of
a grammar. Since the ontology is based on an abstract syntax, a grammar. Since the ontology is based on an abstract syntax,
it is language independent by design. For now the library is it is language independent by design. For now the library is
only used in the GF Offline Translator. The library uses only used in the GF Offline Translator. The library uses
@@ -100,7 +96,3 @@ Roughly 400 changes have been pushed to the source repository since
translations in the domain they cover. translations in the domain they cover.
You can change the order in which the selected grammars are tried You can change the order in which the selected grammars are tried
by dragging them up and down in the list. by dragging them up and down in the list.
--------------------
[www.grammaticalframework.org http://www.grammaticalframework.org]
+64
View File
@@ -0,0 +1,64 @@
GF 3.9 Release Notes
August 2017
==Installation==
See the [download page http://www.grammaticalframework.org/download/index.html].
==What's new==
The [GF repository on GitHub https://github.com/GrammaticalFramework/GF/]
is now our master source repository, not just a read-only mirror.
Bug reports and feature requests can be submitted to the
[issue tracker https://github.com/GrammaticalFramework/GF/issues],
and we also accept pull requests.
Over 200 changes have been pushed to the source repository since
[the release of GF 3.8 release-3.8.html] in June 2016.
===GF compiler and run-time library===
====New features and notable changes====
- Support for language-specific depencency configurations (in addition to abstract syntax based ones); see ``help vd`` in the GF shell
- An experimental support for sentence lookup which makes it possible
to find the sentence from the grammar that matches best a set of keywords.
Right now it is usable only with controlled languages since it might be
very innefficient for some grammars.
- A new .NET binding for the GF runtime is available.
- The API in the Java binding is extended and it covers more from
the full functionality of the C runtime.
====Changes of interest to compiler developers====
- The compiler source code has been updated for compatibility with GHC 8.2.1.
===Resource Grammar Library===
- New languages:
- Icelandic
- Norwegian Nynorsk
- API now usable for incomplete languages via ``Missing`` modules:
implemented for Arabic and Latin.
- Punctuation with ``BIND`` and ``SOFT_BIND`` tokens for a number of languages
- Various fixes for several languages.
- Various fixes in the translation dictionaries.
===Apps and Cloud services===
- PGF service: support for language-specific depencency configurations in
``command=deptree``.
-5
View File
@@ -1,5 +0,0 @@
# Images in this folder have moved, now hosted at GitHub
# John 2013-01-10
RewriteEngine On
RewriteRule ^(.*)$ https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/$1 [L,R=301]
-446
View File
@@ -1,446 +0,0 @@
<html>
<head>
<title>
GF Eclipse Plugin
</title>
<link rel="stylesheet" type="text/css" href="http://www.grammaticalframework.org/css/style.css" /> <meta name="viewport" content="width=device-width" />
</head>
<body>
<h1 id="the-gf-eclipse-plugin">The GF Eclipse Plugin</h1>
<p>John J. Camilleri<br />Updated: 22 February 2013</p>
<p><em>The research leading to these results has received funding from the European Union's Seventh Framework Programme (FP7/2007-2013) under grant agreement no. FP7-ICT-247914 (the <a href="http://www.molto-project.eu/">MOLTO Project</a>).</em></p>
<h2 id="introduction">Introduction</h2>
<p>The aim behind developing a desktop IDE for GF is to provide more powerful tools than may be possible and/or practical in a web-based environment (the <a href="http://www.grammaticalframework.org/demos/gfse/">GF Web IDE</a>). In particular, the ability to resolve identifier cross-references and browse external libraries quickly during development time is one of the primary motivations for the project.</p>
<p>The choice was made to develop this desktop IDE as a plugin for the Eclipse Platform as it emerged as the most popular choice among the GF developer community. Support for the platform is vast and many tools for adapting Eclipse to domain-specific languages already exist. Unlike the zero-click Web IDE approach, using the GF Eclipse plugin requires some manual installation and configuration on the development machine.</p>
<h3 id="license">License</h3>
<p>The GF Eclipse Plugin is open-source under the <strong><a href="http://www.gnu.org/licenses/gpl-3.0.txt">GNU General Public License (GPL)</a></strong>.<br /><em>The licenses that cover the rest of GF are listed <a href="http://www.grammaticalframework.org/LICENSE">here</a>.</em> <em>Xtext and Eclipse are released under the <a href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License (EPL)</a>.</em></p>
<h3 id="links">Links</h3>
<ul>
<li>This document shall contain all collected information about the plugin. The most up-to-date version of this file can always be found <a href="https://github.com/GrammaticalFramework/gf-eclipse-plugin/blob/master/README.md">here</a></li>
<li>This documentation is also available at the <a href="http://www.grammaticalframework.org/eclipse/">GF website</a> and the <a href="http://www.molto-project.eu/node/1395">MOLTO Project Wiki</a>.</li>
<li>Source code repository is at <a href="https://github.com/GrammaticalFramework/gf-eclipse-plugin">github.com/GrammaticalFramework/gf-eclipse-plugin</a></li>
<li>For reporting bugs and requesting features, please use the <a href="https://github.com/GrammaticalFramework/gf-eclipse-plugin/issues">GitHub Issue Tracker</a></li>
<li>Here are some <a href="https://github.com/GrammaticalFramework/gf-eclipse-plugin/tree/master/workspace-demo/GF%20Project">example GF projects</a> for testing out the plugin features.</li>
<li>Software update site URL for installing through Eclipse: <code>http://www.grammaticalframework.org/eclipse/release/</code></li>
</ul>
<h3 id="publications">Publications</h3>
<ul>
<li><a href="http://academic.johnjcamilleri.com/presentations/2012-05%20EAMT%20poster.pdf">Poster</a> at EAMT 2012 in Trento, Italy</li>
<li><a href="http://academic.johnjcamilleri.com/papers/freerbmt2012.pdf">Paper</a> presented at FreeRBMT 2012 in Gothenburg, Sweden.</li>
</ul>
<h2 id="features">Features</h2>
<ul>
<li>Syntax highlighting and error detection</li>
<li>Code folding, quick block-commenting, automatic code formatting</li>
<li>Definition outlining, jump to declaration, find usage</li>
<li>Warnings for problems in module dependency hierarchy</li>
<li>Launch configurations, i.e. compilation directly from IDE</li>
<li>Use GF Shell from within Eclipse</li>
<li>Auto-completion for declared identifiers</li>
<li>Background compilation (shallow) using project builder</li>
<li>Support for <em>Open Declaration</em> (F3), including qualified names</li>
<li>Code generation for new languages in application grammars</li>
<li>Inline documentation for function calls, overloads</li>
<li>Proper cross-reference handling with qualified names</li>
<li>Test management and testing tool</li>
<li>External library browser</li>
</ul>
<h2 id="release-history">Release history</h2>
<p><strong>22/02/13</strong> : (1.5.2.x) New option for specifying include/exclude build files. Progress indicators during build.</p>
<p><strong>12/06/12</strong> : (1.5.1.x) Support for scoping when library sources not available. Performance and implementational improvements to External Library View.</p>
<p><strong>19/04/12</strong> : (1.5.0.x) Removed need for <code>.gfexternal</code> folder. Much improved &quot;External Libraries&quot; view allows you to search in current scope. Memory usage improvements in scoping implementation. Validation now occurs on file open. Re-added GF Library Path field in preferences.</p>
<p><strong>04/04/12</strong> : (1.4.3.x) Improvements to the Test Manager. Added support for arbitrary commands in launch. Made the license information clearer.</p>
<p><strong>22/03/12</strong> : (1.4.2.x) Added wizard for context-free grammars (no syntax support, though). Context-menu option for toggling the GF Nature and Builder together. Test Manager now parses languages &amp; parameters, and includes filtering and toggling options.</p>
<p><strong>14/03/12</strong> : (1.4.1.x) GF source files can now be anywhere in project, not necessarily at top level.</p>
<p><strong>06/03/12</strong> : (1.4.0.x) Test manager view. Updated launch configurations. UI improvements, new icons. Inline contextual documentation. Correct resolution of qualified identifiers. Bug fixes and some refactoring.</p>
<p><strong>07/02/12</strong> : (1.3.0.x) Re-written underlying GF grammar.</p>
<p><strong>02/02/12</strong> : (1.2.5.x) Hugely improved scoping performance. New &quot;Clone to new language&quot; wizard. Improved code formatting. More efficient builder. Removed library path preference. GF runtime is now automatically found.</p>
<p><strong>23/01/12</strong> : (1.2.4.x) Logging is now done to the Eclipse Platform Log (use &quot;Error Log&quot; view). Tested with Eclipse 3.6.2. Bug fixes.</p>
<p><strong>11/01/12</strong> : (1.2.3.x) Updated to use Xtext 2.1.0. Links to external files now moved into new &quot;GF Library View&quot;.</p>
<p><strong>24/11/11</strong> : (1.2.0.x) with support for &quot;Open Declaration&quot; (F3) function, including for external libraries.</p>
<p><strong>18/11/11</strong> : Third BETA (1.1.0.x) released, overhauled to take advantage of new compiler features. Tag-based scoping with caching for better performance. Interactive console (GF Shell) for launch configs.</p>
<p><strong>11/10/11</strong> : Second BETA (1.0.0.x) released, with improved support for qualified names, local variable bindings, selective inheritance, module outlining, and launch configurations. Also new GF Project type.</p>
<p><strong>01/10/11</strong> : Initial BETA released.</p>
<!----------------------------------------------------------------------------->
<h2 id="installation-updating">Installation &amp; updating</h2>
<h3 id="system-requirements">System requirements</h3>
<ol style="list-style-type: decimal">
<li><a href="http://www.eclipse.org/downloads/">Eclipse</a> 3.6 or above.</li>
<li><a href="http://www.grammaticalframework.org/download/release-3.3.3.html">GF 3.3.3</a> or above. The path to GF must be set within the plugin preferences (see below).</li>
</ol>
<p>Using the GF Resource Grammar Library requires that the RGL binaries are also installed on your system. If you are using the <a href="http://www.grammaticalframework.org/download/index.html">pre-compiled binaries</a> but have separately downloaded the RGL sources to your system, you can optionally specify this path in the plugin preferences (see below).</p>
<h3 id="installing-the-plugin-for-the-first-time">Installing the plugin for the first time</h3>
<h4 id="available-software-sites">Available Software Sites</h4>
<p>In order for dependencies to be satisfied, you need to ensure that your Eclipse has the following update site URLs set:</p>
<ul>
<li>Eclipse releases (change version name to match): <code>http://download.eclipse.org/releases/indigo</code></li>
<li>Xtext: <code>http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/</code></li>
</ul>
<p>You can set these from <strong>Preferences → Install/Update → Available Software Sites</strong>.</p>
<h4 id="eclipse-preferences">Eclipse preferences</h4>
<p>How to find the <strong>Eclipse preferences</strong> window depends on your Eclipse version and/or OS, and may be either of:</p>
<ul>
<li><strong>Window → Preferences</strong></li>
<li><strong>Eclipse → Preferences</strong></li>
</ul>
<h3 id="installation">Installation</h3>
<ol style="list-style-type: decimal">
<li>Inside Eclipse, go to <strong>Help → Install New Software</strong>.</li>
<li>Add new software site using the URL: <code>http://www.grammaticalframework.org/eclipse/release/</code></li>
<li>Select the <strong>GF Eclipse Plugin</strong>, and make sure the <strong>Contact all update sites during install to find required software</strong> option is checked.</li>
<li>Click Next, accept the license agreement and install.</li>
<li>Accept the prompt warning that the software is unsigned.</li>
<li>Restart Eclipse when prompted.</li>
</ol>
<h4 id="settings-preferences">Settings &amp; preferences</h4>
<ol style="list-style-type: decimal">
<li>Add the GF perspective by clicking <strong>Window → Open Perspective → Other</strong> and choosing <strong>GF</strong>.</li>
<li>Open the plugin settings by going to <strong>Preferences → Grammatical Framework</strong> (image below).</li>
<li>The plugin will try to determine the path to your GF executable automatically, but this may need to be corrected.<br />The path should include the name of the GF binary itself, e.g. <code>/home/john/.cabal/bin/gf</code> or <code>C:\Users\John\GF\bin\gf.exe</code>.</li>
<li>The <em>Additional path directive</em> setting can be used if you want to avoid writing <code>--# -path=...</code> directives in your source files. By default it is set to <code>.:alltenses:prelude</code>, but can also be left blank. This is passed to GF using the <code>--path</code> flag.</li>
<li>If you are using a pre-compiled version of the Resource Grammar Library (i.e. you didn't build it from source yourself) but you have the sources available on your system, then you can enter their path in the <em>Library source path</em> setting. This is optional and is only used for jumping to source definitions.<br />You should enter an absolute system path, up to and including the <code>src</code> folder, e.g. <code>/home/john/GF/lib/src/</code> or <code>C:\Users\John\GF\lib\src\</code>.</li>
<li>You can also adjust the verbosity level of the GFEP console log in the preferences window.</li>
</ol>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-preferences.png" alt="Plugin preferences window" /><p class="caption">Plugin preferences window</p>
</div>
<h3 id="updating-the-plugin">Updating the plugin</h3>
<ol style="list-style-type: decimal">
<li>In Eclipse, go to <strong>Help → Check for updates</strong>.</li>
<li>Any available updates will appear in the dialog. Select them and follow the usual steps.</li>
</ol>
<p><em>Note:</em> You will probably want to uncheck the <strong>Contact all update sites during install to find required software</strong> option, which is not usually needed when simply updating the plugin (it makes things go a lot slower).</p>
<h4 id="deprecations">Deprecations</h4>
<ul>
<li>Any folders <code>.gfexternal</code> can safely deleted as of GFEP ≥ 1.5. Using Eclipse's <strong>Clean</strong> function from the <strong>Run</strong> menu will do this for you automatically.</li>
<li>If your project has a folder named <code>(External)</code> you can safely delete this <strong>via the Eclipse Project Explorer</strong>. It is no longer used in GFEP ≥ 1.2.3</li>
<li>If your workspace contains a log file <code>gfep.log</code> then you can safely delete it from your system. As of version 1.2.4, GFEP uses Eclipse's standard log file at <code>&lt;workspace&gt;/.metadata/.log</code></li>
</ul>
<h3 id="project-settings">Project settings</h3>
<p>Although the plugin should take care of your project settings for you, in case anything gets messed up you can always correct them manually as follows:</p>
<h4 id="project-nature">Project nature</h4>
<p>Your <code>.project</code> file should include the GF Project Nature as follows:</p>
<pre><code>&lt;natures&gt;
&lt;nature&gt;org.grammaticalframework.eclipse.ui.natures.projectNatureID&lt;/nature&gt;
&lt;/natures&gt;</code></pre>
<h4 id="builder">Builder</h4>
<p>Your <code>.project</code> file should include the GF Builder as follows:</p>
<pre><code>&lt;buildSpec&gt;
&lt;buildCommand&gt;
&lt;name&gt;org.grammaticalframework.eclipse.ui.build.GFBuilderID&lt;/name&gt;
&lt;arguments&gt;
&lt;/arguments&gt;
&lt;/buildCommand&gt;
&lt;/buildSpec&gt;</code></pre>
<h4 id="specifying-build-files">Specifying build files</h4>
<p>As of GFEP ≥ 1.5.2, you are now able to explicitly a set of modules in your GF project which should be either included or excluded from the build process. In the inclusive case, this would normally contain your &quot;top-level&quot; modules. This can be done right-clicking on your project in the Project Explorer and choosing <strong>Properties → GF Build Settings</strong>. From here you simply tick which modules in your project the GF builder should compile:</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-project-build-settings.png" alt="Project-specific build settings" /><p class="caption">Project-specific build settings</p>
</div>
<p>When doing this, GFEP will never attempt to compile any other files in the project. Whenever you add a new top-level module or change your module hierarchy, be sure to check these build settings again.</p>
<!----------------------------------------------------------------------------->
<h2 id="getting-started">Getting started</h2>
<p>Some steps you can follow to get a feel of of the plugin's features.</p>
<h3 id="video-tutorial">Video tutorial</h3>
<p>A quick run through of the major features available in the GF Eclipse Plugin.</p>
<iframe src="http://player.vimeo.com/video/38768382?byline=0&amp;portrait=0" width="693" height="512" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p><em>If the video doesn't appear above, you can view it at <a href="https://vimeo.com/38768382">https://vimeo.com/38768382</a></em></p>
<h3 id="the-eclipse-workspace-and-project-concepts">The Eclipse <em>workspace</em> and <em>project</em> concepts</h3>
<p>When you run Eclipse, it asks you to create or specify a <em>workspace</em> on your system, which is essentially the top directory that Eclipse will &quot;see&quot;. Any code you wish to work on inside Eclipse must reside in this workspace. A workspace contains one or more <em>projects</em>, which may or may not be related to each other. Generally each folder under the top-level workspace directory is considered an individual project, i.e.:</p>
<pre><code>workspace/
Project1/
file1-1.gf
file1-2.gf
Project2/
subdir2-1/
file2-1-1.gf
file2-1-2.gf
file2-1.gf
file2-2.gf</code></pre>
<p>If you open an existing folder as your workspace in Eclipse, then your folders in that workspace <strong>do not</strong> automatically become Eclipse projects. To do this, you must follow the &quot;Create new GF Project&quot; wizard below, and give your project the exact name of the existing folder (e.g. <code>Project1</code> or <code>Project2</code> in the example above.)</p>
<h4 id="gf-nature">GF Nature</h4>
<p>The <em>GF Nature</em> is what makes a regular Eclipse project a <em>GF</em> project. If you create a new GF Project from scratch then you don't need to worry too much about them. If you already have some project set up in your Eclipse workspace, then you will need to associate the builder with your project in order for all the GF goodness to work. This will internally add the <em>GF Builder</em> to your project also.</p>
<p>As of 1.4.2, this can be done very easily by right-clicking on your project in the explorer and clicking <strong>Add/Remove GF Nature</strong>. If your project has the GF icon overlayed on it, then the GF nature and builder are correctly associated with it.</p>
<p>See the <strong>project settings</strong> section above if you want to mess with your <code>.project</code> file.</p>
<h4 id="metadata-folders">Metadata folders</h4>
<p>GFEP will create the following metadata directories within your project:</p>
<ul>
<li>A <code>.gfbuild</code> directory in every folder containing GF source code, containing <code>.gf-tags</code> files created using the GF <code>--tags</code> compiler flag.</li>
</ul>
<p>These can be removed manually at any time, as they will always be regenerated as necessary. You will probably want to ignore these directories in your version control system.</p>
<h3 id="create-a-new-gf-project">Create a new GF Project</h3>
<p>If you have a folder in your workspace which you want to convert into a GF Project, then you can select it from the drop-down. This folder will then appear as an Eclipse project in your workspace.</p>
<p><img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-projectwizard-1.png" alt="New project wizard" /> <img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-projectwizard-2.png" alt="New project wizard" /></p>
<h3 id="new-module-wizard">New module wizard</h3>
<p>Use the <strong>GF Module</strong> wizard from <strong>File → New → Other → GF Module</strong>:</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-modulewizard-1.png" alt="New module wizard" /><p class="caption">New module wizard</p>
</div>
<p>You can find some small examples <a href="https://github.com/GrammaticalFramework/gf-eclipse-plugin/tree/master/workspace-demo/GF%20Project">here</a>. Download the files and manually add them to your Eclipse workspace to experiment with some of the plugin features.</p>
<h3 id="clone-module-wizard">Clone module wizard</h3>
<p>If you want to clone an existing module into a new language, you can now do so via the <strong>Clone GF Module</strong> wizard. This is also available as a context menu option in the <strong>Project Explorer</strong>, via <strong>&lt;Right click&gt; → Grammatical Framework → Compile for new language</strong>:</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-clonewizard.png" alt="Clone GF module to new language wizard" /><p class="caption">Clone GF module to new language wizard</p>
</div>
<p>This will create and open a new module with the relevant replacements made. Note how in this case string constants are replaced by the empty string <code>&quot;&quot;</code>. This wizard currently only works on <code>concrete</code> and <code>instance</code> modules.</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-clonewizard-newfile.png" alt="Newly cloned file" /><p class="caption">Newly cloned file</p>
</div>
<h3 id="workbench-editor-layout">Workbench editor layout</h3>
<p>Use Eclipse' own features to drag and drop your editor tabs to suit your needs.</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-editor-general.png" alt="The editor and outline view" /><p class="caption">The editor and outline view</p>
</div>
<h3 id="outline-view">Outline view</h3>
<p>The <strong>Outline</strong> view in the bottom-left offers a quite overview of your module structure. Clicking any of the terms will make your cursor jump to that point in the file.</p>
<h3 id="cross-referencing-errors-and-warnings">Cross-referencing errors and warnings</h3>
<p>Notice how changing a <code>cat</code> definition for example will produce warnings and/or errors in other the modules.</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-editor-cat.png" alt="Warnings and errors in the editor" /><p class="caption">Warnings and errors in the editor</p>
</div>
<h3 id="validation">Validation</h3>
<p>The in-editor validation sometimes needs to be triggered/updated by a keystroke. If you can still see errors which you believe should be correct, try adding a space character to ensure the validation is re-triggered.</p>
<p>Sometimes you may get an entire file marked with errors, even though in fact there is only a single error which is causing the internal builder to fail. In such cases referring to the <strong>Problems</strong> view should help you locate the cause. This issue is particularly relevant when changes made to one module may induce errors in its descendants (e.g. renaming a parameter in a resource module). This behaviour will hopefully be improved in future versions.</p>
<h4 id="builder-1">Builder</h4>
<p>For validation to work correctly, the project's <strong>Build Automatically</strong> option should be turned on. Each time you save a file (or some other change occurs in your project), the builder should get triggered which re-compiles any GF files which have changed. If the builder does not seem to get triggered, try to run a <em>clean</em> via <strong>Project → Clean...</strong></p>
<h3 id="code-formatting">Code formatting</h3>
<p>Use the built-in code formatter to tidy your code automatically. Right-click in the editor and choose <strong>Format</strong> or use the keyboard shortcut <strong>Ctrl+Shift+F</strong>.</p>
<p><img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-before-format.png" alt="Before auto-formatting" /> <img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-after-format.png" alt="After auto-formatting" /></p>
<h3 id="syntax-highlighting">Syntax highlighting</h3>
<p>You can change your syntax colouring styles as you wish from <strong>Preferences → Grammatical Framework → Syntax Colouring</strong></p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-syntaxcoloring.png" alt="Syntax highlighting styles" /><p class="caption">Syntax highlighting styles</p>
</div>
<h3 id="launch-configurations">Launch configurations</h3>
<p>Set up a launch configuration from <strong>Run → Run Configurations... → Grammatical Framework</strong>. You will see the dialog below with some fields automatically filled in for you.</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-launchconfig.png" alt="Launch configuration dialog" /><p class="caption">Launch configuration dialog</p>
</div>
<p>Run the launch config and you will see the output from the GF compiler in the console view within Eclipse.</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-compileroutput.png" alt="Output from the GF compiler" /><p class="caption">Output from the GF compiler</p>
</div>
<h4 id="run-as...-launch-shortcut">Run As... launch shortcut</h4>
<p>Using the <strong>Run → Run As → Compile with GF</strong> shortcut will take the current selection or active editor and do one of two things:</p>
<ol style="list-style-type: decimal">
<li>If a launch configuration already exists which the current file in its <em>Source filenames</em> field, then that config will be launch directly.</li>
<li>Otherwise, a new a launch configuration window is displayed where you will need to review and confirm the default settings before continuing.</li>
</ol>
<h3 id="consoles">Consoles</h3>
<p>The plugin provides its own console view named <em>GFEP Log</em>, which shows log messages based on the <strong>Log Level</strong> preference (<strong>Preferences → Grammatical Framework</strong>).</p>
<p>Additionally, every time a grammar is <strong>Run</strong> a <em>new</em> console is opened to display the output. This console may also serve as the interactive GF Shell, depending on the <strong>Interactive Mode</strong> checkbox in your <strong>Run Configuration</strong>.</p>
<p>Eclipse does not make it obvious when multiple console windows open; click on the <strong>Display Selected Console</strong> button to switch between open consoles:</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-console-icon.png" alt="Display Selected Console icon" /><p class="caption">Display Selected Console icon</p>
</div>
<p>If the process associated with a console window has terminated, it will be indicated in the upper-left corner as below. Such console windows can then be closed using the grey cross button:</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-console-terminated.png" alt="Close terminated console icon" /><p class="caption">Close terminated console icon</p>
</div>
<p><em>The Eclipse console implementation does not support command history (up arrow) or auto-completion (tab).</em></p>
<h3 id="external-libraries-view"><em>External Libraries</em> view</h3>
<p>This view is automatically populated with a list of all the external modules referenced by the current file. Double-clicking on any item provides a quick way of opening GF files which are imported into your grammar from outside your Eclipse project, for example the GF Resource Grammar Library.</p>
<p>This view also provides a text box for searching within the current module's scope, as shown in the image below. Clicking the small arrow on the right-hand side of the view provides options for case sensitive and/or regular-expression based search.</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-external-libraries.png" alt="External libraries view" /><p class="caption">External libraries view</p>
</div>
<h3 id="test-manager-view"><em>Test Manager</em> view</h3>
<p>This feature works together with the launch configurations to make the process of running regression tests on your grammars quick and easy. As described in the <a href="http://www.grammaticalframework.org/gf-book/">GF Book</a> (Section 10.5), the general development-test cycle (independent of GFEP) is as follows:</p>
<ol style="list-style-type: decimal">
<li>Create a file <code>test.trees</code> which contains a bunch of abstract syntax trees, which you want to test</li>
<li>Compile your grammar and linearise the trees one by one, using some command like <code>rf -lines -tree -file=test.trees | l -table | wf -file=test.trees.out</code></li>
<li>Manually correct the output in <code>test.trees.out</code> and save it as your gold standard file <code>test.trees.gold</code>.</li>
<li>Each time you update your grammar, repeat step 2, then compare your new output against the gold standard using <code>diff</code> or some other comparison tool.</li>
</ol>
<p>The <strong>Test Manager</strong> view follows this same pattern but provides a convenient graphical interface for running your test cases and also for looking at the output, just using a few clicks:</p>
<div class="figure">
<img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/eclipse-test-manager.png" alt="Test Manager view" /><p class="caption">Test Manager view</p>
</div>
<p>Note that GFEP assumes the following convention:</p>
<table>
<thead>
<tr class="header">
<th align="left">Extension</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td align="left"><code>*.trees</code> or <code>*.sentences</code></td>
<td align="left">Test input files: trees file (for testing linearisation) and sentences file (for testing parsing)</td>
</tr>
<tr class="even">
<td align="left"><code>*.trees.out</code> or <code>*.sentences.out</code></td>
<td align="left">Corresponding output files (generated each time a test is run)</td>
</tr>
<tr class="odd">
<td align="left"><code>*.trees.gold</code> or <code>*.sentences.gold</code></td>
<td align="left">Corresponding gold standard files (manually corrected from an output file)</td>
</tr>
</tbody>
</table>
<h3 id="logs">Logs</h3>
<p>The GFEP writes to the Eclipse platform log. This can be accessed in two ways:</p>
<ol style="list-style-type: decimal">
<li>By opening the <strong>Error Log</strong> view in Eclipse</li>
<li>Accessing the file directly at <code>&lt;workspace&gt;/.metadata/.log</code></li>
</ol>
<p>You can set the log verbosity from <strong>Preferences → Grammatical Framework</strong>.</p>
<!----------------------------------------------------------------------------->
<h2 id="common-issues-and-fixes">Common issues and fixes</h2>
<h3 id="no-identifiers-are-resolved-and-my-log-contains-messages-saying-file-syntax.gf-does-not-exist.">No identifiers are resolved and my log contains messages saying &quot;File Syntax.gf does not exist.&quot;</h3>
<p>In general, this means that something is wrong with your <em>library path</em> setting.</p>
<p>GFEP attempts to compile all of your files individually with GF, which is not the usual way in which you would compile your grammar. As a result, when looking for the RGL files, GF needs a little help via the <code>path</code> argument.</p>
<p>The normal way to do this is to specify the <em>Library path</em> setting from <strong>Preferences → Grammatical Framework</strong>, setting it to something like <code>.:alltenses:prelude</code> (this is the default setting). Note that these paths are relative to the true RGL directory, which GF should already be aware of. The value of this setting is passed to GF from GFEP using the <code>--path</code> flag.</p>
<p>The <em>Library path</em> setting is the same for all your GF projects. If you want finer-grain control over the <code>path</code> compiler option then you should use compiler pragmas in your source files, e.g.:</p>
<pre><code>--# -path=.:alltenses:prelude</code></pre>
<p>The advantage of this method is that the information is bound to the file, so you can freely compile your modules outside of GFEP without having to specify the path as a command line option to GF. The disadvantage is that you need to specify such a pragma in every single file (at least if you want to continue to use the GFEP).</p>
<h3 id="other-strange-behaviour">Other strange behaviour</h3>
<p>When things seem strange, the very first step is always to clean the project via <strong>Project → Clean...</strong>. I only support the latest version of the plugin, so make sure you are up to date too.</p>
<p>If problems persist, please contact me or better yet file an issue on the GitHub issue tracker (see below).</p>
<!----------------------------------------------------------------------------->
<h2 id="ontology-grammar-plugin">Ontology Grammar plugin</h2>
<p>For information about the Ontology Grammar plugin developed by Ontotext AD, please refer <a href="https://github.com/GrammaticalFramework/gf-eclipse-plugin/blob/master/README_ontology-grammar.md">here</a>.</p>
<!----------------------------------------------------------------------------->
<h2 id="for-developers">For developers</h2>
<h3 id="project-setup">Project setup</h3>
<p>In order to build/run the GFEP from source, you need to have the Xtext libraries available in your Eclipse workspace. You have two choices:</p>
<ol style="list-style-type: decimal">
<li>Download the Xtext libraries from <a href="http://www.eclipse.org/Xtext/download/">http://www.eclipse.org/Xtext/download/</a> and add them to your existing Eclipse instance</li>
<li>Download a release of Eclipse packaged together with Xtext from <a href="http://xtext.itemis.com/xtext/language=en/36553/downloads">http://xtext.itemis.com/xtext/language=en/36553/downloads</a></li>
</ol>
<p>In both cases make sure you get the correct version of Xtext (see below). Once you have Xtext set up, you can clone the repository locally with the following command:</p>
<pre><code>git clone git://github.com/GrammaticalFramework/gf-eclipse-plugin.git</code></pre>
<p>You can then add the projects under the <code>workspace</code> directory to your Eclipse workspace, by using the <strong>File → Import...</strong> wizard. The individual projects are:</p>
<table>
<thead>
<tr class="header">
<th align="left">Namespace</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td align="left"><code>org.grammaticalframework.eclipse.ui</code></td>
<td align="left">Covers all UI aspects of the plugin. Depends on <code>org.grammaticalframework.eclipse</code> (but the opposite is not true).</td>
</tr>
<tr class="even">
<td align="left"><code>org.grammaticalframework.eclipse.tests</code></td>
<td align="left">Contains unit tests for the plugin. Not required for running the plugin.</td>
</tr>
<tr class="odd">
<td align="left"><code>org.grammaticalframework.eclipse.ontology-grammar</code></td>
<td align="left">GF Ontology Grammar Plugin for Eclipse, developed separately by Ontotext AD.</td>
</tr>
<tr class="even">
<td align="left"><code>org.grammaticalframework.feature</code></td>
<td align="left">Feature project for the GF Eclipse Plugin. Exports <code>org.grammaticalframework.eclipse</code> and <code>org.grammaticalframework.eclipse.ui</code>.</td>
</tr>
<tr class="odd">
<td align="left"><code>org.grammaticalframework.feature.ontology-grammar</code></td>
<td align="left">Feature project for the GF Ontology Grammar Plugin. Exports <code>org.grammaticalframework.eclipse.ontology-grammar</code>.</td>
</tr>
<tr class="even">
<td align="left"><code>org.grammaticalframework.updatesite</code></td>
<td align="left">Update site project which exports both feature projects under the same category.</td>
</tr>
</tbody>
</table>
<h4 id="extra-dependencies-for-unit-testing-project">Extra dependencies for unit testing project</h4>
<p>The unit testing project (<code>org.grammaticalframework.eclipse.tests</code>) has an extra requirement for the library <code>org.eclipselabs.xtext.utils.unittesting</code>, which you will probably get complaints about when importing your projects into Eclipse. You only need to worry about this if you want to run the unit tests; otherwise you can ignore these errors. You can get more information about this library <a href="http://code.google.com/a/eclipselabs.org/p/xtext-utils/wiki/Unit_Testing">here</a>, or just install it in Eclipse directly using the following update site URL: <a href="http://xtext-utils.eclipselabs.org.codespot.com/git.distribution/releases/unittesting-0.9.x/">http://xtext-utils.eclipselabs.org.codespot.com/git.distribution/releases/unittesting-0.9.x/</a></p>
<h4 id="xtext-version">Xtext version</h4>
<p>GFEP currently uses <strong>Xtext 2.1.0</strong>.</p>
<h3 id="running-from-source">Running from source</h3>
<p>Once you have set up your projects (see above), you can run/debug the GFEP by following the steps <a href="http://www.eclipse.org/Xtext/documentation/2_1_0/020-domainmodel-step-by-step.php#DomainmodelWalkThrough_7">here</a>. Note that this means you will be running <em>two</em> instances of Eclipse simultaneously; the first debugging the second.</p>
<h3 id="building-plugin-package">Building plugin package</h3>
<p>To package the GFEP sources as <code>.jar</code> files and install/update the GFEP in a separate Eclipse installation, do the following:</p>
<ol style="list-style-type: decimal">
<li>Open <code>site.xml</code> in the <code>org.grammaticalframework.updatesite</code> project with Eclipse's Site Manifest Editor (default).</li>
<li><strong>Synchronize</strong> the feature versions with the update site project.</li>
<li>Click <strong>Build All</strong> and the necessary <code>.jar</code> files should be created/updated in the project's folder. These can then be copied, along with <code>site.xml</code> to any local or web directory, which becomes the &quot;update site&quot;.</li>
</ol>
<h4 id="artifacts.jar-and-contents.jar"><code>artifacts.jar</code> and <code>contents.jar</code></h4>
<p>These are two meta-data files created by the update site project. However there are known issues with categories sporadically not working in update sites, and it seems that if you delete these 2 files then the problems are solved. More about this can be found <a href="http://ekkescorner.wordpress.com/2010/04/18/who-eats-the-categories-from-update-sites/">here</a>.</p>
<h4 id="other-notes">Other notes</h4>
<p>Some have mentioned than when opening the GFEP sources, under Linux, they needed to install the following:</p>
<pre><code>sudo apt-get install appmenu-gtk
sudo apt-get install gtk2-engines-pixbuf</code></pre>
<!----------------------------------------------------------------------------->
<h2 id="evaluation-feedback">Evaluation &amp; feedback</h2>
<p>Please try to use the plugin for developing your own GF projects and report any issues you come up against. Feedback (both negative and positive) on the following would be appreciated:</p>
<ol style="list-style-type: decimal">
<li>Issues encountered with installation</li>
<li>Incorrect support of GF syntactic constructs, module hierarchy system</li>
<li>Performance issues (speed, resources footprint)</li>
<li>General intuitiveness of the UI</li>
<li>Feature wish-list</li>
<li>Compatibilities / conflicts with other Eclipse plugins</li>
</ol>
<p>For all bug reports and feature requests, please use the <a href="https://github.com/GrammaticalFramework/gf-eclipse-plugin/issues">GitHub Issue Tracker</a>.</p>
<!----------------------------------------------------------------------------->
<h2 id="appendix">Appendix</h2>
<h3 id="module-types">Module types</h3>
<p>Description of the GF module types and their icons within the GF Eclipse Plugin.</p>
<table>
<thead>
<tr class="header">
<th align="left">Icon</th>
<th align="left">Description</th>
<th align="left">Notes</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td align="left"><img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/module-abstract.png" /></td>
<td align="left">Abstract module</td>
<td align="left"><code>abstract Foods = {...}</code></td>
</tr>
<tr class="even">
<td align="left"><img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/module-concrete.png" /></td>
<td align="left">Concrete module</td>
<td align="left"><code>concrete FoodsEng of Foods = {...}</code></td>
</tr>
<tr class="odd">
<td align="left"><img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/module-resource.png" /></td>
<td align="left">Resource module</td>
<td align="left"><code>resource ResFoods = {...}</code></td>
</tr>
<tr class="even">
<td align="left"><img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/module-interface.png" /></td>
<td align="left">Interface</td>
<td align="left"><code>interface LexFoods = {...}</code></td>
</tr>
<tr class="odd">
<td align="left"><img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/module-instance.png" /></td>
<td align="left">Instance</td>
<td align="left"><code>instance LexFoodsEng of LexFoods = {...}</code></td>
</tr>
<tr class="even">
<td align="left"><img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/module-functor.png" /></td>
<td align="left">Functor</td>
<td align="left"><code>incomplete concrete FoodsI of Foods = {...}</code></td>
</tr>
<tr class="odd">
<td align="left"><img src="https://raw.github.com/GrammaticalFramework/gf-eclipse-plugin/master/doc/images/module-functor-instantiation.png" /></td>
<td align="left">Functor instantiation</td>
<td align="left"><code>concrete FoodsEng of Foods = FoodsI with (...) {...}</code></td>
</tr>
</tbody>
</table>
<h3 id="build-command">Build command</h3>
<p>This is the GF command run by the builder:</p>
<pre><code>gf --v=0 --tags --output-dir=.gfbuild [--path=PATH] FILE</code></pre>
</body>
</html>
-14
View File
@@ -1,14 +0,0 @@
All contributions (`contrib` and `examples` folders) have now been
moved to a separate git repository at:
https://github.com/GrammaticalFramework/gf-contrib
This `examples` folder remains because its contents are compiled by
SetupWeb, so that when you run the GF cloud server locally you already
have some toy grammars to play with.
Any updates to these grammars should be made at the gf-contrib repository
above; changes will be copied from there to here manually.
John J. Camilleri
2013-09-16
-49
View File
@@ -1,49 +0,0 @@
abstract App =
Translate - [
-- Verb
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
SlashV2V,
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
SlashVV, SlashV2VNP,
AdvVPSlash, AdVVPSlash, VPSlashPrep,
-- Sentence
SlashVP, SlashVS,
PredSCVP,
AdvSlash, SlashPrep, SlashVS,
EmbedS, EmbedQS, EmbedVP, RelS,
-- Question
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
-- Idiom
CleftNP, CleftAdv,
ImpP3,
-- Construction
-- Extensions
PassVPSlash, PassAgentVPSlash -- not reachable anyway
]
--P ,Phrasebook
** {
flags
startcat=Phr ;
heuristic_search_factor=0.80; -- doesn't seem to affect speed or quality much
fun
--P PhrasePhr : Phrase -> Phr ;
--P Phrase_Chunk : Phrase -> Chunk ;
ComplV2 : V2 -> NP -> VP ; -- sees him
ComplV2V : V2V -> NP -> VP -> VP ; -- forces him to leave
-- ComplV2A : V2A -> NP -> AP -> VP ;
-- ComplV2Q : V2Q -> NP -> QS -> VP ;
-- ComplV2S : V2S -> NP -> S -> VP ;
ComplV3 : V3 -> NP -> NP -> VP ; -- gives him an apple
PassV2 : V2 -> VP ; -- is seen
PassAgentV2 : V2 -> NP -> VP ; -- is seen by her
RelV2 : RP -> NP -> V2 -> RCl ; -- that she sees
QuestV2 : IP -> NP -> V2 -> QCl ; -- whom does she see
}
-28
View File
@@ -1,28 +0,0 @@
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
concrete AppBul of App =
TranslateBul - [
-- Verb
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
SlashV2V,
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
SlashVV, SlashV2VNP,
AdvVPSlash, AdVVPSlash, VPSlashPrep,
-- Sentence
SlashVP, SlashVS,
PredSCVP,
AdvSlash, SlashPrep, SlashVS,
EmbedS, EmbedQS, EmbedVP, RelS,
-- Question
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
-- Idiom
CleftNP, CleftAdv,
ImpP3,
-- Construction
-- Extensions
PassVPSlash, PassAgentVPSlash -- not reachable anyway
]
** AppFunctor with (Syntax = SyntaxBul) ;
-27
View File
@@ -1,27 +0,0 @@
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
concrete AppCat of App =
TranslateCat - [
-- Verb
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
SlashV2V,
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
SlashVV, SlashV2VNP,
AdvVPSlash, AdVVPSlash, VPSlashPrep,
-- Sentence
SlashVP, SlashVS,
PredSCVP,
AdvSlash, SlashPrep, SlashVS,
EmbedS, EmbedQS, EmbedVP, RelS,
-- Question
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
-- Idiom
CleftNP, CleftAdv,
ImpP3,
-- Construction
-- Extensions
PassVPSlash, PassAgentVPSlash -- not reachable anyway
]
** AppFunctor with (Syntax = SyntaxCat) ;
-27
View File
@@ -1,27 +0,0 @@
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
concrete AppChi of App =
TranslateChi - [
-- Verb
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
SlashV2V,
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
SlashVV, SlashV2VNP,
AdvVPSlash, AdVVPSlash, VPSlashPrep,
-- Sentence
SlashVP, SlashVS,
PredSCVP,
AdvSlash, SlashPrep, SlashVS,
EmbedS, EmbedQS, EmbedVP, RelS,
-- Question
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
-- Idiom
CleftNP, CleftAdv,
ImpP3,
-- Construction
-- Extensions
PassVPSlash, PassAgentVPSlash -- not reachable anyway
]
** AppFunctor with (Syntax = SyntaxChi) ;
-27
View File
@@ -1,27 +0,0 @@
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
concrete AppDut of App =
TranslateDut - [
-- Verb
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
SlashV2V,
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
SlashVV, SlashV2VNP,
AdvVPSlash, AdVVPSlash, VPSlashPrep,
-- Sentence
SlashVP, SlashVS,
PredSCVP,
AdvSlash, SlashPrep, SlashVS,
EmbedS, EmbedQS, EmbedVP, RelS,
-- Question
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
-- Idiom
CleftNP, CleftAdv,
ImpP3,
-- Construction
-- Extensions
PassVPSlash, PassAgentVPSlash -- not reachable anyway
]
** AppFunctor with (Syntax = SyntaxDut) ;
-28
View File
@@ -1,28 +0,0 @@
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../phrasebook/gfos
concrete AppEng of App =
TranslateEng - [
-- Verb
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
SlashV2V,
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
SlashVV, SlashV2VNP,
AdvVPSlash, AdVVPSlash, VPSlashPrep,
-- Sentence
SlashVP, SlashVS,
PredSCVP,
AdvSlash, SlashPrep, SlashVS,
EmbedS, EmbedQS, EmbedVP, RelS,
-- Question
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
-- Idiom
CleftNP, CleftAdv,
ImpP3,
-- Construction
-- Extensions
PassVPSlash, PassAgentVPSlash -- not reachable anyway
]
** AppFunctor with (Syntax = SyntaxEng) ;
-27
View File
@@ -1,27 +0,0 @@
--# -path=.:../../lib/src/chunk:../../lib/src/translator:../../lib/src/estonian:../phrasebook/gfos:alltenses
concrete AppEst of App =
TranslateEst - [
-- Verb
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
SlashV2V,
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
SlashVV, SlashV2VNP,
AdvVPSlash, AdVVPSlash, VPSlashPrep,
-- Sentence
SlashVP, SlashVS,
PredSCVP,
AdvSlash, SlashPrep, SlashVS,
EmbedS, EmbedQS, EmbedVP, RelS,
-- Question
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
-- Idiom
CleftNP, CleftAdv,
ImpP3,
-- Construction
-- Extensions
PassVPSlash, PassAgentVPSlash -- not reachable anyway
]
** AppFunctor with (Syntax = SyntaxEst) ;
-27
View File
@@ -1,27 +0,0 @@
--# -path=.:../../lib/src/chunk:../../lib/src/finnish/stemmed:../../lib/src/finnish:../../lib/src/api:../../lib/src/translator:../phrasebook/gfos:alltenses
concrete AppFin of App =
TranslateFin - [
-- Verb
SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
SlashV2V,
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
SlashVV, SlashV2VNP,
AdvVPSlash, AdVVPSlash, VPSlashPrep,
-- Sentence
SlashVP, SlashVS,
PredSCVP,
AdvSlash, SlashPrep, SlashVS,
EmbedS, EmbedQS, EmbedVP, RelS,
-- Question
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
-- Idiom
CleftNP, CleftAdv,
ImpP3,
-- Construction
-- Extensions
PassVPSlash, PassAgentVPSlash -- not reachable anyway
]
** AppFunctor with (Syntax = SyntaxFin) ;

Some files were not shown because too many files have changed in this diff Show More