home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #6
/
amigamamagazinepolishissue1998.iso
/
coders
/
jËzyki_programowania
/
oberon
/
tool
/
analyzer.tool
(
.txt
)
next >
Wrap
Oberon Text
|
1977-12-31
|
2KB
|
42 lines
Syntax10.Scn.Fnt
ParcElems
Alloc
Syntax10i.Scn.Fnt
Analyzer.Analyze * Analyzer.Analyze */inruvx full analysis
Analyzer.Analyze */inr intermediate access, count stats, redefinition
Analyzer.Analyze (("*" | "@") ["/" opt] | {name ["/" opt]} "~" | "^")
Options (complementing each other):
i redeclaration of/use of/assignment to intermediate items
n number of statements in module
r redefinition of type bound procedures
u used before set for different scopes
v use of var parameters
x use/initialization of exported items
Analyzer.Analyze marks by default
- all non-exported variables/constants/types/fields that are declared
but never used, used before being initialized (*), never initialized,
and initialized but never used.
- non-exported [type-bound] procedures that are never called.
- modules that are imported but never used.
(*) For variables declared in a different scope, no warning is
produced (see option /u, however).
/i(ntermediate) additionally marks
- items that are already declared in an outer scope.
- the use of or assignment to intermediate items (e.g. local
variables/parameters declared in an outer scope).
/n(umber) reports
- the number of statements (assignments, if, while, proc calls, etc.)
in the module. This is convenient for determining the complexity
of a program (instead of lines of code).
/r(edefinition) additionally marks
- the redefinition of type bound procedures.
/u(sed) additionally marks
- 'used before set' for variables declared in a different scope.
/v(arpar) additionally marks
- variables that are used as var parameters and are therefore not
ensured to be initialized.
/x (eXported) additionally marks
- exported items that are declared but not used by the module itself,
used before being initialized, never initialized, and initialized but never
used.