                 "SPECS TRANSLATOR"

The project converts code written in SPECS to native C++.

SPECS (Significantly Prettier ans Easier C++ Syntax) translator is based
on the paper:
" The Design and Implementation of SPECS: An Alternative C++ Syntax "
by Ben Werther & Damian Conway.

Can be obtained from :
http://www.csse.monash.edu.au/~damian/papers/

The translator is written in TXL (www.txl.ca)
and can convert:

Basic object declarations
type declaration
Function declarations
Function definitions
Assignment statements
Switch case and
class 
from SPECS to C++ syntax

The files are:

specToCpp.txl         : Main file.
declOverrid.rul       : rules to convert delcarations.
exprOverrid.rul       : rules to convert assignment
                        expressions.
funcOverrid.rul       : function and function definitions.
classTypeoverrid.rul  : change class syntax.
switchCaseOverrid.rul : change switch-case syntax.
commentOverrid.rul    : Considers comment if -comment option
typeOverrid.rul       : Change simple type to typedef.

specs.grm             : The SPECS grammar in TXL.
cpp_part_Specs.grm    : Additional part from J.R Cordy's
                        C++ grammar given with TXL.


Compile and run process:

The project can be run with the TXL interpreter as:

> txl <specs-input-file> specToCpp.txl [-comment] [-o output.txt]

-comment considers comments as input
If output file not specified, stdout is the default.
