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