From fb1199c49c39bd9dccde778d60ab50f42edd289f Mon Sep 17 00:00:00 2001 From: Thomas Hallgren Date: Tue, 3 Dec 2019 16:40:21 +0100 Subject: 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). --- src/www/gfmorpho/morpho.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/www/gfmorpho/morpho.js (limited to 'src/www/gfmorpho/morpho.js') diff --git a/src/www/gfmorpho/morpho.js b/src/www/gfmorpho/morpho.js new file mode 100644 index 000000000..d154b8bf7 --- /dev/null +++ b/src/www/gfmorpho/morpho.js @@ -0,0 +1,42 @@ + +var local=appLocalStorage("gf.morpho.") + +function quote(s) { + return s[0]=="_" ? s.substr(1) : '"'+s+'"' +} + +function show_output(output) { + morpho_output.className=output ? "morpho_output" : "" + replaceChildren(morpho_output,text(output)) +} + +function submitmorpho() { + clear(morpho_output) + var args=morpho.args.value.split(/ +/) + var lang=args[0] + var cat=args[1] + var wordforms=args.slice(2).map(quote).join(" ") + //console.log("submitmorpho",lang,cat,wordforms) + switch("") { + case lang: show_output("No language"); break; + case cat: show_output("No category"); break; + case wordforms: show_output("No word forms"); break; + default: + gfshell("e",function() { + gfshell("i -retain alltenses/Paradigms"+lang+".gfo",function() { + gfshell("cc -table -unqual mk"+cat+wordforms,show_output) + }) + }) + } + return false; +} + +function resetmorpho() { + show_output("") +} + +function submit_example(b) { + //console.log("submit_example",b.value) + morpho.args.value=b.value + submitmorpho() +} -- cgit v1.2.3