{"id":13442057,"url":"https://github.com/lauryndbrown/Cisp","last_synced_at":"2025-03-20T13:32:04.584Z","repository":{"id":45214194,"uuid":"88385218","full_name":"lauryndbrown/Cisp","owner":"lauryndbrown","description":"A Common Lisp Interpreter Built in COBOL","archived":false,"fork":false,"pushed_at":"2017-04-28T22:22:33.000Z","size":5528,"stargazers_count":133,"open_issues_count":3,"forks_count":9,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-10-28T05:12:38.623Z","etag":null,"topics":["cobol","cobol-programs","gnu-cobol","lisp","lisp-interpreter"],"latest_commit_sha":null,"homepage":null,"language":"COBOL","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/lauryndbrown.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}},"created_at":"2017-04-16T02:03:23.000Z","updated_at":"2024-10-09T15:49:24.000Z","dependencies_parsed_at":"2022-09-03T06:11:49.816Z","dependency_job_id":null,"html_url":"https://github.com/lauryndbrown/Cisp","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/lauryndbrown%2FCisp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauryndbrown%2FCisp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauryndbrown%2FCisp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauryndbrown%2FCisp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lauryndbrown","download_url":"https://codeload.github.com/lauryndbrown/Cisp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244619148,"owners_count":20482369,"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":["cobol","cobol-programs","gnu-cobol","lisp","lisp-interpreter"],"created_at":"2024-07-31T03:01:41.171Z","updated_at":"2025-03-20T13:32:04.578Z","avatar_url":"https://github.com/lauryndbrown.png","language":"COBOL","funding_links":[],"categories":["COBOL","Languages"],"sub_categories":["Cobol"],"readme":"# Cisp\nA Common Lisp Interpreter Built in COBOL.\n\n## Overview\n### Purpose\nThis is a small project built by a student at the Recurse Center to express a love for COBOL and better understand it.\n\nDue to COBOL's lack of functions and recursion, the recursion required for Lisp is built from the ground up using file processing. Also, due to the lack of a widely supported debugger, a system logger was also implemented.\n\n### Compatibility\nPlease note that Cisp is currently only actively developed for Windows. \\*Nix users may experience issues.\n\n### Functionality\nAll features are currently in development. This is a list of what is to come.\n- Representation of Symbols and Numbers ![Ongoing Development](https://img.shields.io/badge/Development-Ongoing-green.svg?style=flat-square)\n- Basic Arithmetic ![Ongoing Development](https://img.shields.io/badge/Development-Ongoing-green.svg?style=flat-square)\n- Flow-Control Statements  ![Not Currently in Development](https://img.shields.io/badge/Development-No-green.svg?style=flat-square)\n- Lists  ![Not Currently in Development](https://img.shields.io/badge/Development-No-green.svg?style=flat-square)\n### Notes\nThe README much like the entire project is in current development. \n\n## Running Cisp\n### Hello World\n1. Make a subdirectory for your lisp file. \n```cmd\nmkdir test\\helloworld\n```\n2. Create a new file `helloworld.lisp` in your subdirectory containing the following:\n```lisp\n(print \"HelloWorld!\")\n```\n3. To run Cisp cd into the bin (Note that you must cd in)\n\n```cmd\ncd bin\n```\n4. Run Cisp\n\n```cmd\ncisp.exe ..\\test\\helloworld\\helloworld.lisp\n```\n\n### Project Structure\nCurrently the COBOL source files are located in the root directory.  \n#### Directories\n* bin - Contains all necessary \\*.dll's (windows users) for those who want to play with CISP without changing the code. This is due to the fact that so few people have COBOL compilers.  \n* logs - Contains the log file generated by the system.\n* test - Contains all test files organized by subject. \n#### COBOL Files\n* cisp.cbl - The main COBOL program. \n* cisp-error.cbl - The Error System in the program. It will \"throw\" errors when called.\n* lisp.cbl - Responsible for executing the lisp program. \n* logger.cbl - The Logging System in the program. It will log events in the system when called.\n* recursion.cbl - Handles recursion as requested from lisp.cbl.\n* tokenizer.cbl - Responsible for tokenizing the lisp file given to execute. \n\n### Compiling\n  The easiest way I have found to compile COBOL is [GNU's COBOL compilier](https://sourceforge.net/projects/open-cobol/). For those who prefer IDE's I have found [Open COBOL IDE](http://opencobolide.readthedocs.io/en/latest/download.html) to be very helpful.\n### Running Tests\n#### Windows\n  To run all tests in the project, double click `bin\\cisp.bat`\n  \n  To run a single test:\n  `cd bin`\n  \n  `cisp.exe ..\\test\\test_subdirectory\\test_name.lisp`\n  \n  #### Create your own Lisp Files for Testing\n  1. Create a directory in `test\\` to create another test category.\n  2. In your subdirectory create a lisp file.\n  3.  `cd bin`\n  4. `cisp.exe ..\\test\\test_subdirectory\\test_name.lisp`\n#### Linux\n  Instructions yet to come. The author is a window's user, and \\*nix systems are not currently supported. \n  \n  A high level overview is to compile the project and run the executable in the bin folder.\n## Developing Cisp\n### How Cisp Works\n### Log to Log File\nComing soon.\n### Throw an Error\nComing soon.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flauryndbrown%2FCisp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flauryndbrown%2FCisp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flauryndbrown%2FCisp/lists"}