{"id":16548674,"url":"https://github.com/pourmand1376/parser","last_synced_at":"2025-07-12T16:35:06.185Z","repository":{"id":105008226,"uuid":"235142771","full_name":"pourmand1376/Parser","owner":"pourmand1376","description":"Implementation of LL(0), LR(0), SLR(1), CLR(1) algorithms in C# (Visual Representation is also available)","archived":false,"fork":false,"pushed_at":"2020-01-22T11:23:01.000Z","size":260,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-04T12:49:23.584Z","etag":null,"topics":["clr-parser","csharp","ll1-grammar","lr-parser","lr0","lr1","msagl","slr-parser"],"latest_commit_sha":null,"homepage":"","language":"C#","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/pourmand1376.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":"2020-01-20T16:12:33.000Z","updated_at":"2024-11-06T14:47:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"c52e75a1-d090-47c3-a9b9-047cdfb6c827","html_url":"https://github.com/pourmand1376/Parser","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/pourmand1376/Parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pourmand1376%2FParser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pourmand1376%2FParser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pourmand1376%2FParser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pourmand1376%2FParser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pourmand1376","download_url":"https://codeload.github.com/pourmand1376/Parser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pourmand1376%2FParser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265024277,"owners_count":23699589,"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":["clr-parser","csharp","ll1-grammar","lr-parser","lr0","lr1","msagl","slr-parser"],"created_at":"2024-10-11T19:26:42.254Z","updated_at":"2025-07-12T16:35:06.150Z","avatar_url":"https://github.com/pourmand1376.png","language":"C#","readme":"# Parser\nImplementation of LL(0), LR(0), SLR(1), CLR(1) algorithms in C#.\n\nThis is done for educational purposes only.\n\n# Topics Covered\n- First and follow terminals are calculated, even when grammer is left recursive.\n- Stack changes are shown in a table.\n- For LR algorithms state diagrams are shown in a graph (Microsoft Library `MSAGL`)\n- Syntax Parse tree is shown (Microsoft Library `MSAGL`)\n\n# ToDo\n- Add Support for LALR(1) algorithms.\n- Add Support to input grammar with | symbol.\n\n# How to build parse tree \nUse the input from `SampleGrammars` Folder which is available in Project source\nGrammars are written in `BNF` format as show below.\n\nJSON Grammar:\n\n    \u003cJSON\u003e ::= \u003carray\u003e\n    \u003cJSON\u003e ::= \u003cobject\u003e\n\n    \u003carray\u003e ::= \"[\" \u003carrayinside\u003e \"]\" \n\n    \u003carrayinside\u003e ::= \u003cvalue\u003e\n    \u003carrayinside\u003e ::= \u003cvalue\u003e \",\" \u003carrayinside\u003e\n    \u003carrayinside\u003e ::= \"\"\n\n    \u003cobject\u003e ::= \"{\" \u003cobjectinside\u003e \"}\"\n\n    \u003cobjectinside\u003e ::= \u003cpair\u003e\n    \u003cobjectinside\u003e ::= \u003cpair\u003e \",\" \u003cobjectinside\u003e\n    \u003cobjectinside\u003e :: \"\"\n\n    \u003cpair\u003e ::= \u003cstring\u003e \":\" \u003cvalue\u003e\n\n    \u003cvalue\u003e ::= \u003cstring\u003e\n    \u003cvalue\u003e ::= \u003cnumber\u003e\n    \u003cvalue\u003e ::= \u003cobject\u003e\n    \u003cvalue\u003e ::= \u003carray\u003e\n    \u003cvalue\u003e ::= \"True\"\n    \u003cvalue\u003e ::= \"False\"\n    \u003cvalue\u003e ::= \"null\"\n\n    \u003cstring\u003e ::= \"a\"\n    \u003cstring\u003e ::= \"b\"\n    \u003cstring\u003e ::= \"c\"\n    \u003cstring\u003e ::= \"d\"\n\n    \u003cnumber\u003e ::= \"1\"\n    \u003cnumber\u003e ::= \"2\"\n    \u003cnumber\u003e ::= \"3\"\n    \u003cnumber\u003e ::= \"4\"\n    \n   JSON test:\n   \n        { a : 1 , b : [ 1 , 3 , a , { a : 2 , c : 4 , } , ] , c : False , b : True , }\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpourmand1376%2Fparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpourmand1376%2Fparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpourmand1376%2Fparser/lists"}