{"id":20522872,"url":"https://github.com/anachrocomputer/parser","last_synced_at":"2025-10-29T08:58:56.731Z","repository":{"id":55528589,"uuid":"522325611","full_name":"anachrocomputer/Parser","owner":"anachrocomputer","description":"Simple lexical analyser and parser","archived":false,"fork":false,"pushed_at":"2024-12-16T04:00:54.000Z","size":230,"stargazers_count":1,"open_issues_count":9,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-16T10:49:19.380Z","etag":null,"topics":["6309","6809","code-generation","compiler","parsing","retrocomputing"],"latest_commit_sha":null,"homepage":"","language":"C","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/anachrocomputer.png","metadata":{"files":{"readme":"README.md","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":"2022-08-07T21:12:07.000Z","updated_at":"2024-12-16T04:00:57.000Z","dependencies_parsed_at":"2025-01-16T10:43:35.525Z","dependency_job_id":"dd1197a5-0776-4ece-b8f5-ae946af9f197","html_url":"https://github.com/anachrocomputer/Parser","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/anachrocomputer%2FParser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anachrocomputer%2FParser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anachrocomputer%2FParser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anachrocomputer%2FParser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anachrocomputer","download_url":"https://codeload.github.com/anachrocomputer/Parser/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242128317,"owners_count":20076177,"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":["6309","6809","code-generation","compiler","parsing","retrocomputing"],"created_at":"2024-11-15T22:37:09.867Z","updated_at":"2025-10-29T08:58:51.707Z","avatar_url":"https://github.com/anachrocomputer.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple Lexical Analyser and Parser #\n\nCurrently able to tokenise most of the C language and parse very limited\nexternal declarations, functions, and statements.\n\n## Example Code ##\n\nAll the examples were inspired by the Wellerman sea shanty.\n\nSee 'simpledecl.c' and 'simplectrl.c' for example files that can be parsed.\n'simplefunc.c' is an example file that can be compiled, assembled,\ntransferred to a 6809 machine and run (it relies on I/O via the monitor ROM\nroutines of my UK109, but can be modified for other hardware).\n\n## Command-Line Arguments ##\n\nUse the '-T' command-line option to enable token-level debugging output.\nUse the '-S' command-line option to enable syntax trace output.\n\n## C Language Standard ##\n\nI'm aiming for ANSI C (C89) but also recognising some more recent keywords.\nI do not intend to support trigraphs.\nThe **register** keyword does allow a single 16-bit variable to be placed in the Y register.\n**inline** will have no effect.\n\nThere's no preprocessor yet,\nso no include files, no conditional compilation, and no \\#defined names.\n\n## Code Generation ##\n\nCode generation for the 6809 and 6309 using the 'asm6809' assembler.\n\nThere is no facility as yet for separate compilation units and/or a linker.\n\nTODO: add a '-PIC' command-line option for position-independent code.\nI think the 6809 architecture is suitable for that.\n\n## Run-Time Library ##\n\nSome very primitive I/O routines are available so far,\njust by adding them to the run-time startup code generated in every output file.\nI may add some string functions once I have parameter passing working.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanachrocomputer%2Fparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanachrocomputer%2Fparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanachrocomputer%2Fparser/lists"}