
This is an archived project which is no longer maintained by Tresys.
Please visit our Open Source Software index page for a directory of our active projects.
SCC
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.
Download a SCC Release
Dependencies
Most Linux distributions will work fine for SCC. And probably some other non-Linux operating systems as well. The short list of dependencies:
Dependency | Package Name (RHEL) | Notes
|
[Python] | python | None
|
[Python PLY] | python-ply | None
|
[ElementTree] | python-elementtree | This is a separate package in RHEL 5, but is part of Python in more recent Python releases.
|
Archived Release
All Releases