Commit Graph

96 Commits

Author SHA1 Message Date
kr.angelov 475f213c99 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
aarne acefeec541 added a -treebank option to the lc command 2013-11-05 20:42:22 +00:00
aarne 6bc1baa7f7 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 decd7122de 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 620e880155 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 ad0e67530b 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 1fcae658ac Commands.hs: fix a copy-paste error in the documentation of put_tree 2013-10-24 14:32:11 +00:00
hallgren fd430a40fe 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
kr.angelov 23bf85e023 the option -old for the vp command is now redundant 2013-04-19 11:15:18 +00:00
kr.angelov d6d4ae3a6b remove the dead code left behind by Peter Ljunglöf in VisualizeTree 2013-04-19 11:13:07 +00:00
kr.angelov b4374a6a52 fix the command options for the vd command in the shell 2013-04-19 11:11:57 +00:00
hallgren 0667311adf 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
aarne ca73f4554c option pt -funs to show all fun's in a tree 2013-03-29 11:45:42 +00:00
aarne 0dc182c216 pt -nub to remove duplicate trees from a list returned e.g. by a parser 2013-03-13 13:43:30 +00:00
aarne 9d1be48e0f 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
aarne 28c59faf29 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
peter.ljunglof 595c475c70 better visualization of parse trees 2012-11-22 08:50:37 +00:00
hallgren eff4d46fba 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
hallgren 7c65cd4073 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 31ac2add1f 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 fd5220038d A basic infrastructure for generating Teyjus bytecode from the GF abstract syntax 2012-08-29 11:43:02 +00:00
aarne 8ef8af479f command option ma -known to drop unknown words 2012-06-10 10:43:57 +00:00
hallgren 8195c36f6f 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
kr.angelov bc35626489 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
Nick Frolov 0baf0d4e4a Fixed a typo in the shell online help 2011-11-01 11:22:13 +00:00
aarne 9db9c49bd6 structured examples in help into pairs (command,explanation) 2011-09-25 08:42:27 +00:00
aarne ac51d644fc 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 d97101154f documented the ss command 2011-09-22 07:40:19 +00:00
aarne cdaf3dc2f4 commands ss to show source, and sd to show the dependencies of a constant 2011-09-21 08:12:14 +00:00
hallgren 4e35640bb8 Add a command name header to the 'help -t2t' output 2011-09-15 18:19:01 +00:00
hallgren e837f072f4 Omit empty sections in gf help output 2011-09-14 20:26:22 +00:00
hallgren ac0b6db821 GF shell command 'help -t2t' outputs help in txt2tags format 2011-09-14 19:40:28 +00:00
aarne 250c9f8d82 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
aarne b5d04181ba reload command in shell 2011-08-25 15:58:38 +00:00
aarne 72b63e34bd transliteration via configuration file: ps -to=file or ps -from=file 2011-05-02 14:53:46 +00:00
hallgren e10b11a1f0 GF shell restricted mode: found one more writeFile that should be restricted 2011-04-08 13:20:50 +00:00
gdetrez 5be1b5d493 Adding a basic lexicon-based tokenizer and the asociated command in gf shell 2011-02-10 15:00:06 +00:00
aarne d782be6440 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
aarne 603dc34b63 switched the upper and lower parts of lexc entries to their standard order 2011-03-04 17:25:53 +00:00
hallgren affdcf421e 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
aarne 93987ee869 print lexicon in Xerox LEXC format: pg -lexc 2011-03-03 08:31:15 +00:00
aarne 3e2d906888 corrected help for l command 2011-03-01 16:15:20 +00:00
aarne a786f1c809 the command show_operations to inspect opers in scope 2011-02-28 13:31:04 +00:00
aarne ffc78017b2 command ga moved to option 'aw -giza' 2011-02-25 12:55:36 +00:00
aarne e4eccba450 a simple clitic analysis command 'ca' 2011-02-06 16:19:24 +00:00
krasimir 01d05b6736 more clear LICENSE file for GF 2010-12-21 10:57:54 +00:00
aarne 2b399e5356 updated documentation of pg -printer formats 2010-12-14 22:05:53 +00:00
aarne fe82e6b50d documented the pgf -printer values for help 2010-12-14 20:40:17 +00:00
aarne 22e50ae31c option cc -list added 2010-12-14 17:42:42 +00:00
aarne 7b9e55650b preparing resource api for multilingual documentation 2010-12-10 08:48:26 +00:00