The Post-Architecture and Early Design models use the same sizing equations. Sizing is summarized below and discussed in Section 2.

|
Symbol |
Description |
|
AA |
Assessment and Assimilation |
|
AAF |
Adaptation Adjustment Factor |
|
AAM |
Adaptation Adjustment Modifier |
|
CM |
Percent Code Modified |
|
DM |
Percent Design Modified |
|
IM |
Percent of Integration Integration Required for the Adapted Software |
|
KSLOC |
Thousands of Source Lines of Code |
|
REVL |
Requirements Evolution and Volatility |
|
SU |
Software Understanding |
|
UNFM |
Programmer Unfamiliarity with Software |

|
Symbol |
Description |
|
A |
Effort coefficient that can be calibrated, currently set to 2.94 |
|
AT |
Percentage of the code that is re-engineered by automatic translation |
|
ATPROD |
Automatic translation productivity |
|
B |
Scaling base-exponent that can be calibrated, currently set to 0.91 |
|
E |
Scaling exponent described in Section 3.1 |
|
EM |
17 Effort Multipliers discussed in Section 3.2.1 |
|
PM |
Person-Months effort from developing new and adapted code |
|
PMAuto |
Person-Months effort from automatic translation activities discussed in Section 2.6. |
|
SF |
5 Scale Factors discussed in Section 3.1 |
![]()
|
Description |
|
|
A |
Effort coefficient that can be calibrated, currently set to 2.94 |
|
E |
Scaling exponent described in Section 3.1 |
|
EM |
7 Effort Multipliers discussed in Section 3.2.2 |
|
PM |
Person-Months effort from developing new and adapted code |
|
PMAuto |
Person-Months effort from automatic translation activities discussed in Section 2.6. |
|
SF |
5 Scale Factors discussed in Section 3.1 |

