Giter VIP home page Giter VIP logo

ioccc-mkiocccentry's Introduction

Official IOCCC submission toolkit

NOTE: This code is currently under alpha-test.

mkiocccentry

Form an IOCCC entry as an XZ compressed tarball file.

For examples and more information, try:

    man ./mkiocccentry.1

iocccsize

The official IOCCC entry Rule 2b size tool.

This code is based on code by @SirWumpus (Anthony Howe):

See @SirWumpus's iocccsize repo

For more information and examples, try:

    man ./iocccsize.1

txzchk

The official IOCCC tarball validation checker.

It is invoked by mkiocccentry; txzchk in turn uses fnamchk to make sure that the tarball was correctly named and formed (i.e. the mkiocccentry tool was used).

This tool was written in 2022 by @xexyl (Cody Boone Ferguson). See https://xexyl.net and https://ioccc.xexyl.net.

For more information and examples, try:

    man ./txzchk.1

fnamchk

The official IOCCC XZ compressed tarball filename sanity checker tool.

For more information and examples, try:

    man ./fnamechk.1

jinfochk

The official IOCCC .info.json sanity checker tool. Invoked by mkiocccentry after the .info.json file has been created, it will attempt to validate the file. If it does not successfully validate the file there is a mismatch between what is expected and what is actually there and mkiocccentry will fail.

As a stand-alone tool it will report whether the file is a validly formed .info.json file. See also jauthchk.

NOTE: This tool and jauthchk are very much works in progress and as of 10 March 2022 it was decided that the parsing should be done via flex(1) and bison(1) which is being worked on in jparse (see below).

In time the two tools (jinfochk and jauthchk) will be merged into one tool which can parse one or both of .info.json and .author.json. This is because some fields MUST be the same value in both files.

For more information and examples, try:

    man ./jinfochk.1

jauthchk

The official IOCCC .author.json sanity checker tool. Invoked by mkiocccentry after the .author.json file has been created, it will attempt to validate the file. If it does not successfully validate the file there is a mismatch between what is expected and what is actually there and mkiocccentry will fail.

As a stand-alone tool it will report whether the file is a validly formed .author.json file. See also jinfochk.

NOTE: This tool and jinfochk are very much works in progress and as of 10 March 2022 it was decided that the parsing should be done via flex(1) and bison(1) which is being worked on in jparse (see below).

In time the two tools (jauthchk and jinfochk) will be merged into one tool which can parse one or both of .author.json and .author.json. This is because some fields MUST be the same value in both files.

For more information and examples, try:

    man ./jauthchk.1

jparse

The official IOCCC JSON parser written in C via flex(1) and bison(1).

It takes a block of memory from either a file (stdin or a text file) or a string (via -s option) and parses it as JSON, reporting if it is validly formed JSON or not.

As of 26 May 2022 it does not yet create a parse tree for other tools like the jinfochk and jauthchk tools. Some things still have to be worked out. Once this is done the other two tools can be finished.

NOTE: At the risk of stating the obvious this tool is very much a work in progress. Good progress is being made but more thought and time is still required.

For more information and examples, try:

    man ./jparse.1

ioccc-mkiocccentry's People

Contributors

lcn2 avatar xexyl avatar ilyakurdyukov avatar vog avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.