{"id":13783033,"url":"https://github.com/catseye/OpenZz","last_synced_at":"2025-05-11T17:30:44.612Z","repository":{"id":2357914,"uuid":"3321292","full_name":"catseye/OpenZz","owner":"catseye","description":"MIRROR of https://codeberg.org/catseye/OpenZz : Cat's Eye Technologies' fork of OpenZz, a dynamic (self-modifying) grammar interpreter.","archived":false,"fork":false,"pushed_at":"2023-09-10T14:16:44.000Z","size":450,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-15T07:12:39.374Z","etag":null,"topics":["catseye-fork","dynamic-parser","dynamic-parsing","meta-language","parser-framework","parser-reflection","zz"],"latest_commit_sha":null,"homepage":"http://openzz.sourceforge.net/","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/catseye.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","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":"AUTHORS"}},"created_at":"2012-02-01T02:42:13.000Z","updated_at":"2023-10-25T17:40:20.000Z","dependencies_parsed_at":"2024-01-07T23:09:36.033Z","dependency_job_id":"115e282e-1fb2-4064-8c2e-a988df49e68f","html_url":"https://github.com/catseye/OpenZz","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catseye%2FOpenZz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catseye%2FOpenZz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catseye%2FOpenZz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catseye%2FOpenZz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/catseye","download_url":"https://codeload.github.com/catseye/OpenZz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225076636,"owners_count":17417126,"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":["catseye-fork","dynamic-parser","dynamic-parsing","meta-language","parser-framework","parser-reflection","zz"],"created_at":"2024-08-03T18:01:51.540Z","updated_at":"2024-11-17T18:30:59.033Z","avatar_url":"https://github.com/catseye.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"OpenZz 1.0.4-4ce3\n=================\n\nThis is OpenZz 1.0.4-4ce3, a fork of the original\n[OpenZz distribution](https://openzz.sourceforge.net/),\nbased on OpenZz version 1.0.4-4.  The original README can be found at the\nend of this Markdown file, encased in a preformatted text block.\n\nThis fork was made because development on OpenZz was stalled, I have a\nproject ([Zzrk](http://catseye.tc/node/Zzrk.html)) that requires OpenZz,\nand, at some point, I was unable to build it on the then-current version\nof `gcc`.  Shortly thereafter, upgrades to the build system also caused\nproblems; it seemed like `libtool` was now causing `automake`\nto generate Makefiles which went into infinite loops at the shell level;\n`pstree` showed what looked like an infinite tree of `sed` and `bash`.\nThis would take down my laptop quite readily.\n\nIt was at this point I decided to create the first version of this\nfork.\n\n### 1.0.4-4ce1\n\nIn 1.0.4-4ce1, I added a simple [`build.sh`](build.sh) script to build the `ozz`\nexecutable directly, without messing around with `libtool` or anything.\nIt works on Ubuntu and NetBSD, and will, I'm sure, work on other flavours\nof Linux and other BSDs with little or no modification.\n\nRunning `build.sh` is recommended.  Run `autogen.sh` and `configure` at\nyour own risk.\n\nNote, though, that several of the tests now fail.  The core semantics\nof OpenZz seem alright, so these failing tests have been skipped in the\ntest suite.  The specific failures are:\n\n*   `deref_param.zz`: badly-written test; it shouldn't be caring about\n    an internal address, which isn't stable from run to run\n*   `list_in_cond.zz`: the syntax `a.b` seems to be a syntax error\n*   `numerictypes.zz`: 64-bit values wrap to 32 bits on a 32-bit architecture\n*   `tagdtor.xx`: can't open the specified `.so` file\n\nThe `double.zz` test also did not pass.\n\nThe verdict from those results was that this version of OpenZz does not support:\n\n*   64-bit integer values\n*   doubles\n*   the `a.b` syntax (whatever that means exactly)\n*   loading `.so` files\n\nWhich was fine by me, as it can still play [Zzrk](http://catseye.tc/node/Zzrk.html).\n\nLater on, I discovered that `ozz` had problems when compiled on a\n64-bit system.  For the longest time I was only thinking about how it runs on\n[The Cat's Eye Technologies' Platform](https://catseye.tc/node/The%20Cat%27s%20Eye%20Technologies%20Platform),\nwhere it runs just fine, because it's a 32-bit architecture.\nBut at some point I noticed it didn't work on 64-bit systems anymore,\nand I did eventually care enough to try to fix it.  This led to the\nsecond release of this forked project.\n\n### 1.0.4-4ce2\n\nIn 1.0.4-4ce2, I made some changes to the build script to force\ncompilation as a 32-bit executable.  This is done by passing\nthe `-m32` flag to `gcc`.  For more information,\nsee e.g. [this StackOverflow question](https://stackoverflow.com/q/3501878)\n\nFor this to be successful, 32-bit headers must be installed on the system.\nOn Ubuntu, this can be accomplished with:\n\n    sudo apt install gcc-multilib\n\nFor more information, see e.g.\n[this StackOverflow question](https://stackoverflow.com/q/54082459)\n\nThis will also require 32-bit versions of the libraries that `ozz`\nlinks to.  Under Ubuntu, they can be installed with:\n\n    sudo dpkg --add-architecture i386\n    sudo apt update\n    sudo apt install libc6:i386 libedit-dev:i386\n\nFor more information, see e.g.\n[this StackOverflow question](https://askubuntu.com/q/454253)\n\nAlso, under the recent 32-bit build that I made using these\nmodifications, for whatever reason, the `double.zz` test now passes.\n\nWhich is fine by me, as long as it can still play [Zzrk](http://catseye.tc/node/Zzrk.html).\n\n### 1.0.4-4ce3\n\nIncludes many changes to the code to address compiler warnings.\nWhile a few remain, the bulk of them have been eliminated.\n(Many were simply due to `gcc` wanting to see an explicit return\ntype, instead of defaulting to `int`, and missing prototypes.)\n\nAlso includes an MS-DOS batchfile for building `ozz.exe` under\nDOS using DJGPP.\n\nThe goal of both of these enhancements was to build an\ninstance of `ozz` that runs in a DOS emulator running in\na web browser, such as `em-dosbox`.\n\nWhich is fine by me, as now we can all\n[play Zzrk on the Internet Archive](https://archive.org/details/zzrk_adventure)!\n\n-Chris\n\n```\n===============================================================================\n                 Zz - Dynamic Lexical Parser README File\n===============================================================================\n\nZz is a dynamic parser which is currently being developed as a front end to\ngcc to implement compilation of new languages (ie. TAO and others), for APE\nsystems.  These are custom build parallel processing computers used for LQCD\nphysics research.\n\nSee:\n  http://chimera.roma1.infn.it/ape.html\n\nUPDATES\n See the NEWS and ChangeLog files for information on the latest changes\n Some support is being formulated at the project directory on SourceForge:\n  http://openzz.sourceforge.net  \n\nLICENSE\n The Zz library is released under the GNU Lesser GPL (LGPL).\n Parts of Zz are released under the GPL - see the \"COPYING\" file in the\n   project root.\n\nDOCUMENTATION\n See the \"doc\" subdirectory\n\nAPE\n Whence the name \"APE\"?  \"Ape\" is the Italian word for \"bee\", the mascot of\n the APE project. (INFN, the funder of the project is based in Italy and the\n software is primarily developed there).\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatseye%2FOpenZz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcatseye%2FOpenZz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatseye%2FOpenZz/lists"}