{"id":21502286,"url":"https://github.com/sitmcella/turing-machine","last_synced_at":"2026-05-17T12:05:28.794Z","repository":{"id":25369242,"uuid":"103828217","full_name":"sitMCella/turing-machine","owner":"sitMCella","description":"Catalog of Turing machines based on \"The Annotated Turing\" by Charles Petzold","archived":false,"fork":false,"pushed_at":"2024-07-20T15:29:52.000Z","size":1932,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-17T13:46:39.388Z","etag":null,"topics":["angular","turing-machine"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sitMCella.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":"2017-09-17T12:48:15.000Z","updated_at":"2024-07-20T15:18:56.000Z","dependencies_parsed_at":"2024-07-20T15:42:37.435Z","dependency_job_id":null,"html_url":"https://github.com/sitMCella/turing-machine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sitMCella/turing-machine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sitMCella%2Fturing-machine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sitMCella%2Fturing-machine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sitMCella%2Fturing-machine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sitMCella%2Fturing-machine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sitMCella","download_url":"https://codeload.github.com/sitMCella/turing-machine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sitMCella%2Fturing-machine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33137831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T09:28:26.183Z","status":"ssl_error","status_checked_at":"2026-05-17T09:27:52.702Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["angular","turing-machine"],"created_at":"2024-11-23T18:14:15.713Z","updated_at":"2026-05-17T12:05:28.754Z","avatar_url":"https://github.com/sitMCella.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction\n\nCatalog of Turing machines based on \"The Annotated Turing\" by Charles Petzold.\n\nA Turing machine is composed by a list of m-configurations; the configuration and the behaviour of the Turing machine is described into the Turing machine Table.\n\nThe Turing machine Table is composed of 4 columns, the first pair of columns describes the configuration of the machine and the second pair of columns describes the behaviour of the machine.\nThe first column contains the m-configuration, the second column contains the tape square scanned symbol, the third column contains the operations and the fourth column contains the next m-configuration.\n\nThe following is an example of a Turing machine Table:\n\n| m-config | symbol | operations | final m-config |\n| :------: | :----: | :--------: | :------------: |\n|    b     |  none  |    P0,R    |       c        |\n|    c     |  none  |     R      |       e        |\n|    e     |  none  |    P1,R    |       f        |\n|    f     |  none  |     R      |       b        |\n\nThe machines make use of a one-dimensional tape divided into squares.\n\nThe application prints at every computational stage the complete configuration (the current m-configuration, all the symbols into the tape and the position of the head).\n\nThere are some assumptions:\n\n- The machines compute binary numeric sequences\n- The machines use only alternate squares for printing numeric sequences\n- The tape does not extend infinitely toward the right\n- The symbol \"none\" of the Table symbol column corresponds to a square with no symbol (blank square)\n- The symbol \"any\" of the Table symbol column corresponds to any non-blank symbol\n- The Table operations column contains zero, one or more operations\n- The available operations are: R (right), L (left), P (print), E (erase)\n- The erase operation is not compared to a print operation with no symbol\n- An error is thrown by print operation if the head square is already filled with a symbol\n- The Turing machine evolution starts with the first m-configuration listed in the Table\n\nTuring machine initial setup:\n\n- The initial tape is composed of 20 blank squares\n- The head is located on the first square of the initial tape\n\nFeatures:\n\n- Turing machine async evolution\n- The initial tape square symbols are editable\n- The initial tape squares count can be changed\n\n# Development\n\n## Setup\n\nInstall NodeJS version 19.5.0 or higher. See: https://nodejs.org/it/download/\n\n## Development server\n\nRun `npm run serve` for a dev server. Navigate to `http://localhost:4200/`.\nThe app will automatically reload if you change any of the source files.\n\nRun `npm start` on another terminal for open dev Electron window.\n\n## Build\n\nRun `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.\n\n## Running unit tests\n\nRun `npm run test` to execute the unit tests via [Jest](https://jestjs.io/docs/testing-frameworks).\n\n# Production\n\n## Build and Create Docker Image\n\n```sh\ndocker-compose build\n```\n\n## Run Application\n\n```sh\ndocker-compose up\n```\n\n## Access the application\n\n```sh\nhttp://localhost:80\n```\n\n## Demo\n\nhttps://sitmcella.github.io/turing-machine/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsitmcella%2Fturing-machine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsitmcella%2Fturing-machine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsitmcella%2Fturing-machine/lists"}