next up previous index
Next: Lexicalities Up: User guide Previous: Missing cobol.tab, ada.tab, c++.tab,

Preamble

This document describes RainCode's scripting language. This language will enable you to define properties that can be asserted for pieces of source code, and to define metrics that can be measured. You can also write scripts that will perform systematic changes on your source file, to improve their quality, their readability or to make them compliant to some form of standard.

While some of RainCode's most peculiar concepts are described extensively, elementary programming issues such as values, data types, variables, etc... are considered as part of the background of any reasonably technical reader. Similarly, the user's guide approach, with small examples on which more elaborate issues are introduced gradually is replaced by a more concise reference manual style, which is more appropriate for technically educated readers.

This document focuses on RainCode's syntax and semantics, in an entirely language-independent way, in the sense that the peculiarities of the analysis of Cobol PL/1, or Ada (or any other language for which a RainCode-compatible parser exists) parse trees are not covered. The language used to write scripts for Cobol is not Cobol-dependant in any way. The concepts - variables, data types, etc...- are independent from Cobol. The only part that depends on Cobol is the data structure that describes the input file to analyse. This data structure reflects Cobol's syntactical definition as well as some semantic information.

Hence, this document alone is not sufficient to take reasonable advantage of the various facilities of RainCode. One must also consult the class libraries that describe the parse tree to analyze, and the various environments provided with RainCode. An environment is made of a number of logically connected routines that can be used for common computing purposes. For instance, RainCode includes a STR environment

environment for character string manipulation primitives, a SYS environment

that encapsulates system issues, etc...

In the various grammar rules presented in this document, <void> denotes the empty string.


next up previous index
Next: Lexicalities Up: User guide Previous: Missing cobol.tab, ada.tab, c++.tab,