@keymanapp/kmc-kmn 17.0.112-alpha → 17.0.113-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,13 @@
1
1
  import { CompilerCallbacks } from '@keymanapp/common-types';
2
+ export interface CompilerResultFile {
3
+ filename: string;
4
+ data: Uint8Array;
5
+ }
6
+ export interface CompilerResult {
7
+ kmx?: CompilerResultFile;
8
+ kvk?: CompilerResultFile;
9
+ js?: CompilerResultFile;
10
+ }
2
11
  export interface CompilerOptions {
3
12
  shouldAddCompilerVersion?: boolean;
4
13
  saveDebug?: boolean;
@@ -38,6 +47,7 @@ export declare class KmnCompiler {
38
47
  run(infile: string, outfile: string, options?: CompilerOptions): boolean;
39
48
  private compilerMessageCallback;
40
49
  private runCompiler;
50
+ private runKvkCompiler;
41
51
  /**
42
52
  *
43
53
  * @param pattern UnicodeSet pattern such as `[a-z]`
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/compiler.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,yBAAyB,CAAC;AAI3E,MAAM,WAAW,eAAe;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAgBD;;GAEG;AACH,KAAK,OAAO,GAAG,MAAM,CAAC;AAEtB;;GAEG;AACH,cAAM,WAAW;IACf,MAAM,EAAE,GAAG,CAAC;IAEZ,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9K,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACxE,kBAAkB,CAAC,EAAE,CAAC,wBAAwB,EAAE,MAAM,KAAK,OAAO,CAAC;gBAEvD,UAAU,EAAE,GAAG;IAgB3B;;;OAGG;WACiB,IAAI,IAAK,OAAO,CAAC,WAAW,CAAC;CAGlD;AAED,qBAAa,WAAW;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,IAAI,EAAE,WAAW,CAAC;;IAOL,IAAI,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAajE;;;OAGG;IACI,iBAAiB,IAAK,OAAO;IAY7B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO;IAa/E,OAAO,CAAC,uBAAuB,CAG9B;IAED,OAAO,CAAC,WAAW;IAkBnB;;;;;OAKG;IACI,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAI,UAAU,GAAG,IAAI;CA+BhF;AA2BD;;GAEG;AACH,qBAAa,UAAU;IACF,OAAO,EAAE,MAAM;IAAS,MAAM,EAAE,MAAM,EAAE,EAAE;gBAA1C,OAAO,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,EAAE,EAAE;IAE7D;;OAEG;IACH,IAAI,MAAM,IAAK,MAAM,CAEpB;IAED,QAAQ,IAAK,MAAM;CAGpB"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/compiler.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAgD,MAAM,yBAAyB,CAAC;AAI1G,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,EAAE,CAAC,EAAE,kBAAkB,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAgBD;;GAEG;AACH,KAAK,OAAO,GAAG,MAAM,CAAC;AAEtB;;GAEG;AACH,cAAM,WAAW;IACf,MAAM,EAAE,GAAG,CAAC;IAEZ,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9K,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACxE,kBAAkB,CAAC,EAAE,CAAC,wBAAwB,EAAE,MAAM,KAAK,OAAO,CAAC;gBAEvD,UAAU,EAAE,GAAG;IAgB3B;;;OAGG;WACiB,IAAI,IAAK,OAAO,CAAC,WAAW,CAAC;CAGlD;AAED,qBAAa,WAAW;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,IAAI,EAAE,WAAW,CAAC;;IAOL,IAAI,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAajE;;;OAGG;IACI,iBAAiB,IAAK,OAAO;IAY7B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO;IAyB/E,OAAO,CAAC,uBAAuB,CAG9B;IAED,OAAO,CAAC,WAAW;IAuCnB,OAAO,CAAC,cAAc;IA0BtB;;;;;OAKG;IACI,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAI,UAAU,GAAG,IAAI;CA+BhF;AA2BD;;GAEG;AACH,qBAAa,UAAU;IACF,OAAO,EAAE,MAAM;IAAS,MAAM,EAAE,MAAM,EAAE,EAAE;gBAA1C,OAAO,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,EAAE,EAAE;IAE7D;;OAEG;IACH,IAAI,MAAM,IAAK,MAAM,CAEpB;IAED,QAAQ,IAAK,MAAM;CAGpB"}
@@ -1,28 +1,16 @@
1
1
  /*
2
2
  TODO: implement additional interfaces:
3
3
 
4
- extern "C" bool kmcmp_CompileKeyboardFileToBuffer(
5
- char* pszInfile,
6
- void* pfkBuffer,
7
- bool ACompilerWarningsAsErrors,
8
- bool AWarnDeprecatedCode,
9
- kmcmp_CompilerMessageProc pMsgproc,
10
- void* AmsgprocContext,
11
- int Target
12
- );
13
-
14
- typedef bool (*kmcmp_ValidateJsonMessageProc)(int64_t offset, const char* szText, void* context);
15
-
16
- extern "C" bool kmcmp_ValidateJsonFile(
17
- std::fstream& f,
18
- std::fstream& fd,
19
- kmcmp_ValidateJsonMessageProc MessageProc,
20
- void* context
21
- );
4
+ typedef bool (*kmcmp_ValidateJsonMessageProc)();
5
+ extern "C" bool kmcmp_ValidateJsonFile();
22
6
  */
7
+ // TODO: rename wasm-host?
8
+ import { KvkFileWriter, KvksFileReader } from '@keymanapp/common-types';
23
9
  import loadWasmHost from '../import/kmcmplib/wasm-host.js';
24
10
  import { CompilerMessages, mapErrorFromKmcmplib } from './messages.js';
25
11
  ;
12
+ ;
13
+ ;
26
14
  const baseOptions = {
27
15
  shouldAddCompilerVersion: true,
28
16
  saveDebug: true,
@@ -111,23 +99,86 @@ export class KmnCompiler {
111
99
  // TODO: use callbacks for file access -- so kmc-kmn is entirely fs agnostic
112
100
  let result = this.runCompiler(infile, outfile, options);
113
101
  delete globalThis[this.callbackName];
114
- return result;
102
+ //TODO: write the file out!
103
+ if (result) {
104
+ if (result.kmx) {
105
+ this.callbacks.fs.writeFileSync(result.kmx.filename, result.kmx.data);
106
+ }
107
+ if (result.kvk) {
108
+ this.callbacks.fs.writeFileSync(result.kvk.filename, result.kvk.data);
109
+ }
110
+ if (result.js) {
111
+ this.callbacks.fs.writeFileSync(result.js.filename, result.js.data);
112
+ }
113
+ }
114
+ return !!result;
115
115
  }
116
116
  compilerMessageCallback = (line, code, msg) => {
117
117
  this.callbacks.reportMessage(mapErrorFromKmcmplib(line, code, msg));
118
118
  return 1;
119
119
  };
120
120
  runCompiler(infile, outfile, options) {
121
+ let result = {};
122
+ let wasm_interface = new this.wasm.Module.CompilerInterface();
123
+ let wasm_result = null;
121
124
  try {
122
- if (!this.wasm.setCompilerOptions(options.shouldAddCompilerVersion ? 1 : 0)) {
123
- this.callbacks.reportMessage(CompilerMessages.Fatal_UnableToSetCompilerOptions());
125
+ wasm_interface.saveDebug = options.saveDebug;
126
+ wasm_interface.compilerWarningsAsErrors = options.compilerWarningsAsErrors;
127
+ wasm_interface.warnDeprecatedCode = options.warnDeprecatedCode;
128
+ wasm_interface.messageCallback = this.callbackName;
129
+ wasm_interface.loadFileCallback = this.callbackName; // TODO: this is wrong, needs to be a new callback; not yet used though
130
+ wasm_result = this.wasm.Module.kmcmp_compile(infile, wasm_interface);
131
+ if (!wasm_result.result) {
132
+ return null;
133
+ }
134
+ if (wasm_result.kvksFilename) {
135
+ result.kvk = this.runKvkCompiler(wasm_result.kvksFilename, infile, outfile);
136
+ if (!result.kvk) {
137
+ return null;
138
+ }
124
139
  }
125
- return this.wasm.compileKeyboardFile(infile, outfile, options.saveDebug ? 1 : 0, options.compilerWarningsAsErrors ? 1 : 0, options.warnDeprecatedCode ? 1 : 0, this.callbackName);
140
+ result.kmx = {
141
+ filename: outfile,
142
+ data: new Uint8Array(this.wasm.Module.HEAP8.buffer, wasm_result.kmx, wasm_result.kmxSize)
143
+ };
144
+ return result;
126
145
  }
127
146
  catch (e) {
128
147
  this.callbacks.reportMessage(CompilerMessages.Fatal_UnexpectedException({ e: e }));
129
- return false;
148
+ return null;
149
+ }
150
+ finally {
151
+ if (wasm_result) {
152
+ wasm_result.delete();
153
+ }
154
+ wasm_interface.delete();
155
+ }
156
+ }
157
+ runKvkCompiler(kvksFilename, kmnFilename, kmxFilename) {
158
+ // The compiler detected a .kvks file, which needs to be captured
159
+ let reader = new KvksFileReader();
160
+ kvksFilename = this.callbacks.resolveFilename(kmnFilename, kvksFilename);
161
+ let kvks = reader.read(this.callbacks.loadFile(kvksFilename));
162
+ try {
163
+ reader.validate(kvks, this.callbacks.loadSchema('kvks'));
164
+ }
165
+ catch (e) {
166
+ console.log(e);
167
+ // TODO: this.callbacks.reportMessage(CompilerMessages.Error_InvalidKvksFile({e}));
168
+ return null;
169
+ }
170
+ let errors = []; //TODO: KVKSParseError[];
171
+ let vk = reader.transform(kvks, errors);
172
+ if (!vk || errors.length) {
173
+ console.dir(errors);
174
+ // TODO: this.callbacks.reportMessage(CompilerMessages.Error_InvalidKvksFile({e}));
175
+ return null;
130
176
  }
177
+ let writer = new KvkFileWriter();
178
+ return {
179
+ filename: this.callbacks.path.join(this.callbacks.path.dirname(kmxFilename), this.callbacks.path.basename(kvksFilename, '.kvks') + '.kvk'),
180
+ data: writer.write(vk)
181
+ };
131
182
  }
132
183
  /**
133
184
  *
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/compiler/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/compiler/compiler.ts"],"names":[],"mappings":"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"}