Introduction
----------------------------------------------------------------------

SCC is the compiler used for SC. SC is a small language intended to
make the creation of OVAL content easier. The SC language is more 
"human readable" than the XML of OVAL. The main features of SC are:

* Compact, readable syntax: The XML-based syntax of OVAL is verbose and
  filled with line noise, making it hard to write and hard to read. SC
  has a syntax that is easier on the fingers and the eyes.

* Sane ID and reference handling: OVAL requires the creation of barely
  human-readable IDs for each element (e.g., oval:tresys:obj:2007) and
  the widespread use of these IDs to reference elements. SC will allow
  the use of human-readable names within the source and allow the
  omission of names altogether when they are not necessary. SCC will
  provide a stable translation of the SC named objects and nameless,
  in-line objects into XML objects with OVAL compliant IDs.

* Locality of definition: OVAL requires that related elements, such as
  objects, states, and tests, be widely spaced and referenced using OVAL
  IDs. SC allows elements that are only used once to be defined in-line
  and relaxes the rules on element grouping. By giving the content author
  greater control over organization SC allows them to develop a more
  maintainable body of content.

* Simple OVAL mapping: SC provides a simpler syntax while maintaining a
  clear mapping to the actual OVAL language. A content author can clearly
  understand how the SC language will be rendered into OVAL. This also
  makes it simple for the content author to translate the OVAL
  documentation into corresponding SC syntax.


Getting Started
----------------------------------------------------------------------

Installation instructions are available on the Tresys OSS site for SCC:
http://oss.tresys.com/projects/scc

SCC is the compiler for SC lanaguage content, and the customary
exension for SC content files is '.sc'. The compiler can be run
on the provided example with the following command:

	$ scc test.sc

This will create two output files - the OVAL content in out.xml and a
database of the SCC object name to OVAL ID mappings in ids.ini.

Outputting to a different file can be done with the '-o' flag.

	$ scc test.sc -o test.xml

More than one SC content file can be used for input.  By deafult the
contents of both will be merged into a single OVAL output file:

	$ scc testa.sc testb.sc -o combined.xml

To compile a separate OVAL output file for each SC content input file,
use the -s flag:

	$ scc -s testa.sc testb.sc

More language specification and language use documentation is available
on the Tresys OSS site for SCC:
http://oss.tresys.com/projects/scc
