CCshTM, "The Bourne Shell Compiler"

CCsh is a high quality programming tool that will transform your current Bourne Shell code into a fast executable binary file. In addition to this "brochure" you can also find the following online information: the CCsh FAQ, the CCsh documentation, the CCsh license agreement, the CCsh order worksheet and the CCsh online compiler.


If you use UNIX, whether is be Solaris, SCO, SunOS, LINUX, HP/UX, or AIX, chances are that you write programs, aka scripts, using the shell. If you do, you know that shell scripts are slow and bulky. You put up with that because the shell is easy and powerful to use. Besides, you have no other choice....

No other choice, that is, until CCsh came along. Now even casual UNIX users can have the full power of compiled shell scripts. Scripts that run faster, take up less overhead, and are more secure. And since CCsh automatically does its job, users and system administrators can do theirs without spending a lot of time programming or re-programming. That means efficiency.


Programmers and UNIX application's developers love CCsh.

Why? Because it makes them many times more efficient. Since most code is developed by prototyping in the easy-to-use shell, programmers often find themselves with literally thousands of lines of script code. Once the developer has debugged the script, the formidable task of hand converting to C awaits. This slow and error-prone conversion task is eliminated with the power and convenience of CCsh.

Concerned about security of your code? Of course your CCsh compiled scripts are no longer readable by prying eyes. Put that source code away. You won't need it once your script is compiled with CCsh.


When execution time matters ... and when doesn't it? ... you want CCsh. Shell programmers find that CCsh increases execution speed dramatically.

How? First, and most obvious, CCsh is a compiler, not an interpreter. That means more speed from the start. Machine-readable code simply runs faster.

But there's more to CCsh. More elegant programming considerations that mean, simply, more speed for you. Object code can be compiled to run with a re-entrant code segment. Say "Good-bye" to some kernel and memory constraints that slowed you down in the past.

What else? Also, now you can assign the sticky bit (t-bit) to your transformed executable files. The UNIX kernel will hold an image of your executable code in memory, even after your program has terminated. You can't do that at all with conventional shell scripts.

And so not only are there speed increases with CCshd scripts, system throughput is more nearly optimal.


CCsh is technically complete. Complete from the machines it supports to the commands in its syntax. Complete from available runtime libraries to free tech support. Complete from its elegant functionality to its documentation and training materials.

Command support? Of course. CCsh supports the dot command (`.'), the eval command, the IFS variable, digit redirection (i.e. 2>&1), ${parameter??word} initializations, (command-list) commands, {command-list} command, and shell functions, making it compatible with the System V Release 2 (and above) shell.

Add your own user built-ins? Of course. Now you can have an extensible shell and get rid of un-necessary system overhead.

It's what you'd expect from a product like CCsh. And, it's what you get.


How does CCsh make your shell scripts secure, fast, compact and complete? CCsh undergoes many complex activities to guarantee these goals. These activities fall into the following major categories:
  • translate the script into fast and portable C code
  • support shell builtins
  • CCsh versions of UNIX commands
  • internal I/O redirection
  • the resulting binary equivalent is stand-alone
First, CCsh extensively analyzes both the syntax and semantics of your shell script and outputs a fast C equivalent of your original script. During analysis, all shell builtin commands become mapped into fast C subroutine calls. In addition, we have rewritten some of the more popular UNIX commands, so they too become fast C subroutine calls. Finally, CCsh handles all I/O redirection and piping.

The C code is then transparently compiled with your system's C compiler and linked with the CCsh runtime library. This produces a binary and fully compatible version of your original shell script. The resulting binary is much faster, more secure and totally stand-alone.


Does CCsh have any other uses? Sure. Even if you do not need a binary version of your program, CCsh can be handy. For instance, since CCsh does a full syntax and semantic check, it can be useful for doing a static source analysis on your program. This is useful for finding errors that normally would not be detected until the shell actually executed the line of code in question.


Why settle for anything less? Now that you know the way to efficient UNIX shell program development, greater speed, security and flexibility, we're sure you'll want CCsh. So get on the road to turning those shell scripts into fast, executable C code. Code you produced with CCsh. Not by tediously hand-coding thousands of lines of shell code.


Can't wait? If you still have questions about CCsh, Comeau Computing would be more than happy to answer them. We usually respond to email within 24 hours, so please email us.

Each CCsh package includes a copy of the compiler, a C #include file, and the respective runtime library for your machine. Additional runtime libraries are available.


As CCsh is available for such a diversity of machines, please email us for current pricing and for details on your specific machine. Note that many ports are done electronically.

And when you purchase your copy of CCsh we'll give you free tech support.

You may also want to have a look at the CCsh FAQ, the CCsh documentation, the CCsh license agreement, the CCsh order worksheet and the CCsh online compiler.

When you experience CCsh, you'll see why we say:

"We put the PRO in PROgramming."TM

P.S.: Ask us about Comeau C++, a Standard compatible C++! Comeau C++ is the world's most ported commercial C++!

Comeau Computing.
Copyright © Comeau Computing. All rights reserved.
Revised: July, 2013.