{"id":15371540,"url":"https://github.com/stevehobbsdev/jigsaw-library","last_synced_at":"2025-04-15T14:04:16.355Z","repository":{"id":143406424,"uuid":"43946734","full_name":"stevehobbsdev/jigsaw-library","owner":"stevehobbsdev","description":"Automatically exported from code.google.com/p/jigsaw-library","archived":false,"fork":false,"pushed_at":"2016-01-11T13:53:57.000Z","size":152,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-23T10:32:30.194Z","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/stevehobbsdev.png","metadata":{"files":{"readme":"readme.markdown","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}},"created_at":"2015-10-09T09:43:18.000Z","updated_at":"2018-05-07T19:04:05.000Z","dependencies_parsed_at":"2023-03-18T07:05:28.254Z","dependency_job_id":null,"html_url":"https://github.com/stevehobbsdev/jigsaw-library","commit_stats":null,"previous_names":["elkdanger/jigsaw-library"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevehobbsdev%2Fjigsaw-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevehobbsdev%2Fjigsaw-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevehobbsdev%2Fjigsaw-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevehobbsdev%2Fjigsaw-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stevehobbsdev","download_url":"https://codeload.github.com/stevehobbsdev/jigsaw-library/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241057020,"owners_count":19901900,"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-01T13:47:30.164Z","updated_at":"2025-02-27T20:32:01.896Z","avatar_url":"https://github.com/stevehobbsdev.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## About Jigsaw\r\n\r\nJigsaw is a C# library that makes building programming language tools easier. For example parsers, interpreters, translators, validators, type-checkers, pretty-printers, and so on.\r\n\r\nAt the heart of Jigsaw is a PEG PackRat parsing engine. In other words it is a recursive descent parser which uses memoization. This parsing engine is the evolution of the parsing engines used in Heron and Cat programming languages.\r\n\r\nIncluded with Jigsaw are classes which facilitate writing evaluators, pretty printers, tree transformers, and expression tree compilers.\r\n\r\nFor an introduction on how to use Jigsaw see the article [Implementing Programming Languages using C#](http://www.codeproject.com/KB/recipes/programminglanguagetoools.aspx) at CodeProject.com\r\n\r\nRelated Project\r\nThere are a large number of related projects on the internet. Some of the most relevant ones are:\r\n\r\n* Irony - A .NET Language implmentation toolkit\r\n* LLVM - The LLVM Compiler Infrastructure project (C++)\r\n* NRefactory - C# and VB parsing engine with semantic analysis.\r\n* ANTLR - Parser Generator\r\n* PEG Sharp - A C# packrat PEG parser.\r\n* Jurassic - JavaScript Compiler for .NET\r\n* JINT JavaScript Interpreter - A JavaScript interpreter built from the ground up using ANTLR.\r\n\r\nExported from [code.google.com/p/jigsaw-library](http://code.google.com/p/jigsaw-library)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevehobbsdev%2Fjigsaw-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevehobbsdev%2Fjigsaw-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevehobbsdev%2Fjigsaw-library/lists"}