|
Description |
|
|
B |
The scaling base-exponent for the effort equation, currently set to 0.91 |
|
C |
Coefficient that can be calibrated, currently set to 3.67 |
|
D |
Scaling base-exponent that can be calibrated, currently set to 0.28 |
|
E |
The scaling exponent for the effort equation |
|
PMNS |
Person-Months estimated without the SCED cost driver (Nominal Schedule) |
|
SCED |
Required Schedule Compression |
|
TDEV |
Time to Develop in calendar months |
The driver rating scales for the Scale Drivers are given below and discussed in Section 3.1.
|
Scale Drivers |
Very Low |
Low |
Nominal |
High |
Very High |
Extra High |
|
PREC |
thoroughly unprecedented |
largely unprecedented |
somewhat unprecedented |
generally familiar |
largely familiar |
thoroughly familiar |
|
FLEX |
rigorous |
occasional relaxation |
some relaxation |
general conformity |
some conformity |
general goals |
|
RESL |
little (20%) |
some (40%) |
often (60%) |
generally (75%) |
mostly (90%) |
full (100%) |
|
TEAM |
very difficult interactions |
some difficult interactions |
basically cooperative interactions |
largely cooperative |
highly cooperative |
seamless interactions |
|
PMAT |
SW-CMM Level 1 Lower |
SW-CMM Level 1 Upper |
SW-CMM Level 2 |
SW-CMM Level 3 |
SW-CMM Level 4 |
SW-CMM Level 5 |
|
|
or the estimated Process Maturity Level (EMPL) |
|||||
The driver rating scales for the Post-Architecture model Cost Drivers are given below in Table 62 and discussed in Section 3.2.1. The Cost Drivers for the Early Design model are discussed in Section 3.2.2
|
Cost Drivers |
Very Low |
Low |
Nominal |
High |
Very High |
Extra High |
|
RELY |
slight inconvenience |
low, easily recoverable losses |
moderate, easily recoverable losses |
high financial loss |
risk to human life |
|
|
DATA |
|
DB bytes / Pgm SLOC < 10 |
10 £ D/P < 100 |
100 £ D/P < 1000 |
D/P > 1000 |
|
|
CPLX |
see Table 19 |
|||||
|
RUSE |
|
none |
across project |
across program |
across product line |
across multiple product lines |
|
DOCU |
Many life-cycle needs uncovered |
Some life-cycle needs uncovered. |
Right-sized to life-cycle needs |
Excessive for life-cycle needs |
Very excessive for life-cycle needs |
|
|
TIME |
|
|
£ 50% use of available execution time |
70% |
85% |
95% |
|
STOR |
|
|
£ 50% use of available storage |
70% |
85% |
95% |
|
PVOL |
|
major change every 12 mo.; minor change every 1 mo. |
major: 6 mo.; minor: 2 wk. |
major: 2 mo.; minor: 1 wk. |
major: 2 wk.; minor: 2 days |
|
|
ACAP |
15th percentile |
35th percentile |
55th percentile |
75th percentile |
90th percentile |
|
|
PCAP |
15th percentile |
35th percentile |
55th percentile |
75th percentile |
90th percentile |
|
|
PCON |
48% / year |
24% / year |
12% / year |
6% / year |
3% / year |
|
|
APEX |
£ 2 months |
6 months |
1 year |
3 years |
6 years |
|
|
PLEX |
£ 2 months |
6 months |
1 year |
3 years |
6 year |
|
|
LTEX |
£ 2 months |
6 months |
1 year |
3 years |
6 year |
|
|
TOOL |
edit, code, debug |
simple, frontend, backend CASE, little integration |
basic lifecycle tools, moderately integrated |
strong, mature lifecycle tools, moderately integrated |
strong, mature, proactive lifecycle tools, well integrated with processes, methods, reuse |
|
|
SITE: Collo-cation |
International |
Multi-city and multi-company |
Multi-city or multi-company |
Same city or metro area |
Same building or complex |
Fully collocated |
|
SITE: Com-muni-cation |
Some phone, mail |
Individual phone, FAX |
Narrow-band email |
Wide-band electronic communica-tion. |
Wide-band elect. comm, occasional video conf. |
Interactive multimedia |
|
SCED |
75% of nominal |
85% of nominal |
100% of nominal |
130% of nominal |
160% of nominal |
|
The following table, Table 62, shows the COCOMO II.2000 calibrated values for Post-Architecture scale factors and effort multipliers.
|
Table 1. COCOMO II 2000 Calibrated Post-Architecture Model Values |
||||||||||
|
Baseline Effort Constants: A = 2.94; B = 0.91 Baseline Schedule Constants: C = 3.67; D = 0.28 |
|
||||||||||
|
Driver |
Symbol |
VL |
L |
N |
H |
VH |
XH |
|
||
|
PREC |
SF1 |
6.20 |
4.96 |
3.72 |
2.48 |
1.24 |
0.00 |
|
||
|
FLEX |
SF2 |
5.07 |
4.05 |
3.04 |
2.03 |
1.01 |
0.00 |
|
||
|
RESL |
SF3 |
7.07 |
5.65 |
4.24 |
2.83 |
1.41 |
0.00 |
|
||
|
TEAM |
SF4 |
5.48 |
4.38 |
3.29 |
2.19 |
1.10 |
0.00 |
|
||
|
PMAT |
SF5 |
7.80 |
6.24 |
4.68 |
3.12 |
1.56 |
0.00 |
|
||
|
RELY |
EM1 |
0.82 |
0.92 |
1.00 |
1.10 |
1.26 |
|
|
||
|
DATA |
EM2 |
|
0.90 |
1.00 |
1.14 |
1.28 |
|
|
||
|
CPLX |
EM3 |
0.73 |
0.87 |
1.00 |
1.17 |
1.34 |
1.74 |
|
||
|
RUSE |
EM4 |
|
0.95 |
1.00 |
1.07 |
1.15 |
1.24 |
|
||
|
DOCU |
EM5 |
0.81 |
0.91 |
1.00 |
1.11 |
1.23 |
|
|
||
|
TIME |
EM6 |
|
|
1.00 |
1.11 |
1.29 |
1.63 |
|
||
|
STOR |
EM7 |
|
|
1.00 |
1.05 |
1.17 |
1.46 |
|
||
|
PVOL |
EM8 |
|
0.87 |
1.00 |
1.15 |
1.30 |
|
|
||
|
ACAP |
EM9 |
1.42 |
1.19 |
1.00 |
0.85 |
0.71 |
|
|
||
|
PCAP |
EM10 |
1.34 |
1.15 |
1.00 |
0.88 |
0.76 |
|
|
||
|
PCON |
EM11 |
1.29 |
1.12 |
1.00 |
0.90 |
0.81 |
|
|
||
|
APEX |
EM12 |
1.22 |
1.10 |
1.00 |
0.88 |
0.81 |
|
|
||
|
PLEX |
EM13 |
1.19 |
1.09 |
1.00 |
0.91 |
0.85 |
|
|
||
|
LTEX |
EM14 |
1.20 |
1.09 |
1.00 |
0.91 |
0.84 |
|
|
||
|
TOOL |
EM15 |
1.17 |
1.09 |
1.00 |
0.90 |
0.78 |
|
|
||
|
SITE |
EM16 |
1.22 |
1.09 |
1.00 |
0.93 |
0.86 |
0.80 |
|
||
|
SCED |
EM17 |
1.43 |
1.14 |
1.00 |
1.00 |
1.00 |
|
|
||
Table 63 shows the COCOMO II.2000 calibrated values for Early Design effort multipliers. The scale factors are the same as for the Post-Architecture model.
|
Table 2. COCOMO II.2000 Calibrated Early Design Model Values |
|||||||||||
|
Baseline Effort Constants: A = 2.94; B = 0.91 Baseline Schedule Constants: C = 3.67; D = 0.28 |
|
|||||||||||
|
Driver |
Symbol |
XL |
VL |
L |
N |
H |
VH |
XH |
|
||
|
PERS |
EM1 |
2.12 |
1.62 |
1.26 |
1.00 |
0.83 |
0.63 |
0.50 |
|
||
|
RCPX |
EM2 |
0.49 |
0.60 |
0.83 |
1.00 |
1.33 |
1.91 |
2.72 |
|
||
|
PDIF |
EM3 |
|
|
0.87 |
1.00 |
1.29 |
1.81 |
2.61 |
|
||
|
PREX |
EM4 |
1.59 |
1.33 |
1.12 |
1.00 |
0.87 |
0.74 |
0.62 |
|
||
|
FCIL |
EM5 |
1.43 |
1.30 |
1.10 |
1.0 |
0.87 |
0.73 |
0.62 |
|
||
|
RUSE |
EM6 |
|
|
0.95 |
1.00 |
1.07 |
1.15 |
1.24 |
|
||
|
SCED |
EM7 |
|
1.43 |
1.14 |
1.00 |
1.00 |
1.00 |
|
|
||
The following table shows the COCOMO II.1997 calibrated values for scale factors and effort multipliers.
|
Baseline Effort Constants: A = 2.45; B = 1.01 Baseline Schedule Constants: C = 2.66; D = 0.33 |
|
||||||||
|
Driver |
Symbol |
VL |
L |
N |
H |
VH |
XH |
|
|
PREC |
SF1 |
4.05 |
3.24 |
2.43 |
1.62 |
0.81 |
0.00 |
|
|
FLEX |
SF2 |
6.07 |
4.86 |
3.64 |
2.43 |
1.21 |
0.00 |
|
|
RESL |
SF3 |
4.22 |
3.38 |
2.53 |
1.69 |
0.84 |
0.00 |
|
|
TEAM |
SF4 |
4.94 |
3.95 |
2.97 |
1.98 |
0.99 |
0.00 |
|
|
PMAT |
SF5 |
4.54 |
3.64 |
2.73 |
1.82 |
0.91 |
0.00 |
|
|
RELY |
EM1 |
0.75 |
0.88 |
1.00 |
1.15 |
1.39 |
|
|
|
DATA |
EM2 |
|
0.93 |
1.00 |
1.09 |
1.19 |
|
|
|
RUSE |
EM3 |
|
0.91 |
1.00 |
1.14 |
1.29 |
1.49 |
|
|
DOCU |
EM4 |
0.89 |
0.95 |
1.00 |
1.06 |
1.13 |
|
|
|
CPLX |
EM5 |
0.75 |
0.88 |
1.00 |
1.15 |
1.30 |
1.66 |
|
|
TIME |
EM6 |
|
|
1.00 |
1.11 |
1.31 |
1.67 |
|
|
STOR |
EM7 |
|
|
1.00 |
1.06 |
1.21 |
1.57 |
|
|
PVOL |
EM8 |
|
0.87 |
1.00 |
1.15 |
1.30 |
|
|
|
ACAP |
EM9 |
1.50 |
1.22 |
1.00 |
0.83 |
0.67 |
|
|
|
PCAP |
EM10 |
1.37 |
1.16 |
1.00 |
0.87 |
0.74 |
|
|
|
PCON |
EM11 |
1.24 |
1.10 |
1.00 |
0.92 |
0.84 |
|
|
|
APEX |
EM12 |
1.22 |
1.10 |
1.00 |
0.89 |
0.81 |
|
|
|
PLEX |
EM13 |
1.25 |
1.12 |
1.00 |
0.88 |
0.81 |
|
|
|
LTEX |
EM14 |
1.22 |
1.10 |
1.00 |
0.91 |
0.84 |
|
|
|
TOOL |
EM15 |
1.24 |
1.12 |
1.00 |
0.86 |
0.72 |
|
|
|
SITE |
EM16 |
1.25 |
1.10 |
1.00 |
0.92 |
0.84 |
0.78 |
|
|
SCED |
EM17 |
1.29 |
1.10 |
1.00 |
1.00 |
1.00 |
|
|
What is a line of source code? This checklist, adopted from the Software Engineering Institute [Park 1992], attempts to define a logical line of source code. The intent is to define a logical line of code while not becoming too language specific for use in collection data to validate the COCOMO 2.0 model.
|
Table 3. COCOMO II SLOC Checklist |
|
||||||||||||
|
Definition Checklist for Source
Statements Counts Definition name: Logical Source Statements Date:_______________ (basic definition) Originator: COCOMO II |
|
|||||||||||||
|
Measurement unit: |
Physical source lines |
|
|
|
|
|
||||||||
|
|
Logical source statements |
Ö |
|
|
|
|
||||||||
|
Statement type |
Definition |
Ö |
Data Array |
|
|
Includes |
Excludes |
|
||||||
|
When a line or statement contains more than one type, classify it as the type with the highest precedence. |
|
|
|
|
|
|||||||||
|
1 Executable |
|
Order of precedence: |
1 |
Ö |
|
|
||||||||
|
2 Nonexecutable |
|
|
|
|
||||||||||
|
3 Declarations |
2 |
Ö |
|
|
||||||||||
|
4 Compiler directives |
3 |
Ö |
|
|
||||||||||
|
5 Comments |
|
|
|
|
||||||||||
|
6 On their own lines |
4 |
|
Ö |
|
||||||||||
|
7 On lines with source code |
5 |
|
Ö |
|
||||||||||
|
8 Banners and non-blank spacers |
6 |
|
Ö |
|
||||||||||
|
9 Blank (empty) comments |
7 |
|
Ö |
|
||||||||||
|
10 Blank lines |
8 |
|
Ö |
|
||||||||||
|
How produced |
Definition |
Ö |
Data array |
|
|
Includes |
Excludes |
|
||||||
|
1 Programmed |
|
Ö |
|
|
||||||||||
|
2 Generated with source code generators |
|
|
Ö |
|
||||||||||
|
3 Converted with automated translators |
|
Ö |
|
|
||||||||||
|
4 Copied or reused without change |
|
Ö |
|
|
||||||||||
|
5 Modified |
|
Ö |
|
|
||||||||||
|
6 Removed |
|
|
Ö |
|
||||||||||
|
Origin |
Definition |
Ö |
Data array |
|
|
Includes |
Excludes |
|
||||||
|
1 New work: no prior existence |
|
Ö |
|
|
||||||||||
|
2 Prior work: taken or adapted from |
|
|
|
|
||||||||||
|
3 A previous version, build, or release |
|
Ö |
|
|
||||||||||
|
4 Commercial, off-the-shelf software (COTS), other than libraries |
|
|
Ö |
|
||||||||||
|
5 Government furnished software (GFS), other than reuse libraries |
|
|
Ö |
|
||||||||||
|
6 Another product |
|
|
Ö |
|
||||||||||
|
7 A vendor-supplied language support library (unmodified) |
|
|
Ö |
|
||||||||||
|
8 A vendor-supplied operating system or utility (unmodified) |
|
|
Ö |
|
||||||||||
|
9 A local or modified language support library or operating system |
|
|
Ö |
|
||||||||||
|
10 Other commercial library |
|
|
Ö |
|
||||||||||
|
11 A reuse library (software designed for reuse) |
|
Ö |
|
|
||||||||||
|
12 Other software component or library |
|
Ö |
|
|
||||||||||
|
Usage |
Definition |
Ö |
Data array |
|
|
Includes |
Excludes |
|
||||||
|
1 In or as part of the primary product |
|
Ö |
|
|
||||||||||
|
2 External to or in support of the primary product |
|
|
Ö |
|
||||||||||
|
Delivery |
Definition |
Ö |
Data array |
|
|
Includes |
Excludes |
|
||||||
|
1 Delivered: |
|
|
|
|
||||||||||
|
2 Delivered as source |
|
Ö |
|
||||||||||
|
3 Delivered in compiled or executable form, but not as source |
|
|
Ö |
||||||||||
|
4 Not delivered: |
|
|
|
|
||||||||||
|
5 Under configuration control |
|
|
Ö |
|
||||||||||
|
6 Not under configuration control |
|
|
Ö |
|
||||||||||
|
Functionality |
Definition |
Ö |
Data array |
|
|
Includes |
Excludes |
|
||||||
|
1 Operative |
|
Ö |
|
|
||||||||||
|
2 Inoperative (dead, bypassed, unused, unreferenced, or unaccessible): |
|
|
|
|
||||||||||
|
3 Functional (intentional dead code, reactivated for special purposes) |
|
Ö |
|
|
||||||||||
|
4 Nonfunctional (unintentionally present) |
|
|
Ö |
|
||||||||||
|
Replications |
Definition |
Ö |
Data array |
|
|
Includes |
Excludes |
|
||||||
|
1 Master source statements (originals) |
|
Ö |
|
|
||||||||||
|
2 Physical replicates of master statements, stored in the master code |
|
Ö |
|
|
||||||||||
|
3 Copies inserted, instantiated, or expanded when compiling or linking |
|
|
Ö |
|
||||||||||
|
4 Postproduction replicates—as in distributed, redundant, or reparameterized systems |
|
|
Ö |
|
||||||||||
|
Development status |
Definition |
Ö |
Data array |
|
|
Includes |
Excludes |
|
||||||
|
Each statement has one and only one status, usually that of its
parent unit. |
|
|
|
|
||||||||||
|
1Estimated or planned |
|
|
Ö |
|
||||||||||
|
2 Designed |
|
|
Ö |
|
||||||||||
|
3 Coded |
|
|
Ö |
|
||||||||||
|
4 Unit tests completed |
|
|
Ö |
|
||||||||||
|
5 Integrated into components |
|
|
Ö |
|
||||||||||
|
6 Test readiness review completed |
|
|
Ö |
|
||||||||||
|
7 Software (CSCI) tests completed |
|
|
Ö |
|
||||||||||
|
8 System tests completed |
|
Ö |
|
|
||||||||||
|
Language |
Definition |
Ö |
Data array |
|
|
Includes |
Excludes |
|
||||||
|
List each source language on a separate line. |
|
|
|
|
||||||||||
|
1 Separate totals for each language |
|
Ö |
|
|
||||||||||
|
Clarifications |
Definition |
Ö |
Data array |
|
|
Includes |
Excludes |
|
||||||
|
(general) |
|
|
|
|
||||||||||
|
1 Nulls, continues, and no-ops |
|
Ö |
|
|
||||||||||
|
2 Empty statements, e.g. “;;” and lone semicolons on separate lines |
|
|
Ö |
|
||||||||||
|
3 Statements that instantiate generics |
|
Ö |
|
|
||||||||||
|
4 Begin...end and {...} pairs used as executable statements |
|
Ö |
|
|
||||||||||
|
5 Begin...end and {...} pairs that delimit (sub)program bodies |
|
|
Ö |
|
||||||||||
|
6 Logical expressions used as test conditions |
|
|
Ö |
|
||||||||||
|
7 Expression evaluations used as subprograms arguments |
|
|
Ö |
|
||||||||||
|
8 End symbols that terminate executable statements |
|
|
Ö |
|
||||||||||
|
9 End symbols that terminate declarations or (sub)program bodies |
|
|
Ö |
|
||||||||||
|
10 Then, else, and otherwise symbols |
|
|
Ö |
|
||||||||||
|
11 Elseif statements |
|
Ö |
|
|
||||||||||
|
12 Keywords like procedure division, interface, and implementation |
|
Ö |
|
|
||||||||||
|
13 Labels (branching destinations) on lines by themselves |
|
|
Ö |
|
||||||||||
|
Clarifications |
Definition |
Ö |
Data array |
|
|
Includes |
Excludes |
|
||||||
|
(language specific) |
|
|
|
|
||||||||||
|
Ada |
|
|
|
|
||||||||||
|
1 End symbols that terminate declarations or (sub)program bodies |
|
|
Ö |
|
||||||||||
|
2 Block statements, e.g. begin...end |
|
Ö |
|
|
||||||||||
|
3 With and use clauses |
|
Ö |
|
|
||||||||||
|
4 When (the keyword preceding executable statements) |
|
|
Ö |
|
||||||||||
|
5 Exception (the keyword, used as a frame header) |
|
Ö |
|
|
||||||||||
|
6 Pragmas |
|
Ö |
|
|
||||||||||
|
Assembly |
|
|
|
|
||||||||||
|
1 Macro calls |
|
Ö |
|
|
||||||||||
|
2 Macro expansions |
|
|
Ö |
|
||||||||||
|
C and C++ |
|
|
|
|
||||||||||
|
1 Null statement, e.g. “;” by itself to indicate an empty body4 |
|
|
Ö |
|
||||||||||
|
2 Expression statements (expressions terminated by semicolons) |
|
Ö |
|
|
||||||||||
|
3 Expression separated by semicolons, as in a “for” statement |
|
Ö |
|
|
||||||||||
|
4 Block statements, e.g. {...} with no terminating semicolon |
|
Ö |
|
|
||||||||||
|
5 “;”, “;” or “;” on a line by itself when part of a declaration |
|
|
Ö |
|
||||||||||
|
6 “;” or “;” on a line by itself when part of an executable statement |
|
|
Ö |
|
||||||||||
|
7 Conditionally compiled statements (#if, #ifdef, #ifndef) |
|
Ö |
|
|
||||||||||
|
8 Preprocessor statements other than #if, #ifdef, and #ifndef |
|
Ö |
|
|
||||||||||
|
CMS-2 |
|
|
|
|
||||||||||
|
1 Keywords like SYS-PROC and SYS-DD |
|
Ö |
|
|
||||||||||
|
COBOL |
|
|
|
|
||||||||||
|
1 “PROCEDURE DIVISION”, “END DECLARATIVES”, etc. |
|
Ö |
|
|
||||||||||
|
FORTRAN |
|
|
|
|
||||||||||
|
1 END statements |
|
Ö |
|
|
||||||||||
|
2 Format statements |
|
Ö |
|
|
||||||||||
|
3 Entry statements |
|
Ö |
|
|
||||||||||
|
PASCAL |
|
|
|
|
||||||||||
|
1 Executable statements not terminated by semicolons |
|
Ö |
|
|
||||||||||
|
2 Keywords like INTERFACE and IMPLEMENTATION |
|
Ö |
|
|
||||||||||
|
3 FORWARD declarations |
|
Ö |
|
|
||||||||||
|
Summary of Statement Types |
|
||||||||||||
|
Executable
statements Executable statements cause runtime actions. They may be simple statements such as assignments, goto’s, procedure calls, macro calls, returns, breaks, exits, stops, continues, nulls, no-ops, empty statements, and FORTRAN’s END. Or they may be structured or compound statements, such as conditional statements, repetitive statements, and “with” statements. Languages like Ada, C, C++, and Pascal have block statements [begin...end and {...}] that are classified as executable when used where other executable statements would be permitted. C and C++ define expressions as executable statements when they terminate with a semicolon, and C++ has a <declaration> statement that is executable. |
|
||||||||||||
|
Declarations Declarations are nonexecutable program elements that affect an assembler’s or compiler’s interpretation of other program elements They are used to name, define, and initialize; to specify internal and external interfaces; to assign ranges for bounds checking; and to identify and bound modules and sections of code. Examples include declarations of names, numbers, constants, objects, types, subtypes, programs, subprograms, tasks, exceptions, packages, generics, macros, and deferred constants. Declarations also include renaming declarations, use clauses, and declarations that instantiate generics. Mandatory begin...end and {...} symbols that delimit bodies of programs and subprograms are integral parts of program and subprogram declarations. Language superstructure elements that establish boundaries for different sections of source code are also declarations. Examples include terms such as PROCEDURE DIVISION, DATA DIVISION, DECLARATIVES, END DECLARATIVES, INTERFACE, IMPLEMENTATION, SYS-PROC and SYS-DD. Declarations, in general, are never required by language specifications to initiate runtime actions, although some languages permit compilers to implement them that way. |
|
||||||||||||
|
Compiler
Directives Compiler directives instruct compilers, preprocessors, or translators (but not runtime systems) to perform special actions. Some, such as Ada’s pragma and COBOL’s COPY, REPLACE, and USE, are integral parts of the source language. In other languages like C and C++, special symbols like # are used along with standardized keywords to direct preprocessor or compiler actions. Still other languages rely on nonstandardized methods supplied by compiler vendors. In these languages, directives are often designated by special symbols such as #, $, and {$}. |
|
||||||||||||