Commit Graph

80 Commits

Author SHA1 Message Date
peter.ljunglof
486a510611 better visualization of parse trees 2012-11-22 08:50:37 +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
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
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
f8fe23fda7 A basic infrastructure for generating Teyjus bytecode from the GF abstract syntax 2012-08-29 11:43:02 +00:00
aarne
191ecc71b8 command option ma -known to drop unknown words 2012-06-10 10:43:57 +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
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
Nick Frolov
5b7736e860 Fixed a typo in the shell online help 2011-11-01 11:22:13 +00:00
aarne
0c2f20d04d structured examples in help into pairs (command,explanation) 2011-09-25 08:42:27 +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
aarne
958e81126d commands ss to show source, and sd to show the dependencies of a constant 2011-09-21 08:12:14 +00:00
hallgren
751fd79763 Add a command name header to the 'help -t2t' output 2011-09-15 18:19:01 +00:00
hallgren
642d391d73 Omit empty sections in gf help output 2011-09-14 20:26:22 +00:00
hallgren
570afd870c GF shell command 'help -t2t' outputs help in txt2tags format 2011-09-14 19:40:28 +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
aarne
6757ab2b41 reload command in shell 2011-08-25 15:58:38 +00:00
aarne
4ec34bdbb6 transliteration via configuration file: ps -to=file or ps -from=file 2011-05-02 14:53:46 +00:00
hallgren
4d4a58e54a GF shell restricted mode: found one more writeFile that should be restricted 2011-04-08 13:20:50 +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
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
aarne
d9b5d3ed4d switched the upper and lower parts of lexc entries to their standard order 2011-03-04 17:25:53 +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
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
aarne
0dfbc9b730 the command show_operations to inspect opers in scope 2011-02-28 13:31:04 +00:00
aarne
390566b17e command ga moved to option 'aw -giza' 2011-02-25 12:55:36 +00:00
aarne
7445e56387 a simple clitic analysis command 'ca' 2011-02-06 16:19:24 +00:00
krasimir
0aab9833f7 more clear LICENSE file for GF 2010-12-21 10:57:54 +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
aarne
96433c2914 preparing resource api for multilingual documentation 2010-12-10 08:48:26 +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
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
aarne
752a7b8030 format .gfm for multiple modules in the same file; includes lines with ;-separated words 2010-11-30 14:50:24 +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
aarne
2acb125f6f fixed some bugs in translation quiz 2010-11-17 08:30:02 +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
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
8970184578 added option -depth to command gr 2010-10-12 13:36:37 +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
aarne
709b0518fa restored the .ebnf grammar format 2010-09-24 12:39:49 +00:00