{"id":18696781,"url":"https://github.com/546669204/javascript-interpreter","last_synced_at":"2026-04-17T13:32:29.124Z","repository":{"id":151412180,"uuid":"405574716","full_name":"546669204/javascript-interpreter","owner":"546669204","description":"用js实现js的解释器。","archived":false,"fork":false,"pushed_at":"2021-09-14T02:30:49.000Z","size":149,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-20T10:39:18.362Z","etag":null,"topics":["ast","interpreter","javascript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/546669204.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-09-12T07:21:32.000Z","updated_at":"2025-08-13T08:57:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"a90644fe-5c7c-4bc7-a637-f2e7c2bf64cf","html_url":"https://github.com/546669204/javascript-interpreter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/546669204/javascript-interpreter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/546669204%2Fjavascript-interpreter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/546669204%2Fjavascript-interpreter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/546669204%2Fjavascript-interpreter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/546669204%2Fjavascript-interpreter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/546669204","download_url":"https://codeload.github.com/546669204/javascript-interpreter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/546669204%2Fjavascript-interpreter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31931344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T12:37:54.787Z","status":"ssl_error","status_checked_at":"2026-04-17T12:37:25.095Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ast","interpreter","javascript"],"created_at":"2024-11-07T11:20:56.205Z","updated_at":"2026-04-17T13:32:29.107Z","avatar_url":"https://github.com/546669204.png","language":"TypeScript","readme":"# Javascript-Interpreter\n用js实现js的解释器。\n\ndemo: https://546669204.github.io/javascript-interpreter/\n\n### Expression\n\n* [x] ArrayExpression       [1,2,3,...]\n* [x] AssignmentExpression  a = 1\n* [x] BinaryExpression      a\u003eb\n* [x] CallExpression        x()\n* [x] ConditionalExpression x?a:b\n* [x] FunctionExpression    var x = function(){}\n* [x] LogicalExpression     a || b\n* [x] MemberExpression      a.b.c\n* [x] NewExpression         new x\n* [x] ObjectExpression      {a:\"1\",...}\n* [x] SequenceExpression    expression1,expression2,...\n* [x] ThisExpression        this\n* [x] UnaryExpression       !x/~x/...\n* [x] UpdateExpression      x++/x--/...\n\n### Statement\n\n* [x] BlockStatement        {}\n* [x] BreakStatement        break\n* [x] ContinueStatement     continue\n* [x] DoWhileStatement      do while\n* [x] EmptyStatement        ;\n* [x] ExpressionStatement   exp;\n* [x] ForInStatement        for in\n* [x] ForStatement          for \n* [x] FunctionDeclaration   function\n* [x] IfStatement           if else \n* [x] LabeledStatement      label:\n* [x] ReturnStatement       return \n* [x] SwitchStatement       switch\n* [x] ThrowStatement        throw\n* [x] TryStatement          try catch\n* [x] VariableDeclaration   var let const\n* [x] WhileStatement        while\n* [x] WithStatement         with\n\n### TEST\n\n```sh\n# 安装依赖\nyarn\n# 构建成果\nyarn build\n# 运行jest测试\nyarn test\n```\n\n### TODO\n\n* [ ] 递归转循环\n* [ ] 效率升级\n* [x] jest test262 测试用例\n\n### dep\n\nhttps://github.com/facebook/jest  \nhttps://github.com/acornjs/acorn  \nhttps://github.com/babel/babel  \n\nhttps://262.ecma-international.org/5.1/#sec-12.1  \nhttps://developer.mozilla.org/  \nhttps://astexplorer.net/  \nhttps://github.com/tc39/test262  ","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F546669204%2Fjavascript-interpreter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F546669204%2Fjavascript-interpreter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F546669204%2Fjavascript-interpreter/lists"}