aurora-langium 0.2.1 → 0.2.2

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.
Files changed (36) hide show
  1. package/dist/cjs/cli/index.cjs +131198 -0
  2. package/dist/cjs/cli/index.cjs.map +7 -0
  3. package/dist/cjs/src/cli/cli-util.js.map +1 -1
  4. package/dist/cjs/src/cli/index.js +17 -0
  5. package/dist/cjs/src/cli/index.js.map +1 -0
  6. package/dist/cjs/src/cli/main.js +3 -0
  7. package/dist/cjs/src/cli/main.js.map +1 -1
  8. package/dist/cjs/test/aurora-arith/arith-parser-multi.test.js +57 -0
  9. package/dist/cjs/test/aurora-arith/arith-parser-multi.test.js.map +1 -0
  10. package/dist/cjs/test/aurora-arith/arith-parser-ternary.test.js +61 -0
  11. package/dist/cjs/test/aurora-arith/arith-parser-ternary.test.js.map +1 -0
  12. package/dist/cjs/test/aurora-arith/arith-parser.test.js +61 -0
  13. package/dist/cjs/test/aurora-arith/arith-parser.test.js.map +1 -0
  14. package/dist/esm/cli/main.js +134876 -0
  15. package/dist/esm/cli/main.js.map +7 -0
  16. package/dist/esm/extension/langclientconfig.js +20967 -0
  17. package/dist/esm/extension/langclientconfig.js.map +7 -0
  18. package/dist/esm/src/cli/cli-util.js.map +1 -1
  19. package/dist/esm/src/cli/index.js +12 -0
  20. package/dist/esm/src/cli/index.js.map +1 -0
  21. package/dist/esm/src/cli/main.js +3 -0
  22. package/dist/esm/src/cli/main.js.map +1 -1
  23. package/dist/esm/test/aurora-arith/arith-parser-multi.test.js +52 -0
  24. package/dist/esm/test/aurora-arith/arith-parser-multi.test.js.map +1 -0
  25. package/dist/esm/test/aurora-arith/arith-parser-ternary.test.js +56 -0
  26. package/dist/esm/test/aurora-arith/arith-parser-ternary.test.js.map +1 -0
  27. package/dist/esm/test/aurora-arith/arith-parser.test.js +56 -0
  28. package/dist/esm/test/aurora-arith/arith-parser.test.js.map +1 -0
  29. package/dist/types/src/cli/index.d.ts +6 -0
  30. package/dist/types/test/aurora-arith/arith-parser-multi.test.d.ts +1 -0
  31. package/dist/types/test/aurora-arith/arith-parser-ternary.test.d.ts +1 -0
  32. package/dist/types/test/aurora-arith/arith-parser.test.d.ts +1 -0
  33. package/package.json +7 -1
  34. package/src/cli/cli-util.ts +3 -0
  35. package/src/cli/index.ts +16 -0
  36. package/src/cli/main.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"cli-util.js","sourceRoot":"","sources":["../../../../src/cli/cli-util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,QAA6B;;IACjF,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;QAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,sDAAsD,UAAU,GAAG,CAAC,CAAC,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,QAAQ,kBAAkB,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxH,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAExF,MAAM,gBAAgB,GAAG,CAAC,MAAA,QAAQ,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;IACpF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;YAC5C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CACnB,QAAQ,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,eAAe,CAAC,OAAO,KAAK,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CACvI,CAAC,CAAC;SACN;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAoB,QAAgB,EAAE,QAA6B;;IACnG,OAAO,MAAA,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,0CAAE,KAAU,CAAC;AAC/E,CAAC;AAOD,MAAM,UAAU,yBAAyB,CAAC,QAAgB,EAAE,WAA+B;IACvF,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO;QACH,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;QAC1E,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAChC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"cli-util.js","sourceRoot":"","sources":["../../../../src/cli/cli-util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAK9B,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,QAA6B;;IACjF,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;QAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,sDAAsD,UAAU,GAAG,CAAC,CAAC,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,QAAQ,kBAAkB,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxH,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAExF,MAAM,gBAAgB,GAAG,CAAC,MAAA,QAAQ,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;IACpF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;YAC5C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CACnB,QAAQ,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,eAAe,CAAC,OAAO,KAAK,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CACvI,CAAC,CAAC;SACN;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAoB,QAAgB,EAAE,QAA6B;;IACnG,OAAO,MAAA,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,0CAAE,KAAU,CAAC;AAC/E,CAAC;AAOD,MAAM,UAAU,yBAAyB,CAAC,QAAgB,EAAE,WAA+B;IACvF,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO;QACH,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;QAC1E,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAChC,CAAC;AACN,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { createAuroraServices } from '../language/aurora-module.js';
2
+ import { extractAstNode } from './cli-util.js';
3
+ import { NodeFileSystem } from 'langium/node';
4
+ import { CstUtils, AstUtils } from 'langium';
5
+ export { CstUtils, AstUtils };
6
+ /** utility function parse a filename to PCM */
7
+ export const parse = async (fileName) => {
8
+ const services = createAuroraServices(NodeFileSystem).Aurora;
9
+ const module = await extractAstNode(fileName, services);
10
+ return module;
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAC,QAAQ,EAAC,QAAQ,EAAC,CAAA;AAC1B,+CAA+C;AAC/C,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,QAAgB,EAAgB,EAAE;IAC1D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAM,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE7D,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
@@ -7,6 +7,9 @@ import { generateJavaScript } from './generator.js';
7
7
  import { NodeFileSystem } from 'langium/node';
8
8
  import * as fs from 'node:fs/promises';
9
9
  import * as path from 'node:path';
10
+ /**the stuff below merely finds the package.json to find the version number so the command line can know this.
11
+ * this is not important right now
12
+ */
10
13
  const __dirname = path.resolve();
11
14
  const packagePath = path.resolve(__dirname, '..', '..', 'package.json');
12
15
  async function loadPackageContent() {
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/cli/main.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AAEjC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAExE,KAAK,UAAU,kBAAkB;IAC7B,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAqB,EAAiB,EAAE;IAC3F,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,cAAc,CAAM,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2CAA2C,iBAAiB,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC;AAMF,KAAK,UAAU,IAAI;IACf,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAElD,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,cAAc,GAAG,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,OAAO;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,QAAQ,EAAE,0CAA0C,cAAc,GAAG,CAAC;SAC/E,MAAM,CAAC,yBAAyB,EAAE,qCAAqC,CAAC;SACxE,WAAW,CAAC,2FAA2F,CAAC;SACxG,MAAM,CAAC,cAAc,CAAC,CAAC;IAE5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/cli/main.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC;;GAEG;AACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AAEjC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAExE,KAAK,UAAU,kBAAkB;IAC7B,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAqB,EAAiB,EAAE;IAC3F,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,cAAc,CAAM,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2CAA2C,iBAAiB,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC;AAMF,KAAK,UAAU,IAAI;IACf,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAElD,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,cAAc,GAAG,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,OAAO;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,QAAQ,EAAE,0CAA0C,cAAc,GAAG,CAAC;SAC/E,MAAM,CAAC,yBAAyB,EAAE,qCAAqC,CAAC;SACxE,WAAW,CAAC,2FAA2F,CAAC;SACxG,MAAM,CAAC,cAAc,CAAC,CAAC;IAE5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { expect, test } from 'vitest';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import { interpretEvaluations } from '../../src/language/aurora-arith-evaluator.js';
5
+ import { parse } from '../../src/cli/index.js';
6
+ const __dirname = path.relative(process.cwd(), path.dirname(__filename)); // Relative to the current working directory
7
+ test('ArithParserMultiTest: multiexpressions file works', async () => {
8
+ try {
9
+ const filePath = path.resolve(__dirname, 'resources', 'math3.aurora');
10
+ const fileContent = fs.readFileSync(filePath, 'utf-8');
11
+ const module = await parse(filePath);
12
+ const arithModule = module.elements.find(el => el.$type === "Arith_Module");
13
+ expect(arithModule.name).toBe('multiexpressions');
14
+ const results = interpretEvaluations(module);
15
+ const evaluations = arithModule.statements.filter(s => s.$type === 'Evaluation');
16
+ expect(results.size).toBe(evaluations.length);
17
+ const testCases = [];
18
+ results.forEach((computedValue, evaluation) => {
19
+ var _a, _b;
20
+ const exprText = extractExpressionText(fileContent, ((_a = evaluation.expression.$cstNode) === null || _a === void 0 ? void 0 : _a.offset) || 0, ((_b = evaluation.expression.$cstNode) === null || _b === void 0 ? void 0 : _b.length) || 0);
21
+ const expected = safeEvaluate(exprText);
22
+ testCases.push({
23
+ expression: exprText,
24
+ computed: Number(computedValue),
25
+ expected: Number(expected)
26
+ });
27
+ });
28
+ testCases.forEach(({ expression, computed, expected }) => {
29
+ console.log(`Testing: ${expression} → Computed: ${computed}, Expected: ${expected}`);
30
+ expect(computed, `Mismatch in expression: ${expression}`).toBe(expected);
31
+ });
32
+ }
33
+ catch (e) {
34
+ console.error('Test failed:', e);
35
+ throw e;
36
+ }
37
+ });
38
+ function extractExpressionText(content, offset, length) {
39
+ return content.slice(offset, offset + length).trim();
40
+ }
41
+ function safeEvaluate(expression) {
42
+ const jsExpression = expression
43
+ .replace(/\^/g, '**')
44
+ .replace(/;/g, '');
45
+ try {
46
+ return Function(`"use strict"; return (${jsExpression})`)();
47
+ }
48
+ catch (error) {
49
+ throw new Error(`Evaluation failed for: ${expression} - ${error}`);
50
+ }
51
+ }
52
+ //# sourceMappingURL=arith-parser-multi.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arith-parser-multi.test.js","sourceRoot":"","sources":["../../../../test/aurora-arith/arith-parser-multi.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { expect, test } from 'vitest';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import { interpretEvaluations } from '../../src/language/aurora-arith-evaluator.js';
5
+ import { parse } from '../../src/cli/index.js';
6
+ const __dirname = path.relative(process.cwd(), path.dirname(__filename)); // Relative to the current working directory
7
+ test('ArithParserTernaryTest: ternaryexpressions file works', async () => {
8
+ try {
9
+ const filePath = path.resolve(__dirname, 'resources', 'math2.aurora');
10
+ const fileContent = fs.readFileSync(filePath, 'utf-8');
11
+ const module = await parse(filePath);
12
+ const arithModule = module.elements.find(el => el.$type === "Arith_Module");
13
+ expect(arithModule.name).toBe('ternaryexpressions');
14
+ const results = interpretEvaluations(module);
15
+ const lines = fileContent.split('{')
16
+ .map(line => line.trim())
17
+ .filter(line => (line.length > 0 && !line.startsWith('arith_module')));
18
+ const eval_lines = lines.reverse()[0].split('}')[0].split(';').map(line => line.trim()).filter(line => line.length > 0);
19
+ expect(results.size).toBe(eval_lines.length);
20
+ const testCases = [];
21
+ let index = 0;
22
+ results.forEach((computedValue, evaluation) => {
23
+ const originalExpression = eval_lines[index];
24
+ const computed = Number(computedValue);
25
+ const expected = safeEvaluate(originalExpression);
26
+ testCases.push({
27
+ expression: originalExpression,
28
+ computed,
29
+ expected
30
+ });
31
+ index++;
32
+ });
33
+ testCases.forEach(({ expression, computed, expected }) => {
34
+ console.log(`Testing: ${expression} → Computed: ${computed}, Expected: ${expected}`);
35
+ expect(computed, `Mismatch in expression: ${expression}`).toBe(expected);
36
+ });
37
+ }
38
+ catch (e) {
39
+ console.error('Test failed:', e);
40
+ throw e;
41
+ }
42
+ });
43
+ function safeEvaluate(expression) {
44
+ const jsExpression = expression
45
+ .replace(/\^/g, '**')
46
+ .replace(/%/g, '%')
47
+ .replace(/\//g, '/')
48
+ .replace(/\*/g, '*');
49
+ try {
50
+ return Function(`"use strict"; return (${jsExpression})`)();
51
+ }
52
+ catch (error) {
53
+ throw new Error(`Failed to evaluate expression: ${expression} - ${error}`);
54
+ }
55
+ }
56
+ //# sourceMappingURL=arith-parser-ternary.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arith-parser-ternary.test.js","sourceRoot":"","sources":["../../../../test/aurora-arith/arith-parser-ternary.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { expect, test } from 'vitest';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import { interpretEvaluations } from '../../src/language/aurora-arith-evaluator.js';
5
+ import { parse } from '../../src/cli/index.js';
6
+ const __dirname = path.relative(process.cwd(), path.dirname(__filename)); // Relative to the current working directory
7
+ test('ArithParserTest: binaryexpressions file works', async () => {
8
+ try {
9
+ const filePath = path.resolve(__dirname, 'resources', 'math1.aurora');
10
+ const fileContent = fs.readFileSync(filePath, 'utf-8');
11
+ const module = await parse(filePath);
12
+ const arithModule = module.elements.find(el => el.$type === "Arith_Module");
13
+ expect(arithModule.name).toBe('binaryexpressions');
14
+ const results = interpretEvaluations(module);
15
+ expect(results.size).toBe(6);
16
+ const testCases = [];
17
+ let processedCount = 0;
18
+ results.forEach((computedValue, evaluation) => {
19
+ const expr = evaluation.expression;
20
+ const source = fileContent.split('\n')[processedCount + 1].trim().replace(';', '');
21
+ if (expr.$type === 'BinaryExpression') {
22
+ const left = expr.left.value;
23
+ const right = expr.right.value;
24
+ const operator = expr.operator;
25
+ const expected = calculateExpected(left, operator, right);
26
+ testCases.push({
27
+ expression: source,
28
+ computed: Number(computedValue),
29
+ expected: Number(expected)
30
+ });
31
+ processedCount++;
32
+ }
33
+ });
34
+ expect(processedCount).toBe(6);
35
+ testCases.forEach(({ expression, computed, expected }) => {
36
+ console.log(`Testing: ${expression} → Computed: ${computed}, Expected: ${expected}`);
37
+ expect(computed, `Mismatch in expression: ${expression}`).toBe(expected);
38
+ });
39
+ }
40
+ catch (e) {
41
+ console.error('Test failed:', e);
42
+ throw e;
43
+ }
44
+ });
45
+ function calculateExpected(left, operator, right) {
46
+ switch (operator) {
47
+ case '+': return left + right;
48
+ case '-': return left - right;
49
+ case '*': return left * right;
50
+ case '/': return left / right;
51
+ case '^': return Math.pow(left, right);
52
+ case '%': return left % right;
53
+ default: throw new Error(`Unknown operator: ${operator}`);
54
+ }
55
+ }
56
+ //# sourceMappingURL=arith-parser.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arith-parser.test.js","sourceRoot":"","sources":["../../../../test/aurora-arith/arith-parser.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**makes thes utils usable from ScalablyTyped perspective */
2
+ import type { PCM } from '../language/generated/ast.js';
3
+ import { CstUtils, AstUtils } from 'langium';
4
+ export { CstUtils, AstUtils };
5
+ /** utility function parse a filename to PCM */
6
+ export declare const parse: (fileName: string) => Promise<PCM>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aurora-langium",
3
3
  "description": "It contains the DSL named Aurora",
4
- "version": "0.2.1",
4
+ "version": "0.2.2",
5
5
  "files": [
6
6
  "bin",
7
7
  "out",
@@ -26,7 +26,13 @@
26
26
  "import": "./dist/cjs/extension/main.cjs",
27
27
  "require": "./dist/cjs/extension/main.cjs",
28
28
  "types": "./dist/types/src/extension/main.d.ts"
29
+ },
30
+ "./cli": {
31
+ "import": "./dist/cjs/cli/index.cjs",
32
+ "require": "./dist/cjs/cli/index.cjs",
33
+ "types": "./dist/types/src/cli/index.d.ts"
29
34
  }
35
+
30
36
  },
31
37
  "types": "dist/types/index.d.ts",
32
38
  "scripts": {
@@ -4,6 +4,9 @@ import * as path from 'node:path';
4
4
  import * as fs from 'node:fs';
5
5
  import { URI } from 'langium';
6
6
 
7
+
8
+
9
+
7
10
  export async function extractDocument(fileName: string, services: LangiumCoreServices): Promise<LangiumDocument> {
8
11
  const extensions = services.LanguageMetaData.fileExtensions;
9
12
  if (!extensions.includes(path.extname(fileName))) {
@@ -0,0 +1,16 @@
1
+ /**makes thes utils usable from ScalablyTyped perspective */
2
+ import type { PCM} from '../language/generated/ast.js';
3
+ import { createAuroraServices } from '../language/aurora-module.js';
4
+ import { extractAstNode } from './cli-util.js';
5
+ import { NodeFileSystem } from 'langium/node';
6
+
7
+ import { CstUtils,AstUtils} from 'langium'
8
+ export {CstUtils,AstUtils}
9
+ /** utility function parse a filename to PCM */
10
+ export const parse = async (fileName: string): Promise<PCM> => {
11
+ const services = createAuroraServices(NodeFileSystem).Aurora;
12
+ const module = await extractAstNode<PCM>(fileName, services);
13
+
14
+ return module;
15
+ };
16
+
package/src/cli/main.ts CHANGED
@@ -9,6 +9,10 @@ import { NodeFileSystem } from 'langium/node';
9
9
  import * as fs from 'node:fs/promises';
10
10
  import * as path from 'node:path';
11
11
 
12
+
13
+ /**the stuff below merely finds the package.json to find the version number so the command line can know this.
14
+ * this is not important right now
15
+ */
12
16
  const __dirname = path.resolve();
13
17
 
14
18
  const packagePath = path.resolve(__dirname, '..', '..', 'package.json');