Next: A discussion on real-time
Up: The
- C or
Previous:
- C and
Again, several aspects of the language has been forgotten, at this
stage of the specifications:
- Instructions which define general loops (for, while instruction
etc...) or jumps (goto, etc...). General loops will not be treated
as instructions, but using another programming mechanism, for the
reason we want to control their execution.
- Some less useful operators &&, ||,
are not
defined since they can easily be replaced by the logical operators.
Similarly, shift operators << or >>, which corresponds
to some multiplications with eventually other mask manipulation are
avoided. Furthermore, complex affectations, e.g. +=, *=,
etc... or incremental x++ operators which can be considered
as compact expression builded from other defined operators are not
introduced.
Again, all these operators could have been defined, but they will
not be very useful here. From a programmer point of view, the main
use of these operators are the fact they might lead to more
efficient compilations. This is nowadays not very true, because
usual compilers indeed optimize the code even if the programmer has
not written it in a very compact form. For instance, x=x+1
will obviously be implemented, as x+=1 or even x++.
- The indirect operator * and reference operator & is
not to be defined since we do not manipulate pointers explicitly.
- The conditional operator expr ? val1 : val0 is not
defined, since this is redundant with the
instruction. - True procedures, functions, input/output primitives, etc.. are
also not defined at this stage but at another level of the
specifications.
Storage classes and other ways to qualify the data are also not used
here. In fact the system will insure the coherence of all
declarations using naming rules.
Finally, the target language has the following syntax:
which allows to define memory objects and pieces of codes.
Next: A discussion on real-time
Up: The
- C or
Previous:
- C and
Soraya Arias
Mon Aug 5 17:38:44 MET DST 1996