Pristine Ack-5.5
[Ack-5.5.git] / doc / pascal / test.doc
1 .sp 2
2 .NH
3 Testing the compiler
4 .nh
5 .sp
6 .LP
7 Although it is practically impossible to prove the correctness of a compiler,
8 a systematic method of testing the compiler is used to increase the confidence
9 that it will work satisfactorily in practice. The first step was to see if
10 the lexical analysis was performed correctly. For this purpose, the routine
11 LexScan() was used (see also the \-l option). Next we tested the parser
12 generated by LLgen, to see whether correct Pascal programs were accepted and
13 garbage was dealed with gracefully. The biggest test involved was the
14 validation of the semantic analysis. Simultaneously we tested the code
15 generation. First some small Pascal test programs were translated and
16 executed. When these programs work correctly, the Pascal validation suite
17 and a large set of Pascal test programs were compiled to see whether they
18 behaved in the manner the standard specifies. For more details about the
19 Pascal validation suite, the reader is referred to [PCV].