cBlorb: The Program

cBlorb

Build 2/090104

Graham Nelson

cBlorb PDF
(94pp, 358KB)

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  (9pp, 102KB)  

PDF  

The cblorb Manual  (P/man: 8pp, 94KB)

File (536 lines) 

PDF (8pp, 94KB) 

A guide for users of cblorb.




Chapter 1: Services  (28pp, 177KB)  

PDF  

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

Main  (1/main: 6pp, 95KB)

File (236 lines) 

PDF (6pp, 95KB) 

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

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

File (488 lines) 

PDF (9pp, 112KB) 

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: 6pp, 81KB)

File (275 lines) 

PDF (6pp, 81KB) 

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

Blurb Parser  (1/blurb: 6pp, 83KB)

File (297 lines) 

PDF (6pp, 83KB) 

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




Chapter 2: Blorbs  (11pp, 117KB)  

PDF  

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

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

File (441 lines) 

PDF (10pp, 109KB) 

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




Chapter 3: Other Material  (49pp, 233KB)  

PDF  

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

Releaser  (3/rel: 8pp, 98KB)

File (309 lines) 

PDF (8pp, 98KB) 

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

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

File (441 lines) 

PDF (10pp, 105KB) 

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

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

File (148 lines) 

PDF (3pp, 73KB) 

To manage links to auxiliary files, and placeholder variables.

Placeholders  (3/place: 3pp, 74KB)

File (163 lines) 

PDF (3pp, 74KB) 

To manage placeholder variables.

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

File (116 lines) 

PDF (3pp, 69KB) 

To manage templates for website generation.

Website Maker  (3/web: 21pp, 154KB)

File (1001 lines) 

PDF (21pp, 154KB) 

To accompany a release with a mini-website.


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.