{"id":22318662,"url":"https://github.com/scymtym/language.graphviz","last_synced_at":"2026-02-09T06:34:10.016Z","repository":{"id":136535700,"uuid":"371668900","full_name":"scymtym/language.graphviz","owner":"scymtym","description":"Parser and unparser for the GraphViz dot language","archived":false,"fork":false,"pushed_at":"2021-06-14T13:34:21.000Z","size":26,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-17T10:36:57.461Z","etag":null,"topics":["graphviz","parser"],"latest_commit_sha":null,"homepage":"","language":"Common Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scymtym.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2021-05-28T10:47:46.000Z","updated_at":"2022-08-17T01:31:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb6bbd4e-cbdd-4e8b-907c-a2971c272bae","html_url":"https://github.com/scymtym/language.graphviz","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/scymtym/language.graphviz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scymtym%2Flanguage.graphviz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scymtym%2Flanguage.graphviz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scymtym%2Flanguage.graphviz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scymtym%2Flanguage.graphviz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scymtym","download_url":"https://codeload.github.com/scymtym/language.graphviz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scymtym%2Flanguage.graphviz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29258220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T04:11:57.159Z","status":"ssl_error","status_checked_at":"2026-02-09T04:11:56.117Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["graphviz","parser"],"created_at":"2024-12-03T23:42:08.483Z","updated_at":"2026-02-09T06:34:09.992Z","avatar_url":"https://github.com/scymtym.png","language":"Common Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE:       language.graphviz README\n#+AUTHOR:      Jan Moringen\n#+EMAIL:       jmoringe@techfak.uni-bielefeld.de\n#+DESCRIPTION:\n#+KEYWORDS:    parser, graphviz, dot, esrap\n#+LANGUAGE:    en\n\n#+OPTIONS: toc:nil num:nil\n#+SEQ_TODO: TODO STARTED | DONE\n\n* STARTED Introduction\n\n  This library provides functionality for parsing and unparsing the\n  GraphViz dot language into/from abstract syntax trees.\n\n* STARTED Tutorial\n\n** STARTED Parsing\n\n   The ~parser~ module of this library provides functionality for\n   parsing the text based GraphViz dot language into abstract syntax\n   trees. The module is contained in the ~language.graphviz.parser~\n   package. Example:\n\n   #+BEGIN_SRC lisp :exports both :results value verbatim\n     (language.graphviz.parser:parse 'list \"digraph { a[b=c]; a-\u003ed; }\")\n   #+END_SRC\n\n   #+RESULTS:\n   #+BEGIN_SRC lisp\n   (:GRAPH\n    (:STATEMENT\n     (((:NODE\n        (:ID (((:NODE-ID NIL :ID \"a\" :BOUNDS (10 . 11)))) :ATTRIBUTE\n         (((:ATTRIBUTE NIL :NAME \"b\" :VALUE \"c\" :BOUNDS (12 . 15)))))\n        :BOUNDS (10 . 17)))\n      ((:EDGE\n        (:FROM (((:NODE-ID NIL :ID \"a\" :BOUNDS (18 . 19)))) :TO\n         (((:NODE-ID NIL :ID \"d\" :BOUNDS (21 . 22)))))\n        :KIND :DIRECTED))))\n    :ID NIL :KIND (NIL LANGUAGE.GRAPHVIZ.PARSER::DIGRAPH) :BOUNDS (0 . 25))\n   NIL\n   T\n   #+END_SRC\n\n** STARTED Unparsing\n\n   The ~unparser~ module of this library provides functionality for\n   unparsing abstract syntax trees into the text based GraphViz dot\n   language. The module is contained in the\n   ~language.graphviz.unparser~ package. Example:\n\n   #+BEGIN_SRC lisp :exports both :results output verbatim\n     (let ((ast (architecture.builder-protocol:with-builder ('list)\n                  (architecture.builder-protocol:node* (:graph :kind '(nil :digraph))\n                    (1 :statement (architecture.builder-protocol:node* (:node)\n                                    (1 :id        (architecture.builder-protocol:node* (:node-id :id \"a\")))\n                                    (1 :attribute (architecture.builder-protocol:node* (:attribute :name \"b\" :value \"c\")))))\n                    (1 :statement (architecture.builder-protocol:node* (:edge :kind :directed)\n                                    (1 :from (architecture.builder-protocol:node* (:node-id :id \"a\")))\n                                    (1 :to   (architecture.builder-protocol:node* (:node-id :id \"c\")))))))))\n       (pprint-logical-block (*standard-output* nil)\n         (language.graphviz.unparser:serialize 'list ast *standard-output*)))\n   #+END_SRC\n\n   #+RESULTS:\n   #+BEGIN_SRC dot\n   digraph {\n     a [b = \"c\"];\n     a -\u003e c;\n\n   }\n   #+END_SRC\n\n* TODO Reference\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscymtym%2Flanguage.graphviz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscymtym%2Flanguage.graphviz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscymtym%2Flanguage.graphviz/lists"}