W. Wesley Groleau wrote,
> > ..... The catch would be that those compilers would need to support
> > ASIS (some don't), and further, you would need to compile your code
> > first (ie, have it semantically analyzed) before applying the tool. So
> > in that sense, you *do* depend on a "specific compiler"... and the tool
> > is a post-processor, ....
> A tool that enforces standards _after_ the code is compiled is like having
> your code review during testing.
> But it's better than nothing......
The compilation that ASIS requires is not code generation; nothing is
linked, executed, or tested. Only the front-end of the compiler is used,
to perform the semantic analysis. This is no different than reinventing
that front-end and embedding it within the analysis tool (which is what
non-ASIS based tools *must* do -- except usually with less fidelity than
an outright compiler, although some use GNAT for this). In the non-ASIS
case, we'd say the tool was a preprocessor, whereas an ASIS-based tool
would be termed a postprocessor; however, from the perspective of the
development process, this distinction is meaningless: edit the code,
check it for class violations, fix the code, generate an executable,
test it. The advantage of ASIS is that it integrates the compiler's
well-exercised semantic analysis capabilities with tools that provide
output other than executable code.
C. Daniel Cooper ==========v=================v=======================v
Adv Computing Technologist | processes | All opinions are mine |
206-655-3519 | + architectures | and may not represent |
[log in to unmask] | = systems | those of my employer. |