{"id":15502927,"url":"https://github.com/evuez/godc","last_synced_at":"2025-03-28T18:23:14.990Z","repository":{"id":71118773,"uuid":"117449861","full_name":"evuez/godc","owner":"evuez","description":"A dumb \"dc\" parser.","archived":false,"fork":false,"pushed_at":"2022-11-26T17:51:34.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-19T17:29:55.376Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","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/evuez.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-14T17:09:20.000Z","updated_at":"2022-11-26T17:51:16.000Z","dependencies_parsed_at":"2023-06-02T20:30:24.418Z","dependency_job_id":null,"html_url":"https://github.com/evuez/godc","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/evuez%2Fgodc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evuez%2Fgodc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evuez%2Fgodc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evuez%2Fgodc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evuez","download_url":"https://codeload.github.com/evuez/godc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246077468,"owners_count":20719994,"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-10-02T09:11:36.848Z","updated_at":"2025-03-28T18:23:14.974Z","avatar_url":"https://github.com/evuez.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# godc\n\nA \"dc\" parser.\n\nI read [this nice article](https://eklitzke.org/summing-integer-ranges-with-dc) on summing integer ranges with [dc](https://en.wikipedia.org/wiki/Dc_(computer_program)) and thought it'd be fun to implement an interpreter for the language. Except, lazy as I am I didn't want to read the spec so my implementation is solely based on this article (and I didn't actually test if it'd work with anything else than `36[d1-d1\u003cF+]dsFxp`).\n\nYou can try it using `go run main.go 36[d1-d1\u003cF+]dsFxp`.\n\nAlso the code is pretty bad, instead of constructing an AST then walking it, the stack is updated as the parser goes through the code (and it's my first ever go code so it doesn't help).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevuez%2Fgodc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevuez%2Fgodc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevuez%2Fgodc/lists"}