cBlorb: The Program

cBlorb

Build 3/100422

Graham Nelson

cBlorb PDF
(112pp, 413KB)

The packaging stage of the Inform 7 system, which releases a story file in the blorbed format.

This is a free, open-source program published under the Artistic License 2.0.




Preliminaries  (10pp, 105KB)  

PDF  

The cblorb Manual  (P/man: 9pp, 98KB)

File (587 lines) 

PDF (9pp, 98KB) 

A guide for users of cblorb.




Chapter 1: Services  (34pp, 193KB)  

PDF  

Everything we need: memory management, file-handing, parsing of our instructions.

Main  (1/main: 9pp, 106KB)

File (337 lines) 

PDF (9pp, 106KB) 

To parse command-line arguments and take the necessary steps to obey them.

Memory  (1/mem: 9pp, 113KB)

File (488 lines) 

PDF (9pp, 113KB) 

To allocate memory suitable for the dynamic creation of objects of different sizes, placing some larger objects automatically into doubly linked lists and assigning each a unique allocation ID number.

Text Files  (1/text: 7pp, 83KB)

File (331 lines) 

PDF (7pp, 83KB) 

To read text files of whatever flavour, one line at a time.

Blurb Parser  (1/blurb: 8pp, 90KB)

File (371 lines) 

PDF (8pp, 90KB) 

To read and follow the instructions in the blurb file, our main input.




Chapter 2: Blorbs  (11pp, 119KB)  

PDF  

Our primary purpose is to write a blorb file, and all else is a side-show.

Blorb Writer  (2/blorb: 10pp, 111KB)

File (441 lines) 

PDF (10pp, 111KB) 

To write the Blorb file, our main output, to disc.




Chapter 3: Other Material  (60pp, 268KB1 overfull hbox )  

PDF  

Although non-blorb release material is a side-show, it's a divertingly varied one.

Releaser  (3/rel: 15pp, 131KB)

File (661 lines) 

PDF (15pp, 131KB) 

To manage requests to release material other than a Blorb file.

Solution Deviser  (3/sol: 10pp, 108KB)

File (441 lines) 

PDF (10pp, 108KB) 

To make a solution (.sol) file accompanying a release, if requested.

Links and Auxiliary Files  (3/links: 3pp, 75KB)

File (148 lines) 

PDF (3pp, 75KB) 

To manage links to auxiliary files, and placeholder variables.

Placeholders  (3/place: 4pp, 80KB)

File (212 lines) 

PDF (4pp, 80KB) 

To manage placeholder variables.

Templates  (3/templ: 3pp, 69KB)

File (131 lines) 

PDF (3pp, 69KB) 

To manage templates for website generation.

Website Maker  (3/web: 22pp, 157KB)

File (1025 lines) 

PDF (22pp, 157KB) 

To accompany a release with a mini-website.

Base64  (3/b64: 2pp, 65KB)

File (81 lines) 

PDF (2pp, 65KB) 

To produce base64-encoded story files ready for in-browser play by a Javascript-based interpreter such as Parchment.


This is a "web", a term invented by Donald Knuth in the early 1980s for a program written according to the heavily annotated literate programming dogma. For more on "inweb", visit the Inform 7 project.