{"id":24569378,"url":"https://github.com/sahidev1/calculator","last_synced_at":"2025-03-17T05:45:35.215Z","repository":{"id":267669177,"uuid":"901461624","full_name":"Sahidev1/calculator","owner":"Sahidev1","description":"A calculator for arithmetic mathematical expressions, developed from scratch with lexer, parser and evaluater","archived":false,"fork":false,"pushed_at":"2025-02-07T20:50:09.000Z","size":1170,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T21:29:34.067Z","etag":null,"topics":["elixir","evaluator","functional-programming","lexer","parser","personal-project"],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/Sahidev1.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":"2024-12-10T17:44:58.000Z","updated_at":"2025-02-07T20:50:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"93918730-2e43-4307-aaa5-5f16a8f754d0","html_url":"https://github.com/Sahidev1/calculator","commit_stats":null,"previous_names":["sahidev1/calculator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sahidev1%2Fcalculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sahidev1%2Fcalculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sahidev1%2Fcalculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sahidev1%2Fcalculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sahidev1","download_url":"https://codeload.github.com/Sahidev1/calculator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243982139,"owners_count":20378606,"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":["elixir","evaluator","functional-programming","lexer","parser","personal-project"],"created_at":"2025-01-23T15:22:56.194Z","updated_at":"2025-03-17T05:45:35.180Z","avatar_url":"https://github.com/Sahidev1.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\nThis is code for an arithmetic calculator, it evaluates arbitrary mathematical expresssions such as \"3 + 4 * (5 - 4/2)\". It supports integer and decimal addition,subtraction,multiplication,division and exponentiation. It also support integer modulus operation. \n\nThe calculator consists of a tokenizer, parser and evaluater. The tokenizer creates tokens for the expression. The parser is a recursive decent parser which parses the tokens and builds an abstract syntax tree. The evaluater simply evaluates the abstract syntax tree. \n\nTo run the interactive calculator you need elixir installed. To run it from terminal:\n\n    iex interactive_calculator.ex\n\nthere is a mix version of app on the branch \"mix\"\n\n\n## todo\n\n* Fix exponentiation evaluation, right now it is evaluated left to right, but it should be right to left.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsahidev1%2Fcalculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsahidev1%2Fcalculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsahidev1%2Fcalculator/lists"}