The logic of the CSL editor is mainly implemented in JavaScript. However PHP is used to generate and read CSL-Styles.

The PHP code consists of 3 parts:
 * Controllers (controllers/): Accept requests and generate replies
 * CSL-Builder (libraries/CSLBuilder*): Generates CSL-Code out of a JSON style object (which is described in media/js/styleObjectDescription.js)
 * CSL-Reader (libraries/CSLReader*): Reads CSL-Code and generates a JSON style object

The editor uses jQuery and jQuery UI. All scripts are placed in the media/js/ directory:
 * csleditor.js: initialization scripts and general functions used all over the editor
 * tokenformat.js: classes which hold the token definitions and implement the composite pattern. CSLEditor.TokenFormat.Base is the base token all other tokens inherit from.
 * styleObjectDescription.js: describes the JSON data format which is used as data exchange format from/to the server