Skip to content

Citrine C developers, what goes where

Gabor de Mooij edited this page Feb 7, 2016 · 2 revisions

Package Information

Files

  • citrine.h - contains all function definitions, macros and constants for Citrine
  • citrine.c - main application
  • lexer.c - lexer
  • parser.c - parser, creates abstract syntax tree
  • walker.c - runs a parse tree
  • world.c - basic plumbing, message routines, internal functions (for use in plugins)
  • base.c - Object, Nil Object, Boolean Object, Number Object, Block Object and String Object
  • collection.c - Array and Map Objects
  • file.c - File Object
  • system.c - Pen, Command, GC, Clock, Dice and Shell
  • memory.c - Memory management routines
  • utf8.c - UTF-8 Unicode support
  • util.c - Plugin loader, Serializer and other tools
  • siphash.* - Siphash library by Marek Majkowski MIT Licensed

Core Plugins

  • plugins/percolator/percolator.c - example plugin
  • plugins/request/request.c - GET/POST support, Storm Server
  • plugins/request/ccgi-1.2 - CCGI Library by Stephen C. Losen LGPL Licensed

Misc

  • LICENSE - contains License info (BSD)
  • README.md - Readme text file (for display on github)
  • makefile - Linux Makefile
  • makefile.openbsd - OpenBSD Makefile
  • mk.bash - System agnostic make script (selects makefile)
  • runtests.bash - Runs all tests in test folder
  • tests/* - Contains tests (.exp contain the expected output per test)
  • .gitignore - Contains patterns to keep out of version control
  • .travis.yml - Contains build instructions for Travis CI server
  • plugins/* - Source code for plugins
  • mods/* - Binaries for plugins (please dont add to version control)
  • dist/* - Distributions (not under version control, just for yourself)
  • misc/mods - Binaries plugins for Storm (please dont add to version control)
  • misc/storm.ctr - Example Storm Server
  • misc/sman.ctr - Source Manual Generator, creates man files from source code
  • misc/isgood.sh - puts output of a file in a .exp file (use to create new test)
  • misc/ctr.1 - UNIX manual file for Citrine
  • misc/ctrstyle.css - Stylesheet Citrine online manual
  • misc/99beer.ctr - Song 99 bottles of beer in Citrine
Clone this wiki locally