17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
-
-
+
-
-
+
-
|
— Firefox 54 – behind the dom.moduleScripts.enabled setting in about:config.
— Edge 15 – behind the Experimental JavaScript Features setting in about:flags.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export
*/
helpers.echo("START");
helpers.echo(conj.getConj("devenir", ":E", ":2s"));
helpers.echo(mfsp.getMasForm("emmerdeuse", true));
helpers.echo(mfsp.getMasForm("pointilleuse", false));
helpers.echo(phonet.getSimil("est"));
let oDict = new IBDAWG("French.json");
helpers.echo(oDict.getMorph("merde"));
gc_engine.load("JavaScript");
let aRes = gc_engine.parse("Je suit...");
for (let oErr of aRes) {
helpers.echo(text.getReadableError(oErr));
}
let oTokenizer = null;
let oLxg = null;
function loadGrammarChecker (sGCOptions="", sContext="JavaScript") {
if (gce === null) {
if (gc_engine === null) {
try {
gce = require("resource://grammalecte/fr/gc_engine.js");
gc_engine = require("resource://grammalecte/fr/gc_engine.js");
helpers = require("resource://grammalecte/helpers.js");
text = require("resource://grammalecte/text.js");
tkz = require("resource://grammalecte/tokenizer.js");
lxg = require("resource://grammalecte/fr/lexicographe.js");
oTokenizer = new tkz.Tokenizer("fr");
helpers.setLogOutput(console.log);
gce.load(sContext);
oDict = gce.getDictionary();
gc_engine.load(sContext);
oDict = gc_engine.getDictionary();
oLxg = new lxg.Lexicographe(oDict);
if (sGCOptions !== "") {
gce.setOptions(helpers.objectToMap(JSON.parse(sGCOptions)));
gc_engine.setOptions(helpers.objectToMap(JSON.parse(sGCOptions)));
}
// we always retrieve options from the gce, for setOptions filters obsolete options
return gce.getOptions()._toString();
// we always retrieve options from the gc_engine, for setOptions filters obsolete options
return gc_engine.getOptions()._toString();
}
catch (e) {
console.log("# Error: " + e.fileName + "\n" + e.name + "\nline: " + e.lineNumber + "\n" + e.message);
}
}
}
function parse (sText, sLang, bDebug, bContext) {
let aGrammErr = gce.parse(sText, sLang, bDebug, bContext);
let aGrammErr = gc_engine.parse(sText, sLang, bDebug, bContext);
return JSON.stringify(aGrammErr);
}
function parseAndSpellcheck (sText, sLang, bDebug, bContext) {
let aGrammErr = gce.parse(sText, sLang, bDebug, bContext);
let aGrammErr = gc_engine.parse(sText, sLang, bDebug, bContext);
let aSpellErr = oTokenizer.getSpellingErrors(sText, oDict);
return JSON.stringify({ aGrammErr: aGrammErr, aSpellErr: aSpellErr });
}
function getOptions () {
return gce.getOptions()._toString();
return gc_engine.getOptions()._toString();
}
function getDefaultOptions () {
return gce.getDefaultOptions()._toString();
return gc_engine.getDefaultOptions()._toString();
}
function setOptions (sGCOptions) {
gce.setOptions(helpers.objectToMap(JSON.parse(sGCOptions)));
return gce.getOptions()._toString();
gc_engine.setOptions(helpers.objectToMap(JSON.parse(sGCOptions)));
return gc_engine.getOptions()._toString();
}
function setOption (sOptName, bValue) {
gce.setOptions(new Map([ [sOptName, bValue] ]));
return gce.getOptions()._toString();
gc_engine.setOptions(new Map([ [sOptName, bValue] ]));
return gc_engine.getOptions()._toString();
}
function resetOptions () {
gce.resetOptions();
return gce.getOptions()._toString();
gc_engine.resetOptions();
return gc_engine.getOptions()._toString();
}
function fullTests (sGCOptions="") {
if (!gce || !oDict) {
function fullTests (sGCOptions='{"nbsp":true, "esp":true, "unit":true, "num":true}') {
if (!gc_engine || !oDict) {
return "# Error: grammar checker or dictionary not loaded."
}
let dMemoOptions = gce.getOptions();
let dMemoOptions = gc_engine.getOptions();
if (sGCOptions) {
gce.setOptions(helpers.objectToMap(JSON.parse(sGCOptions)));
gc_engine.setOptions(helpers.objectToMap(JSON.parse(sGCOptions)));
}
let tests = require("resource://grammalecte/tests.js");
let oTest = new tests.TestGrammarChecking(gce);
let oTest = new TestGrammarChecking(gc_engine);
let sAllRes = "";
for (let sRes of oTest.testParse()) {
dump(sRes+"\n");
helpers.echo(sRes+"\n");
sAllRes += sRes+"\n";
}
gce.setOptions(dMemoOptions);
gc_engine.setOptions(dMemoOptions);
return sAllRes;
}
// Lexicographer
function getListOfElements (sText) {
try {
|
146
147
148
149
150
151
152
153
|
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
function handleMessage (oRequest, xSender, sendResponse) {
console.log(`[background] received: ${oRequest.content}`);
sendResponse({response: "response from background script"});
}
browser.runtime.onMessage.addListener(handleMessage);
helpers.echo("START");
helpers.echo(conj.getConj("devenir", ":E", ":2s"));
helpers.echo(mfsp.getMasForm("emmerdeuse", true));
helpers.echo(mfsp.getMasForm("pointilleuse", false));
helpers.echo(phonet.getSimil("est"));
let oDict = new IBDAWG("French.json");
helpers.echo(oDict.getMorph("merde"));
gc_engine.load("JavaScript");
let aRes = gc_engine.parse("Je suit...");
for (let oErr of aRes) {
helpers.echo(text.getReadableError(oErr));
}
//fullTests();
|