Jump to content

Not Quite C

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 2607:fea8:1d60:32d5:9f:22a:8575:3774 (talk) at 20:43, 29 June 2020 (Removing tournament legality section: uncited & discussion regarding the lack of citations goes back to 2014. Long past time for that to get cleaned up.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Not Quite C (NQC) is a programming language, application programming interface (API), and native bytecode compiler toolkit for the Lego Mindstorms, Cybermaster and LEGO Spybotics systems. It is based primarily on the C language but has specific limitations, such as the maximum number of subroutines and variables allowed, which differ depending on the version of firmware the RCX has. The language was invented by David Baum. He has released two books on the subject.

Simple program example

A simple test program written in NQC for an RCX with a motor connected to output port A could look like this:

 task main ()    // Main program
 {
     SetPower(OUT_A, OUT_FULL);    // Turn on motor A at 100% power.
     OnFor(OUT_A, 200);            // Let the motor run for two seconds, and then turn it off.
 }

Thus, motor A will go at full speed for two seconds before being turned off.

Compilers and integrated development environments

NQC compilers and integrated development environments (IDEs) are available for many platforms including Microsoft Windows, Mac OS X, Linux, BeOS and DOS. One is the Bricx Command Center.

References

Sources

Compiler sources:

IDE sources: