{"id":23483471,"url":"https://github.com/khtdr/stoa","last_synced_at":"2025-04-14T00:13:54.062Z","repository":{"id":50538150,"uuid":"238856973","full_name":"khtdr/stoa","owner":"khtdr","description":"language framework","archived":false,"fork":false,"pushed_at":"2024-03-10T22:05:30.000Z","size":2688,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"sage","last_synced_at":"2025-04-14T00:13:27.095Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://khtdr.github.io/stoa","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/khtdr.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-07T06:19:16.000Z","updated_at":"2022-07-30T00:08:58.000Z","dependencies_parsed_at":"2024-12-24T21:12:12.723Z","dependency_job_id":"8bea8399-bc6c-4369-8a53-ffc61b0f1f2e","html_url":"https://github.com/khtdr/stoa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khtdr%2Fstoa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khtdr%2Fstoa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khtdr%2Fstoa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khtdr%2Fstoa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khtdr","download_url":"https://codeload.github.com/khtdr/stoa/tar.gz/refs/heads/sage","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248799956,"owners_count":21163404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-24T21:12:04.626Z","updated_at":"2025-04-14T00:13:54.038Z","avatar_url":"https://github.com/khtdr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"* Project Stoa\n\n** Project Status\n*** [ ] create an example language based on Crafting Interpreters called =Stox=\n*** [ ] create a malleable language framework for exploring language ideas\n\n** Example Languages\n*** Stox\n**** Code Structure\n#+begin_src shell :results none\nmake graphics\n#+end_src\n\n[[./images/stox-code.png]]\n\n**** Build Status\n#+begin_src sh :exports both :results verbatim\nmake clean all\n#+end_src\n\n#+RESULTS:\n#+begin_example\nrm -rf node_modules\nrm -rf coverage\nrm -f ./bin/stox.js\npnpm install\nLockfile is up to date, resolution step is skipped\nProgress: resolved 1, reused 0, downloaded 0, added 0\nPackages: +305\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nProgress: resolved 305, reused 305, downloaded 0, added 296\nProgress: resolved 305, reused 305, downloaded 0, added 305, done\n\ndevDependencies:\n+ @istanbuljs/nyc-config-typescript 1.0.2\n+ @types/node 14.18.63\n+ dependency-cruiser 11.18.0\n+ nodemon 2.0.22\n+ nyc 15.1.0\n+ opts 2.0.2\n+ tsup 6.7.0\n+ typescript 4.9.5\n\nDone in 1.8s\nCLI Building entry: lib/repl-kit/index.ts\nCLI Using tsconfig: tsconfig.json\nCLI tsup v6.7.0\nCLI Target: es6\nCJS Build start\nCJS packages/repl-kit/index.js     5.13 KB\nCJS packages/repl-kit/index.js.map 13.73 KB\nCJS ⚡️ Build success in 229ms\nDTS Build start\nDTS ⚡️ Build success in 622ms\nDTS packages/repl-kit/index.d.ts 228.00 B\nCLI Building entry: stox.ts\nCLI Using tsconfig: tsconfig.json\nCLI tsup v6.7.0\nCLI Target: es6\nCJS Build start\nCJS bin/stox.js     29.19 KB\nCJS bin/stox.js.map 118.16 KB\nCJS ⚡️ Build success in 20ms\n#+end_example\n\n**** Usage Documentation\n#+begin_src sh :exports both :results verbatim\n./bin/stox --help\n#+end_src\n\n#+RESULTS:\n#+begin_example\nUsage: node ./bin/stox.js [options] [file]\nShow this help message\n    --help\nprints version info and exits\n    -v, --version\nprints parse tree and exits\n    -p, --parse\nprints tokens and exits\n    -t, --tokens\nruns the repl\n    -r, --repl\n\n#+end_example\n\n**** Current Version\n#+begin_src sh :exports both :results verbatim\n./bin/stox -v\n#+end_src\n\n#+RESULTS:\n: stox-2022.08.15\n\n**** Code Coverage\n\n#+begin_src sh :exports both :results verbatim\nmake coverage\n#+end_src\n\n#+RESULTS:\n#+begin_example\n\n=============================== Coverage summary ===============================\nStatements   : 95.53% ( 813/851 )\nBranches     : 80.4% ( 357/444 )\nFunctions    : 97.76% ( 219/224 )\nLines        : 95.44% ( 713/747 )\n================================================================================\n------------------|---------|----------|---------|---------|----------------------------------------\nFile              | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s\n------------------|---------|----------|---------|---------|----------------------------------------\nAll files         |   95.53 |     80.4 |   97.76 |   95.44 |\n lib/stoa-ltk     |   98.33 |    92.07 |   95.74 |    98.1 |\n  language.ts     |     100 |    95.23 |     100 |     100 | 60\n  parser.ts       |   95.23 |       75 |   84.61 |   94.28 | 13,84\n  reporter.ts     |     100 |      100 |     100 |     100 |\n  runtime.ts      |     100 |      100 |     100 |     100 |\n  tokenizer.ts    |   98.82 |    98.14 |     100 |   98.63 | 216\n stox             |   94.01 |    75.42 |   99.23 |   94.38 |\n  cli-app.ts      |     100 |       80 |     100 |     100 | 34-39\n  interpreter.ts  |   90.06 |     75.7 |     100 |   90.44 | ...108,124-126,157,168,229,244,253,255\n  parser.ts       |   93.68 |    73.04 |   97.14 |   94.47 | 16,56,180-181,272,375,463,469-481\n  printer.ts      |   96.87 |       80 |     100 |   96.42 | 55-56\n  resolver.ts     |     100 |       85 |     100 |     100 | 46,123,166\n  stox-lang.ts    |     100 |      100 |     100 |     100 |\n  tokenizer.ts    |     100 |      100 |     100 |     100 |\n stox/ast         |     100 |      100 |     100 |     100 |\n  declarations.ts |     100 |      100 |     100 |     100 |\n  expressions.ts  |     100 |      100 |     100 |     100 |\n  nodes.ts        |     100 |      100 |     100 |     100 |\n  statements.ts   |     100 |      100 |     100 |     100 |\n  visitor.ts      |     100 |      100 |     100 |     100 |\n stox/runtime     |    92.3 |     82.5 |    90.9 |   89.79 |\n  classes.ts      |      90 |       75 |    87.5 |    87.5 | 19,32\n  control-flow.ts |     100 |       75 |     100 |     100 | 7\n  environment.ts  |      90 |    82.14 |     100 |   84.61 | 17,23\n  globals.ts      |   66.66 |      100 |      50 |   66.66 | 7\n  values.ts       |     100 |      100 |     100 |     100 |\n------------------|---------|----------|---------|---------|----------------------------------------\n#+end_example\n\nThe latest uploaded code-coverage reports are at: https://khtdr.com/stoa/coverage\n\n**** Test Suite Status\n\n#+begin_src sh :exports both :results verbatim\nmake test\n#+end_src\n\n#+RESULTS:\n#+begin_example\nTesting: arithmetic.stox\n✔✔✔✔✔✔\nTesting: bad-token.stox\n✔✔✔✔✔✔\nTesting: class-syntax.stox\n✔✔✔✔✔✔\nTesting: closures.stox\n✔✔✔✔✔✔\nTesting: comments.stox\n✔✔✔✔✔✔\nTesting: divide-by-zero.stox\n✔✔✔✔✔✔\nTesting: fib.stox\n✔✔✔✔✔✔\nTesting: functions.stox\n✔✔✔✔✔✔\nTesting: global-redefine.stox\n✔✔✔✔✔✔\nTesting: hello-world.stox\n✔✔✔✔✔✔\nTesting: literals.stox\n✔✔✔✔✔✔\nTesting: logical-ternary.stox\n✔✔✔✔✔✔\nTesting: name.stox\n✔✔✔✔✔✔\nTesting: same-names.stox\n✔✔✔✔✔✔\nTesting: scope.stox\n✔✔✔✔✔✔\nTesting: semantic-return.stox\n✔✔✔✔✔✔\nTesting: sticky-precision.stox\n✔✔✔✔✔✔\nTesting: triforce.stox\n✔✔✔✔✔✔\nTesting: version.stox\n✔✔✔✔✔✔\n\nPassing: 114 out of 114 (100%)\nFailing: 0 out of 114 (0%)\n\n#+end_example\n\n**** Potential Goals\n- full stack from sql to hover effects\n- lsp compatible\n- actually use it to create\n- minimize user function writing with string/date/number primitives\n\n* ...\n** clean\nsrc_elisp[:results none]{(save-excursion (org-goto-line 1) (+org/remove-result-blocks t))}\n** build\nsrc_elisp[:results none]{(save-excursion (org-goto-line 1) (org-babel-execute-subtree))}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhtdr%2Fstoa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhtdr%2Fstoa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhtdr%2Fstoa/lists"}