1
0
mirror of https://github.com/RevCurtisP/C02.git synced 2024-07-06 12:28:57 +00:00
C02/doc/c02vsC.txt
2018-03-06 23:35:47 -05:00

52 lines
1.6 KiB
Plaintext

C02 for C programmers
TYPES
C02 only supports one data type: unsigned char.
POINTERS
C02 does not support pointer type variables or parameters. However, the
address-of operator may be used in function calls and the inline
statement.
DIRECTIVES
C02 does not use a preprocessor. All directives are directly processed
by the compiler.
CONSTANTS
Constant definitions use the same syntax as C, but when a constant is
subsequently referenced in code, it must be prefixed with a # symbol.
ENUMERATION
Instead of the enum keyword, C02 uses the #enum directive. Values may
not be specified when defining enumerated constants.
DECLARATIONS
Variable and function names may be no more than six characters in length.
Multiple variable declarations separated by commas are allowed.
A variable in a declaration may be initialized by following it with an
equal sign and a constant, however this declaration is done at compile
time, so no re-initialization will occur during code execution.
Array declarations using bracket syntax specify the upper bound, rather
than the array size. Therefore, the array will be allocated with one more
element than the specified number.
EXPRESSIONS
C02 supports the addition, subtraction, bitwise-and, bitwise-or, and
exclusive-or operators. The multiplication, division, and binary shift
operators are not supported. These can be implemented through functions.
STATEMENTS
Instead of the switch statement, C02 uses the select statement. The
select statement works almost identically to the switch statement except
that case blocks do not fall through.