{"id":19797094,"url":"https://github.com/joom/cyk-parser","last_synced_at":"2026-04-15T11:34:12.560Z","repository":{"id":212161331,"uuid":"730851413","full_name":"joom/cyk-parser","owner":"joom","description":"A CYK-parser for context-tree grammars.","archived":false,"fork":false,"pushed_at":"2023-12-12T20:16:35.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-11T05:18:23.274Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","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/joom.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}},"created_at":"2023-12-12T20:15:07.000Z","updated_at":"2024-01-02T16:43:34.000Z","dependencies_parsed_at":"2023-12-12T21:28:31.802Z","dependency_job_id":"98594183-2819-448b-b7af-d67b41673355","html_url":"https://github.com/joom/cyk-parser","commit_stats":null,"previous_names":["joom/cyk-parser"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joom%2Fcyk-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joom%2Fcyk-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joom%2Fcyk-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joom%2Fcyk-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joom","download_url":"https://codeload.github.com/joom/cyk-parser/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241139170,"owners_count":19916461,"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":[],"created_at":"2024-11-12T07:23:45.098Z","updated_at":"2026-04-15T11:34:07.488Z","avatar_url":"https://github.com/joom.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cyk-parser\n\nA CYK parser for context-free grammars, implemented in Haskell.\n\nIt reads a grammar from a file, and then sentences to parse according to that grammar from another file, and prints the output as JSON. For partial parses, it prints the longest partial parse. The parsed form is printed as an S-expression.\n\n## Usage\n\nIn order to use or compile the program you need to have [Stack](http://haskellstack.org) installed.\n\nAfter you cloning the repository, go to the repository folder and do\n\n```bash\nstack install\n```\n\nNow you installed the program. You can run it like this:\n\n```\ncyk-parser-exe -g grammar.txt -s sentences.txt\n```\n\nwhich will print:\n\n```json\n[\n    {\n        \"fullParse\": true,\n        \"original\": \"light cars fly\",\n        \"tree\": [\n            \"(S (NP (N light) (NBar cars)) (VP fly))\"\n        ]\n    },\n    {\n        \"fullParse\": false,\n        \"original\": \"light green cars fly\",\n        \"tree\": [\n            \"(NP' (Adj green) (NBar cars))\"\n        ]\n    },\n    {\n        \"fullParse\": true,\n        \"original\": \"the man gave a baby a car\",\n        \"tree\": [\n            \"(S (NP (Det the) (NBar man)) (VP (V gave) (VP' (NP (Det a) (NBar baby)) (NP (Det a) (NBar car)))))\"\n        ]\n    },\n    {\n        \"fullParse\": true,\n        \"original\": \"the baby put the man on the truck\",\n        \"tree\": [\n            \"(S (NP (Det the) (NBar baby)) (VP (VP (V put) (NP (Det the) (NBar man))) (PP (Prep on) (NP (Det the) (NBar truck)))))\",\n            \"(S (NP (Det the) (NBar baby)) (VP (V put) (NP (NP (Det the) (NBar man)) (PP (Prep on) (NP (Det the) (NBar truck))))))\",\n            \"(S (NP (Det the) (NBar baby)) (VP (V put) (VP' (NP (Det the) (NBar man)) (PP (Prep on) (NP (Det the) (NBar truck))))))\"\n        ]\n    }\n]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoom%2Fcyk-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoom%2Fcyk-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoom%2Fcyk-parser/lists"}