{"id":28511684,"url":"https://github.com/nayuki/csc258-computer-debugger","last_synced_at":"2025-08-20T11:11:03.139Z","repository":{"id":1414215,"uuid":"1494522","full_name":"nayuki/CSC258-computer-debugger","owner":"nayuki","description":"CSC258 computer debugger.","archived":false,"fork":false,"pushed_at":"2017-08-27T06:02:57.000Z","size":384,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-09T00:07:45.495Z","etag":null,"topics":["debugger","desktop-app","education","gui","java","virtual-machine"],"latest_commit_sha":null,"homepage":"https://www.nayuki.io/page/csc258-computer-debugger","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nayuki.png","metadata":{"files":{"readme":"Readme.markdown","changelog":null,"contributing":null,"funding":null,"license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-03-18T02:57:35.000Z","updated_at":"2024-12-19T20:13:36.000Z","dependencies_parsed_at":"2022-07-29T13:09:15.352Z","dependency_job_id":null,"html_url":"https://github.com/nayuki/CSC258-computer-debugger","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nayuki/CSC258-computer-debugger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nayuki%2FCSC258-computer-debugger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nayuki%2FCSC258-computer-debugger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nayuki%2FCSC258-computer-debugger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nayuki%2FCSC258-computer-debugger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nayuki","download_url":"https://codeload.github.com/nayuki/CSC258-computer-debugger/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nayuki%2FCSC258-computer-debugger/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263399534,"owners_count":23460722,"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":["debugger","desktop-app","education","gui","java","virtual-machine"],"created_at":"2025-06-09T00:07:48.498Z","updated_at":"2025-07-03T20:32:22.926Z","avatar_url":"https://github.com/nayuki.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"CSC258 computer debugger\n========================\n\nIntroduction\n------------\n\nThe CSC258 computer is a hypothetical machine created by Eric Hehner at the\nUniversity of Toronto. Officially, its behavior and assembly language syntax are\nspecified.\n\nThis package is an independent, unofficial implementation of the CSC258\ncomputer, containing a rich set of software tools and sample programs.\nIt was developed from scratch by Nayuki in 2010, and is open source (see license below).\nThe tools are written in Java, requiring version 1.6 or above.\n\nHome page: https://www.nayuki.io/page/csc258-computer-debugger\n\n\nFeatures\n--------\n\nUser features:\n\n* Command-line runner (`csc258comp.runner.Runner`)\n* Graphical debugger (Swing UI) (`csc258comp.debugger.Debugger`)\n  * State of registers\n  * Execution step, backward-step, run, suspend\n  * Breakpoints\n  * Source code\n  * Current instruction\n  * Memory contents\n* Meaningful error messages from the compiler\n* Sample programs (in the \"demos\" directory)\n\nDeveloper features:\n\n* Clean code, easily modifiable and extensible\n* Code guards against null pointers, out-of-bounds, illegal input parameters,\n  and other misuses of the API in a fail-fast way\n* Some functionality is covered by JUnit tests\n* Compilation of CSC258 programs is separated from linking\n\n\nBuilding\n--------\n\nRun `javac` on every `.java` file. Or better yet, import the project into an IDE\nlike Eclipse or NetBeans.\n\nOn Unix, you can also perform these commands in a shell:\n\n    cd /...your path to.../csc258\n    mkdir bin\n    javac -d bin $(find src -name \"*.java\" -print)\n\n\nRunning\n-------\n\nYou must set the working directory or the class path to the appropriate root for\nJava class files. For example, if the runner is located at\n`/the/package/csc258comp/runner/Csc258Runner.class`, then you must do one of\nthese (just one):\n\n* `cd /the/package`  \n  `java csc258comp.runner.Runner` *[CSC258 files]*\n* `java -cp /the/package csc258comp.runner.Runner` *[CSC258 files]*\n* `export CLASSPATH=/the/package`  \n  `java csc258comp.runner.Runner` *[CSC258 files]*\n\nExamples:\n\n* `java csc258comp.runner.Runner demos/helloworld.258.txt`\n* `java csc258comp.debugger.Debugger demos/primes.258.txt demos/lib/const.258.txt demos/lib/printInt.258.txt`\n\n\nLicense\n-------\n\nCopyright © 2017 Project Nayuki  \nhttps://www.nayuki.io/page/csc258-computer-debugger\n\nLicensed under the GNU General Public License v3.0+ (see COPYING.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnayuki%2Fcsc258-computer-debugger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnayuki%2Fcsc258-computer-debugger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnayuki%2Fcsc258-computer-debugger/lists"}