Table 1.1 shows the translation limits of the compiler.
Source programs must be created to fall within these translation limits.
Table 1.1 | Translation Limits of Compiler |
|
|
|
|
1
|
Startup
|
Total number of macro names that can be specified using the define option
|
Unlimited
|
2
|
Number of characters in a file name
|
Unlimited (depends on the OS)
|
3
|
Source program
|
Number of characters in one line
|
32768
|
4
|
Number of source program lines in one file
|
Unlimited
|
5
|
Total number of source program lines that can be compiled
|
Unlimited
|
6
|
Preprocessing
|
Nesting levels of files in an #include statement
|
Unlimited
|
7
|
Total number of macro names in a #define statement
|
Unlimited
|
8
|
Number of parameters that can be specified using a macro definition or macro call operation
|
Unlimited
|
9
|
Number of expansions of a macro name
|
Unlimited
|
10
|
Nesting levels of conditional inclusion
|
Unlimited
|
11
|
Total number of operators and operands that can be specified in an #if or #elif statement
|
Unlimited
|
12
|
Declaration
|
Number of function definitions
|
Unlimited
|
13
|
Number of external identifiers used for external linkage
|
Unlimited
|
14
|
Number of valid internal identifiers used in one function
|
Unlimited
|
15
|
Number of pointers, arrays, and function declarators that qualify the basic type
|
16
|
16
|
Number of array dimensions
|
6
|
17
|
Size of arrays and structures
|
2147483647 bytes
|
|
|
|
|
18
|
Statement
|
Nesting levels of compound statements
|
Unlimited
|
19
|
Nesting levels of statements in a combination of repeat (while, do, and for) and select (if and switch) statements
|
4096
|
20
|
Number of compound statements that can be written in one function
|
2048
|
21
|
Number of goto labels that can be specified in one function
|
2147483646
|
22
|
Number of switch statements
|
2048
|
23
|
Nesting levels of switch statements
|
2048
|
24
|
Number of case labels that can be specified in one switch statement
|
2147483646
|
25
|
Nesting levels of for statements
|
2048
|
26
|
Expression
|
Number of characters in a string
|
32766
|
27
|
Number of parameters that can be specified using a function definition or function call operation
|
2147483646
|
28
|
Total number of operators and operands that can be specified in one expression
|
About 500
|
29
|
Standard library
|
Number of files that can be opened simultaneously in an open function
|
Variable*1
|
30
|
Section
|
Length of section name*2
|
8146
|
31
|
Number of sections that can be specified in #pragma section in one file
|
2045
|
32
|
Maximum size of each section
|
4294967295 bytes
|
33
|
Output files
|
Maximum number of characters per line of assembly source code that can be output
|
8190
|
Notes 2. | Since the assembler's limit of number of characters in one line is applied to the length of a section name when generating an object, the length that can be specified in #pragma section or the section option is shorter than this limit. |