{"id":17680774,"url":"https://github.com/kcreate/crenshaw","last_synced_at":"2026-03-19T01:45:54.033Z","repository":{"id":72282592,"uuid":"117970415","full_name":"KCreate/crenshaw","owner":"KCreate","description":"https://compilers.iecc.com/crenshaw/","archived":false,"fork":false,"pushed_at":"2018-01-18T13:33:17.000Z","size":213,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T11:52:51.394Z","etag":null,"topics":["compiler","crenshaw","parser","pascal","pascal-language"],"latest_commit_sha":null,"homepage":null,"language":"Pascal","has_issues":true,"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/KCreate.png","metadata":{"files":{"readme":"readme.txt","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":"2018-01-18T10:50:25.000Z","updated_at":"2023-03-10T09:59:34.000Z","dependencies_parsed_at":"2023-07-12T12:30:42.383Z","dependency_job_id":null,"html_url":"https://github.com/KCreate/crenshaw","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/KCreate%2Fcrenshaw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KCreate%2Fcrenshaw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KCreate%2Fcrenshaw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KCreate%2Fcrenshaw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KCreate","download_url":"https://codeload.github.com/KCreate/crenshaw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246365645,"owners_count":20765546,"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":["compiler","crenshaw","parser","pascal","pascal-language"],"created_at":"2024-10-24T09:08:48.164Z","updated_at":"2026-01-11T02:46:27.554Z","avatar_url":"https://github.com/KCreate.png","language":"Pascal","readme":"TUTOR.ZIP\n\nThis file contains all of the installments of Jack Crenshaw's\ntutorial on compiler construction, including the new Installment 15. \nThe intended audience is those folks who are not computer scientists,\nbut who enjoy computing and have always wanted to know how compilers\nwork. A lot of compiler theory has been left out, but the practical\nissues are covered. By the time you have completed the series, you\nshould be able to design and build your own working compiler. It will\nnot be the world's best, nor will it put out incredibly tight code.\nYour product will probably never put Borland or MicroSoft out of\nbusiness.  But it will work, and it will be yours.\n\nA word about the file format: The files were originally created using\nBorland's DOS editor, Sprint.  Sprint could write to a text file only\nif you formatted the file to go to the selected printer.  I used the\nmost common printer I could think of, the Epson MX-80, but even then\nthe files ended up with printer control sequences at the beginning\nand end of each page.\n\nTo bring the files up to date and get myself positioned to continue\nthe series, I recently (1994) converted all the files to work with\nMicrosoft Word for Windows.  Unlike Sprint, Word allows you to write\nthe file as a DOS text file.  Unfortunately, this gave me a new\nproblem, because when Word is writing to a text file, it doesn't\nwrite hard page breaks or page numbers.  In other words, in six years\nwe've gone from a file with page breaks and page numbers, but\nembedded escape sequences, to files with no embedded escape sequences\nbut no page breaks or page numbers.  Isn't progress wonderful?\n\nOf course, it's possible for me to insert the page numbers as\nstraight text, rather than asking the editor to do it for me.  But\nsince Word won't allow me to write page breaks to the file, we would\nend up with files with page numbers that may or may not fall at the\nends of the pages, depending on your editor and your printer.  It\nseems to me that almost every file I've ever downloaded from\nCompuServe or BBS's that had such page numbering was incompatible\nwith my printer, and gave me pages that were one line short or one\nline long, with the page numbers consequently walking up the page.  \n\nSo perhaps this new format is, after all, the safest one for general\ndistribution.  The files as they exist will look just fine if read\ninto any text editor capable of reading DOS text files.  Since most\neditors these days include rather sophisticated word processing\ncapabilities, you should be able to get your editor to paginate for\nyou, prior to printing.\n\nI hope you like the tutorials.  Much thought went into them.\n\n\n\t\t\t\t\t\t\t\t\tJack W. Crenshaw\n\n\t\t\t\t\t\t\t\tCompuServe 72325,1327\n\u001a","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkcreate%2Fcrenshaw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkcreate%2Fcrenshaw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkcreate%2Fcrenshaw/lists"}