{"id":13783041,"url":"https://github.com/jasanign/Parser","last_synced_at":"2025-05-11T17:30:56.674Z","repository":{"id":216005337,"uuid":"97378836","full_name":"jasanign/Parser","owner":"jasanign","description":"An interpreter written in C language for arithmetic expressions that use A Recursive Descent Parser","archived":false,"fork":false,"pushed_at":"2017-09-16T17:50:42.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-24T16:15:37.997Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/jasanign.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}},"created_at":"2017-07-16T11:28:37.000Z","updated_at":"2018-10-01T09:31:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"2b57776c-190e-48d9-8273-7d541418ffab","html_url":"https://github.com/jasanign/Parser","commit_stats":null,"previous_names":["jasanign/parser"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasanign%2FParser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasanign%2FParser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasanign%2FParser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasanign%2FParser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jasanign","download_url":"https://codeload.github.com/jasanign/Parser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213838141,"owners_count":15645782,"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-08-03T18:01:51.746Z","updated_at":"2024-08-03T18:11:14.309Z","avatar_url":"https://github.com/jasanign.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# Parser\n\nThis project is a basic interpreter in C language for arithmetic expressions as defined by a particular grammar that is implemented using a recursive descent parser. This parser is a language recognizer in which determines whether each expression that is input is syntactically correct (it also catches any lexical errors). This parser is also an  interpreter which evaluates and returns the resulting value when the input expressions are syntactically correct.\n\n## Grammar\n\nThis parser uses the following grammar:\n\n\t\u003cbexpr\u003e ::= \u003cexpr\u003e;\n\t\u003cexpr\u003e ::= \u003cterm\u003e \u003cttail\u003e\n\t\u003cttail\u003e ::= \u003cadd_sub_tok\u003e \u003cterm\u003e \u003cttail\u003e | epsilon\n\t\u003cterm\u003e ::= \u003cstmt\u003e \u003cstail\u003e\n\t\u003cstail\u003e ::= \u003cmult_div_tok\u003e \u003cstmt\u003e \u003cstail\u003e | epsilon\n\t\u003cstmt\u003e ::= \u003cfactor\u003e \u003cftail\u003e\n\t\u003cftail\u003e ::= \u003ccompare_tok\u003e \u003cfactor\u003e \u003cftail\u003e | epsilon\n\t\u003cfactor\u003e ::= \u003cexpp\u003e ^ \u003cfactor\u003e | \u003cexpp\u003e\n\t\u003cexpp\u003e ::= ( \u003cexpr\u003e ) | \u003cnum\u003e\n\t\u003cadd_sub_tok\u003e ::= + | -\n\t\u003cmul_div_tok\u003e ::= * | /\n\t\u003ccompare_tok\u003e ::= \u003c | \u003e | \u003c= | \u003e= | != | ==\n\t\u003cnum\u003e ::= {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 }+\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasanign%2FParser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjasanign%2FParser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasanign%2FParser/lists"}