{"id":20048478,"url":"https://github.com/aggstam/flex-bison-json","last_synced_at":"2025-03-02T08:21:16.371Z","repository":{"id":155101735,"uuid":"592754563","full_name":"aggstam/flex-bison-json","owner":"aggstam","description":"Simple Flex/Bison programs to validate the syntax and perform semantic analysis to JSON files.","archived":false,"fork":false,"pushed_at":"2023-05-16T13:36:52.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-12T20:33:34.344Z","etag":null,"topics":["flex-bison","json","language-processing"],"latest_commit_sha":null,"homepage":"","language":"Yacc","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aggstam.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":"2023-01-24T13:16:55.000Z","updated_at":"2023-01-24T15:27:56.000Z","dependencies_parsed_at":"2025-01-12T20:33:22.346Z","dependency_job_id":"5e505eac-8153-4c8e-9c91-52878314a33e","html_url":"https://github.com/aggstam/flex-bison-json","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/aggstam%2Fflex-bison-json","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Fflex-bison-json/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Fflex-bison-json/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Fflex-bison-json/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aggstam","download_url":"https://codeload.github.com/aggstam/flex-bison-json/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241478040,"owners_count":19969211,"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":["flex-bison","json","language-processing"],"created_at":"2024-11-13T11:44:14.343Z","updated_at":"2025-03-02T08:21:16.350Z","avatar_url":"https://github.com/aggstam.png","language":"Yacc","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flex-bison-json\n\nSimple Flex and Bison programs producing the corresponding C code to validate the syntax\nand perform semantic analysis to provided JSON file.\n\u003cbr\u003e\nSymbols table were kindly provided by Ilias Sakellariou.\n\u003cbr\u003e\nJSON grammar definition can be found at: http://www.json.org/\n\u003cbr\u003e\nCompilation and tests execution is streamline via a Makefile.\n\u003cbr\u003e\nThree valid and three invalid test JSON files have been provided to play with.\n\n## Usage\n```\n% make\n```\nMakefile can be configured to use a different test case set and/or files.\n\n## Execution example\n```\n❯ make test\nflex -s -o json_lexer.c json_lexer.l\nbison -v -o json_parser.c json_parser.y\ngcc -Iexternal json_parser.c external/jsonValidatorSymbolTable.c -o json_validator -lfl\n./json_validator test_files/widget.json\nTotal Syntax Errors found 0 \n./json_validator test_files/widget_error.json\nEntity:: \"window\" on line 8. ERROR in line 8: Entity already defined. Discarting..\nEntity (\"debug\" : \"on\") Expected Type integer. ERROR in line 11: Type Missmatch!.\nEntity (\"height\" : int) Expected Type real. ERROR in line 16: Type Missmatch!.\nEntity \"color\" has not been declared. ERROR in line 17: Missing Declation!.\nTotal Syntax Errors found 0 \n./json_validator test_files/widget_1.json\nTotal Syntax Errors found 0 \n./json_validator test_files/widget_1_error.json\nERROR in line 10: syntax error, unexpected '{', expecting '}'.\nERROR in line 12: syntax error, unexpected T_string, expecting ':'.\nEntity (\"width\" : real) Expected Type integer. ERROR in line 14: Type Missmatch!.\nLexical Analysis: Unexpected String! :: .  in line 14. \nTotal Syntax Errors found 2 \n./json_validator test_files/menu.json\nTotal Syntax Errors found 0 \n./json_validator test_files/menu_error.json\nEntity (\"menuitem\" : array) Expected Length 3, not 4. ERROR in line 17: Length Missmatch!.\nTotal Syntax Errors found 0 \n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faggstam%2Fflex-bison-json","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faggstam%2Fflex-bison-json","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faggstam%2Fflex-bison-json/lists"}