From 44d1a5a9f71b03d9aceeccd760a63fcdc45f8bad Mon Sep 17 00:00:00 2001 From: hallgren Date: Wed, 12 Oct 2011 17:03:54 +0000 Subject: 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. --- .../javascript/minibar/gf-web-api-examples.html | 151 --------------------- 1 file changed, 151 deletions(-) delete mode 100644 src/runtime/javascript/minibar/gf-web-api-examples.html (limited to 'src/runtime/javascript/minibar/gf-web-api-examples.html') diff --git a/src/runtime/javascript/minibar/gf-web-api-examples.html b/src/runtime/javascript/minibar/gf-web-api-examples.html deleted file mode 100644 index 194967de0..000000000 --- a/src/runtime/javascript/minibar/gf-web-api-examples.html +++ /dev/null @@ -1,151 +0,0 @@ - - - -GF web services API examples - - - - - -

GF web services API examples

- -GF can be used interactively from the GF Shell. Some of the functionality -availiable in the GF shell is also available via the GF web services API. - -

-The -GF -Web Service API page describes the calls supported by the GF web service -API. Below, we illustrate these calls by examples, and also show -how to make these calls from JavaScript using the API defined in -pgf_online.js. - -

-Note that pgf_online.js was initially developed -with one particular web application in mind (the minibar), so the server API was -incomplete. It was simplified and generalized in August 2011 to support the -full API. - -

-
These boxes show what the calls look like in the JavaScript - API defined in pgf_online.js. -
These boxes show the corresponding URLs sent to the PGF server. -
These boxes show the JSON (JavaScript data structures) returned by the PGF - server. This will be passed to the callback function supplied in the - call. -
- -

Initialization

-
-
- // Select which server and grammars to use: -
var server_options = { -
  grammars_url: "http://www.grammaticalframework.org/grammars/", -
  grammar_list: ["Foods.pgf"] // It's ok to skip this -
} -
var server = pgf_online(server_options); -
- -

Examples

- -
-
// Get the list of available grammars -
server.get_grammarlist(callback) -
http://localhost:41296/grammars/grammars.cgi -
["Foods.pgf","Phrasebook.pgf"] -
// Select which grammar to use -
server.switch_grammar("Foods.pgf") -
// Get list of concrete languages and other grammar info -
server.grammar_info(callback) -
http://localhost:41296/grammars/Foods.pgf -
{"name":"Foods", - "userLanguage":"FoodsEng", - "categories":["Comment","Float","Int","Item","Kind","Quality","String"], - "functions":["Boring","Cheese","Delicious","Expensive","Fish","Fresh", - "Italian","Mod","Pizza","Pred","That","These","This","Those","Very", - "Warm","Wine"], - "languages":[{"name":"FoodsBul","languageCode":""}, - {"name":"FoodsEng","languageCode":"en-US"}, - {"name":"FoodsFin","languageCode":""}, - {"name":"FoodsSwe","languageCode":"sv-SE"}, - ...] -} -
// Get a random syntax tree -
server.get_random({},callback) -
http://localhost:41296/grammars/Foods.pgf?command=random -
[{"tree":"Pred (That Pizza) (Very Boring)"}] -
// Linearize a syntax tree -
server.linearize({tree:"Pred (That Pizza) (Very Boring)",to:"FoodsEng"},callback) -
http://localhost:41296/grammars/Foods.pgf?command=linearize&tree=Pred+(That+Pizza)+(Very+Boring)&to=FoodsEng -
[{"to":"FoodsEng","text":"that pizza is very boring"}] -
server.linearize({tree:"Pred (That Pizza) (Very Boring)"},callback) -
http://localhost:41296/grammars/Foods.pgf?command=linearize&tree=Pred+(That+Pizza)+(Very+Boring) -
[{"to":"FoodsBul","text":"онази пица е много еднообразна"}, - {"to":"FoodsEng","text":"that pizza is very boring"}, - {"to":"FoodsFin","text":"tuo pizza on erittäin tylsä"}, - {"to":"FoodsSwe","text":"den där pizzan är mycket tråkig"}, - ... -] -
// Parse a string -
server.parse({from:"FoodsEng",input:"that pizza is very boring"},callback) -
http://localhost:41296/grammars/Foods.pgf?command=parse&input=that+pizza+is+very+boring&from=FoodsEng -
[{"from":"FoodsEng", - "brackets":{"cat":"Comment","fid":10,"index":0,"children":[{"cat":"Item","fid":7,"index":0,"children":[{"token":"that"},{"cat":"Kind","fid":6,"index":0,"children":[{"token":"pizza"}]}]},{"token":"is"},{"cat":"Quality","fid":9,"index":0,"children":[{"token":"very"},{"cat":"Quality","fid":8,"index":0,"children":[{"token":"boring"}]}]}]}, - "trees":["Pred (That Pizza) (Very Boring)"]}] -
// Translate to all available languages -
server.translate({from:"FoodsEng",input:"that pizza is very boring"},callback) -
... -
// Translate to one language -
server.translate({input:"that pizza is very boring", from:"FoodsEng", to:"FoodsSwe"}, callback) -
http://localhost:41296/grammars/Foods.pgf?command=translate&input=that+pizza+is+very+boring&from=FoodsEng&to=FoodsSwe -
[{"from":"FoodsEng", - "brackets":{"cat":"Comment","fid":10,"index":0,"children":[{"cat":"Item","fid":7,"index":0,"children":[{"token":"that"},{"cat":"Kind","fid":6,"index":0,"children":[{"token":"pizza"}]}]},{"token":"is"},{"cat":"Quality","fid":9,"index":0,"children":[{"token":"very"},{"cat":"Quality","fid":8,"index":0,"children":[{"token":"boring"}]}]}]}, - "translations": - [{"tree":"Pred (That Pizza) (Very Boring)", - "linearizations": - [{"to":"FoodsSwe", - "text":"den där pizzan är mycket tråkig"}]}]}] -
// Get completions (what words could come next) -
server.complete({from:"FoodsEng",input:"that pizza is very "},callback) -
http://localhost:41296/grammars/Foods.pgf?command=complete&input=that+pizza+is+very+&from=FoodsEng -
[{"from":"FoodsEng", - "brackets":{"cat":"_","fid":0,"index":0,"children":[{"cat":"Item","fid":7,"index":0,"children":[{"token":"that"},{"cat":"Kind","fid":6,"index":0,"children":[{"token":"pizza"}]}]},{"token":"is"},{"token":"very"}]}, - "completions":["boring","delicious","expensive","fresh","Italian","very","warm"], - "text":""}] -
-
-
- Last modified: Sun Aug 21 10:52:43 CEST 2011 -
-
TH
- \ No newline at end of file -- cgit v1.2.3