{"id":26892747,"url":"https://github.com/justinmchase/uffda","last_synced_at":"2025-05-12T14:27:00.044Z","repository":{"id":39909567,"uuid":"308122508","full_name":"justinmchase/uffda","owner":"justinmchase","description":"Uffda is a parser generator for domain specific languages.","archived":false,"fork":false,"pushed_at":"2025-01-20T21:18:31.000Z","size":743,"stargazers_count":5,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-12T14:26:51.999Z","etag":null,"topics":["compiler","dsl","parser"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/justinmchase.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":"2020-10-28T19:37:58.000Z","updated_at":"2025-01-20T21:18:34.000Z","dependencies_parsed_at":"2024-01-15T06:44:42.864Z","dependency_job_id":"5680322d-5f22-4579-b0c3-94dedbe3c04d","html_url":"https://github.com/justinmchase/uffda","commit_stats":{"total_commits":87,"total_committers":1,"mean_commits":87.0,"dds":0.0,"last_synced_commit":"68d47232e22fcf5f8f816e0cf4e7df248c3560ec"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinmchase%2Fuffda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinmchase%2Fuffda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinmchase%2Fuffda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinmchase%2Fuffda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/justinmchase","download_url":"https://codeload.github.com/justinmchase/uffda/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253754475,"owners_count":21958868,"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","dsl","parser"],"created_at":"2025-03-31T22:53:20.137Z","updated_at":"2025-05-12T14:27:00.014Z","avatar_url":"https://github.com/justinmchase.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Uffda 🦕\n\nUffda is a parser generator for domain specific languages.\n\nIt is different from many parser generators in that the syntax is expressive\nenough to support parsing strings as well as objects, arrays or any other value\ntype. The result of this capability is that the entire compiler pipeline can be\nexpressed in pattern matching operations.\n\n## Development\n\nThis is a deno library.\n\n#### test\n\n```sh\ndeno test --watch --parallel\n```\n\n#### cli\n\n```sh\ndeno run --allow-env --allow-read --allow-write \\\n  main.ts compile \\\n  --src src \\\n  --dst dst\n```\n\n### References\n\nThis project is based on a previous project I made called Meta# which was a C#\nimplementation of the ideas written in the OMeta paper by\n[Alessandro Warth](http://www.tinlizzie.org/~awarth/).\n\n\u003e OMeta’s key insight is the realization that all of the passes in a traditional\n\u003e compiler are essentially pattern matching operations\n\u003e\n\u003e ~ Experimenting with Programming Languages, Alessandro Warth 2009\n\n- [Experimenting with Programming Languages](http://www.vpri.org/pdf/tr2008003_experimenting.pdf)\n- [ohm-js](https://ohmlang.github.io/)\n- [meta#](https://archive.codeplex.com/?p=metasharp)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustinmchase%2Fuffda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustinmchase%2Fuffda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustinmchase%2Fuffda/lists"}