An approach to automating syntax error detection recovery ...

156
AN APPROACH TO AUTOMATING SYNTAX ERROR DETECTION RECOVERY, AND CORRECTION FOR LR(K) GRAMMARS Gordon T. McGruther

Transcript of An approach to automating syntax error detection recovery ...

AN APPROACH TO AUTOMATING SYNTAX ERROR

DETECTION RECOVERY, AND CORRECTION FORLR(K) GRAMMARS

Gordon T. McGruther

NA POSTGRADUATE SCHOOL

Monterey, California

An Approach to Automating Syntax Error DetectionRecovery, and Correction

1Gordon T.

for LR(k)

McGruther

Grammars

Thesis Advisor: R. C. Bolles

June 1972-

~4 £Approved faon. public ttiLaaA e; dutnJJbuX.Lon unlbnlt&d.

An Approach to Automating Syntax Error DetectionRecovery, and Correction for LR(k) Grammars

by

Gordon T. McGrutherLieutenant Commander, United States NavyB. S., Naval Postgraduate School, 1971

Submitted in partial fulfillment of therequirements for the degree of

MASTER OF SCIENCE IN COMPUTER SCIENCE

from the

NAVAL POSTGRADUATE SCHOOLJune 1972

Mi*

ABSTRACT

An automatic, language-independent syntax error detection, recovery,

and correction system for LR(k) grammars is proposed. The requirement

is made that the reverse of the grammar involved is also LR(k). The

implications and justification for this requirement are discussed.

Given that the grammar is both LR(k) and RL(k), forward and reverse

parsers localize errors and define left and right error context pro-

viding a strong base from which error analysis may proceed. Possible

deterministic and heuristic corrective actions to follow error analysis

are presented. The definition and selection of keys from the set of

terminal symbols for the grammar which enable the reverse parser to be

engaged upon error detection are discussed.

A model of the proposed system, implemented in an XPL compiler for

a large ALGOL-like grammar, is described and the results of test

programs are exampled and discussed.

Possible extensions to the system are presented and areas requiring

further analysis are defined.

TABLE OF CONTENTS

I. INTRODUCTION 6

II. CURRENT SYSTEMS — 9

A.. IRONS 9

B... McKEEMAN 10

C. LEINI.US 10

D.. LaFRANCE 11

E. RICH 12

III.. PROPOSED SYSTEM 14

A.. LR(k) GRAMMARS 14

B.. LR(k)/RL(k) GRAMMARS — 15

tL. REVERSE PARSING 18

D. KEYS 20

E. PROCEDURE - 23

IV.. IMPLEMENTATION 29

A. THE COMPILER 29

B. GRAMMAR 31

C. SPELLING CORRECTIONS 31

D. PROCEDURE 32

E.. RESULTS 40

V. CONCLUSION 44

VI.. EXTENSIONS 46

A.. KEY DEFINITION - 46

B. ERROR EXTENSION 47

C. CLASSIC LR(k) VERSUS SLR(k) - - 47

D. STACK ACCESSIBILITY 47

3

ALGOL-E (MODIFIED) — - - 48

ERROR PROCESSING SYNTAX ANALYZER - — 54

LIST OF REFERENCES - - 71

INITIAL DISTRIBUTION LIST - 72

FORM DD 1473 - -- 73

ACKNOWLEDGEMENTS

The research for this thesis was done on an IBM 360/67 system at

the Naval Postgraduate School.

Ilwish to express my thanks to LT(jg) Robert C. Bolles for his

advice, encouragement, and guidance during work on this thesis.

I. INTRODUCTION

Most compilers and compiler writing systems have some kind of error

detection and recovery mechanisms built in. Most provide a degree of

error analysis and indicate to the user an error type and an approximate

position of the error in the input stream. Diagnostic messages range

from a reference number to full statements of suspected cause followed

by parse histories. The suspected error symbol may be flagged with a

pointer or referenced by name or both. Some error analysis systems are

even sophisticated enough to specify the error symbol exactly and state

the: correction necessary.

IF an error can be located precisely and defined without ambiguity

then it seems logical that an immediate correction should be made and

the processing allowed to continue. In general, it would seem that the

more exactly an error could be defined the more efficiently the user's

and computer's resources would be utilized.

Research indicates that despite appreciable effort, attempts to

design comprehensive error processing systems to accompany the

increasingly popular mechanical compilers, translator writer systems

(TWS), and compiler-compilers has not been very successful. The error

processing systems that do exist range from extremely simple recovery-

only schemes to fairly complex attempts at error correction.

It, is proposed that an efficient automatic syntax error processing

system for LR(k) grammars can be defined.. The system will operate as

a~ function of a grammar only, its parameters being defined by the

grammar analyzer and the grammar parsing function.

The objectives of such a system would be (1) to detect as many

syntax errors as possible. Recovery systems that simply delete code

to: seme predefined symbol do not afford the programmer maximum exposure

of his code to the analytical processes, (2) to detect errors as early

ces: possible to enable a more tenable recovery/correction scheme.

Perhaps one of the most unsettling errors are those diagnosted as "NO

PRODUCTION APPLICABLE." This type of error is generally associated

with the precedence parsers and is the case of symbols being pushed

onto the stack after having been interpretted contextually correct

locally. The error is discovered when a subsequent symbol requires a

reduction of the symbol stack and the error symbol does not fit any

production definiton, (3) to make as many viable corrections as possible

sa as to allow continuous scan for maximum error detection; only as a

last resort delete code to affect recovery, (4) to avoid generating new

syntax errors by either correcting the error or affecting a complete

recovery. The inefficiency in correcting an error (or worse, recovering

from one) only to alter the code so as to create another syntax error

isr evident, (5) to avoid passing errors into the parse stack. This

condition gives rise to the difficulties of having to "undo" emitted

code, and (6) to define errors as exactly and completely as possible

if only to provide more meaningful diagnostics should the error

correction attempt fail.

The error correcting system will be defined to operate in an XPL

compiler for LR(k) grammars whose reverse is also LR(k) and will be

capable of correcting detectable error sequences of n symbols where n

would be fixed when the compiler was constructed. For grammars meeting

this restriction, forward and reverse LR(k) parsers can be defined and

will be employed to localize errors and define error context.

7

The left context of an error is defined by normal LR(k) parsing of

the input stream. The right context is defineable by employing the

finite state machine representation of an LR(k) parser. Key symbols

that uniquely define states in the FSM are selected from the set of

terminal symbols for the grammar. When an error is detected, the next

n symbols are ignored and the input code following the error sequence

rs: scanned for a key symbol. When a key is located, the reverse parser

i's: engaged to parse back to the error sequence. The right context

thus defined, coupled with the left context provided by the forward

parser forms a base from which error analysis may commence. Error

corrections are defined by generating symbol strings of length n and

comparing them with the error sequence.

The' effectiveness of the system will be demonstrated by implement-

ing the procedure for a non-trivial ALGOL-! ike language. The system

was restricted from accessing the LR(k) parse stack. Though broad

classes of errors are correctable, this restriction defined a small

set of errors that is not easily corrected. For the event that the

error could not be corrected deterministically, the error analyzer was

defined to always heuristically select a symbol for insertion or

replacement as an attempted correction. In this situation, the analyzer

would continue to manipulate the symbol sequence between the forward

parser and the key in an attempt to achieve correct syntax but there

were cases where the resulting correction became unrealistic. Hence,

it was necessary to place a restriction on the number of heuristic

attempts that would be made to correct the error. The process was

aborted if a complete correction was not affected in this many attempts,

code was delected through the key, and forward parsing was restarted

at the symbol following the key.

8

II. CURRENT SYSTEMS

As early as 1963 the need for automatic error analysis and correc-

tion systems to be part of syntax directed compilers was recognized.

Efforts toward the accomplishment of this goal resulted in the design

of systems with capabilities ranging from simple recovery to fairly

complex recovery and correction. A sample of the spectrum may be found

in considering briefly the works of Irons, McKeeman, Leinius, LaFrance,

and Rich.

A. IRONS

Irons [5] designed a parse algorithm which was guaranteed to manipu-

late an input stream until it was syntactically correct for some defined

grammar. Briefly, the mechanism involved carrying out all possible

parses simultaneously. An error condition was defined when none of

the current parses could continue. Error recovery and correction

involved discarding the input stream from the error symbol until a

symbol was found that would be syntactically correct for one of the

existing parses. A string of symbols (including the null string) that

would permit the selected parse to continue was then generated and

inserted at the error point. Irons claimed the algorithm to be

"relatively" efficient in terms of space and time requirements.

However, it is conjectured that the algorithm would not be competitive

in terms of space and time requirements if it was used on a larger

grammar for a user-oriented language.

The algorithm accomplishes error correction but at a rather

primitive level as it operates on the \/ery simple mechanism of deleting

code rather than making any attempt to analyze the error relative to

its total environment. No attempt is made to ascertain the extent of

the error or its total local context. For example, if a missing punctua-

tion symbol following a statement constituted the error, then it is

highly probable that a correct following statement would be deleted in

the search for the punctuation mark. Automatic wholesale code deletion

such as this is a fairly severe price to pay for error correction,

particularly when program logic may be destroyed.

B. McKEEMAN

In Reference 10, McKeeman examples the simple extreme. When an

error condition occurs, the input stream is scanned for an obvious

"stop" symbol for the language; the semicolon was used in the reference.

The interim code, including the error condition, is deleted and parsing

is re-initialized at the stop symbol.

The advantages to such a system are obvious--it is easily and

efficiently implemented, it is fast, and it does not create any new

syntax errors. However, as there is no attempt to correct an error,

there is no possibility of executing. Additionally, the programmer

also loses the opportunity to have all of his code scanned for syntactic

continuity.

Example: IF. . . e1

. . .THEN IF. . . e2

. ..THEN. . .

;

Error &2 w""^ not De found in the process of deleting code between

error e-|

and the semicolon.

C. LEINIUS

Working with the LR(k) grammars, Leinius' parser constructor

defines a set of right context symbols to be used for error recovery

10

for each partial parse existing in each state of the parser [9]. Locat-

ing; a member of the set in the input stream allows the completion of a

partial parse and the resultant reduction to be made. When an error

symbol is read, a choice of recovery procedures is offered. The symbol

string may be immediately scanned for one of the currently applicable

right context symbols or the stack may be searched to determine if the

symbol just read is a right context symbol for some partial parse

existing deeper in the stack. If the stack search fails then a decision

must: be made as to the state in which scanning should commence to locate

a: right context symbol. This system is a more refined attempt at error

recovery as the right context symbol offers a more local choice than

simply scanning ahead to a stop symbol. But the system closely

parallels Irons' in that it is also possible that wholesale deletions

can take place while scanning for a required symbol. More important,

however, more syntax errors can be generated.

Example: (X + e^ (X + X))

The second left parenthesis will be deleted while scanning to the

right looking for the required "X" with which to replace the error e^

and that deletion will obviously create an additional error when the

parser attempts to read the second right parenthesis at the end of the

string.

E. LaFRANCE

LaFrance's error correction system employs groups of Floyd pro-

ductions redefining a BNF language with necessary error productions

build into the groups [8]. The error correction mechanism is based

essentially on pattern matching. For errors involving unique productions,

that is productions that require no context check, the symbol at the top

11

of the stack and/or the next input symbol are manipulated in accordance

with an ordered set of transposition, insertion, and deletion rules.

Otherwise, the applicable productions are expanded to three symbols

ahead. These triples are then compared against the next four symbols

from the input stream to find a match in a set of twenty patterns which

defines a correcting modification to the input stream. If no match is

found, the input stream is scanned until a symbol is located which will

permit completion of a partial parse and control is then passed to the

appropriate group and processing continues.

e:. RICH

Rich [11] performed some preliminary work on an error correction

system for mixed strategy parsers based on a scheme suggested by

Gries [3]. It involves using legal triples to correct an error. A

legal triple is an ordered, syntactically correct set of three terminal

symbols for the grammar. The triples would be applied to the symbol

prior to the error and the error symbol or the former and the symbol

following the error for errors restricted to single symbols. In this

manner a required deletion, replacement, insertion, or transposition

would be defined.

Rich anticipated that error correction attempts would have to be

limited and that such a system would require provisions to facilitate

recovery from an error correction that was found to be wrong. This

would entail saving all parsing information at the point of the error,

perhaps in the form of a temporary parse stack operating locally in

parallel with the main stack. More important, provisions for a means

of cancelling any code emitted during an aborted error correction could

12

be required. Rich suggested that if a correction could not be applied

then a unit of code (e.g., <STATEMENT>) would be deleted and a pseudo

statement (e.g., a diagnostic message) substituted.

13

III. PROPOSED SYSTEM

Th'e basic mechanics of the system were initially conceptualized as

involving analysis of the input string following a syntax error. This

analysis coupled with that which had preceded the error would provide a

more cohesive context in which to analyze the error thus enhance error

localization and definition and increase the probability of selecting

the most applicable correction. Error analysis in this environment

would be more definitive than schemes involving matching patterns of

terminal symbol strings or extrapolating possible inputs from the

analysis available prior to the error.

A. LR(k) GRAMMARS

The LR(k) grammars were selected as the class to which the system

would apply as they and LR(k) parsing enjoy several advantages over

simple and mixed strategy precedence (MSP) techniques: (1) the class of

LR(k) grammars includes the precedence grammars, (2) the LR(k) parse

stack provides an accessible and complete parse history to any point

during processing of the object string. This deterministic context

should permit more confident error analysis, and (3) all syntax errors

are detected in read or lookahead states in the form of "ILLEGAL SYMBOL

PAIRS," thus, the LR(k) parse stack is syntax error free.

LR.(k) parsers may be represented by a characteristic finite state

machine (CFSM) [2] which consists of two essential active states—read

and lookahead. The lookahead states are required to resolve stacking/

reduction decisions; that is, the next k symbols in the input stream

define sufficient context to resolve the local conflict. Associated with

14

each state in the FSM is a unique accessing symbol. The accessing

symbol is the terminal or nonterminal symbol from the grammar that has

caused the recognizer to enter that state. In Figure 1, the nonterminal

symbol <Block Body> is the result of a reduction made to a portion of

the symbol stream already processed onto the parse stack and is the

accessing symbol for read state 5. Read state 5 causes the next symbol

in the code stream, s-j , to be read. If s-, is the symbol END then a

transition is made to reduce state 8, if s-j is a semicolon then a

transition is made to read state 36. These two symbols then become

accessing symbols for their respective transition states. Similarly,

the symbols BEGIN, END, ... WRITEON are accessing symbols for their

respective states following read state 36. The terminal symbols that

are state accessing symbols will play a significant role in the proposed

system and will be discussed below.

The entire LR(k) parse stack is accessible and defines the complete

parse history. As LR(k) parsing is deterministic, each new state is a

unique transition from its predecessor. This deterministic trace

through the FSM as a symbol string is processed, continuously confirms

syntactic continuity as each state is entered. Therefore, it is generally

not necessary to access the entire stack to determine left context for

a specific symbol

.

B. LR(k)/RL(k) GRAMMARS

To achieve error isolation and definition of error context, the

stipulation was made that the grammar on which the error corrector

would operate must be both LR(k) and RL(k). Then the construction of

a LR(k) parser for the reverse of the grammar would enable bi-directional

15

+Jas+->

CO

O

CD

cu+->

+->

co

cu <naZ3XJCDa:

1CD+->

fO+->

CO

"O CNJ

<X3

CDa:

T

UJCO

to

COto

c\j

(/J

^J

*1

— +->

cCD-o

a;

J

CD4->

fO4->

CO <£>CO

-a

CDa;

|

a

CD+•>

(D-MCO IX)

-a(OCD

<LU

coUJCO

CO

A>>-ooCO

ooCQV

• E-^ oU i-fd 4-

10 T3rtJ

CD CDto %-s-fO CDa. c

•r—

CD CDJZ X>+J

to<+- -r-

oE

Q- 03O CDM S-

+->

(/>

CD$-

CD

CDJZ+>

U)CD+->

OcCDQ

4->

SZen

Q- OC 4->

CDx: a)

16

analysis of an error in that both forward and backwards parsers should

recognize a given error in a sentence from the language.

It was fully appreciated that the above requirement was not

insignificant. Knuth [7] discussed the LR(k)/RL(k) relation briefly by

exampling a language for which a RL(k) grammar could be constructed but

a LR(k) grammar could not, for any' k. The specific problem that he

exampled was encountered in the reverse situation in the grammar used

in the model. Given the two ALGOL-E sentential forms:

FUNCTION <ID>(<ID>,<ID> <ID>);

and

READ (<VAR>,<VAR>,...,<VAR>);

where <VAR> may be derived from <ID>, an input sequence:

READ (AAA,BBB,CCC);

is deterministic when read in a left to right manner because of the

differentiating reserved word READ, but is not LR(k) when read right

to left, because the parser cannot decide whether or not to reduce the

identifier to <VAR> until the symbol READ has been recognized. This

ambiguity was resolved in the model grammar used in this research by

changing the read list delimiters from parentheses to vertical bars.

(Two other similar changes to the grammar were required and will be

described in Section IV.)

The cost of sacrificing minor user-oriented features should not

necessarily preclude a language from more efficient processing

techniques. Involved here is the sacrifice of minor symbol ogy so as

to permit automatic error processing of the grammar. Minor modifications

of this same nature to specific grammars may enable the proposed system

17

to apply to a significant set of interesting languages. As the model

grammar is not trivial, a valid example is provided.

C. REVERSE PARSING

Error definition and correction was approached from the point of

view that they involved essentially the analysis of an error in its

environment; and that the probability of not making a mistake during

analysis was a function of the magnitude of the error environment

considered. Thus, when an error is detected, it becomes necessary to

read the input code that follows the error sequence and relate this

right context to that on the left. In this manner the error would be

localized. Pattern matching techniques, such as LaFrance's, accomplish

this condition by projecting ahead all productions applicable at the

point of error detection. This extension defines a set of all possible

correct symbol patterns that may syntactically follow the last accepted

symbol. LaFrance extrapolates all legal triples, thus, is able to

correct most single and double symbol errors and, in some cases, triple

symbol errors, particularly those involving reordering of the generated

triples.

Except in the last case, at least one of the symbols in the generated

triple was used to define the right context of the error. When one or

more of the symbols in the triple were matched by symbols in the next

four symbols from the input stream, corrections were based on the

interpretation that the error extended from the symbol at which parsing

halted to the start of the matching sequence.

It would be possible to also define right context by scanning the

input stream to the end and allowing the reverse parser to parse from

18

right to left. When the reverse parser stopped due to an error the right

context would be defined to that point. This can immediately be seen to

be a very impractical method.

A means was needed to unambiguously engage reverse parsing at some

intermediate symbol in the code stream beyond the error sequence. This

would require the ability to uniquely define a parse state for that

intermediate symbol. If a state could be so defined then, by the

nature of LR(k) parsing, the parse history prior to that state could

be inferred. Starting the reverse parser at an intermediate symbol

would, in essence, simulate having parsed from the end of the code

stream to that symbol

.

If the symbol immediately following the error sequence could be

determined and if this symbol was a FSM state accessing symbol, that

is, it defined a unique state in the FSM, then an immediate transition

to that state could be made. Associated with each read and lookahead

state is a defined set of terminal symbols any of which is syntactically

correct with respect to the accessing symbol for that state. When the

transition was made, the reverse parser would be in a position to

immediately reference the last symbol in the error sequence.

In this instance, only ordered pairs, vice triples, would be

required for pattern matching as this is all that would be required to

span the error sequence. The savings made by having to construct one

less level of a generation tree are immediately apparent.

However, an immediate extension was suggested. If the symbol

immediately following the error will define a unique reverse parse

state then it may be possible to select any terminal symbol that so

defines a state, find this symbol in the input stream, transfer to the

appropriate state, and parse back to the error.

19

D. KEYS

The determination of symbols or keys that uniquely defined a

reverse parser state was predicated on several requirements. Certain

required attributes of a key were easily defined: the key should not be

part of the error and it must appear in the code stream.

To ascertain that the keys were located outside of the error sequence

required restricting the maximum length of the error sequence to n

symbols. Then scanning for the keys would commence n symbols after the

point of error detection.

The stipulation that the key must appear required that at least two

symbols be designated keys. The first would be some symbol from the set

of terminal symbols for the grammar and, to provide for the case where

this symbol is not present in the balance of the input stream, the

second symbol would be that used by the grammar to signify end-of-file.

Also, while keys could be located well beyond the error sequence,

they should be located close enough so as to minimize the probability

of encountering a second error while parsing back to the first.

A key that would specify a state in which reverse parsing could

commence was only sufficient for reverse parsing. To provide for the

case that the error was not correctable, it was also necessary that

this key specify a state to which the forward parser could be transferred

and restarted.

If the grammar is structured, as is the model grammar, then keys

may be suggested by the delineators of the basic recursive forms. The

basic form of an ALGOL-E sentence was quickly discerned as the terminal

symbol BEGIN followed by any number of declaration Set>'s, each

delineated by a period, followed by at least one <Statement>, with

20

semicolons separating multiple <Statement>'s, followed by the terminal

symbol END. The period, semicolon, and END were considered as possible

keys.

A grammar analyzer with which to define keys was not designed;

however, a semi -mechanical analysis process was defined and applied to

the model grammar.

After excluding the symbols <Identifier>, <Number>, and <String>

from the model grammar, the intersection of terminal accessing symbols

defining read states in the two parsers was found. The set contained

only ".", ";", the set of arithmetic operators, "OR", "AND", "(", and

":" thereby eliminating END from the tentative list. Applying

intuitive arguments, the set was further reduced.

All of the symbols, less the period and semicolon, were dis-

qualified because they need not appear regularly in a code stream and

they defined illogical potential deletion units. Long strings of code

between the error sequence and the key would increase the probability

of encountering a second error thereby causing the error correction

attempt to be aborted and all code to the key to be deleted. An

illogical deletion unit would be exampled by using the reserved word

AND as a key and the attempt at error correction failed. Though it may

be possible to delete code between two AND's and preserve syntactic

continuity in the remaining code, intuitively, that deletion would

violate the basic structure of the language.

The period and semicolon appeared to have both desired attributes.

Judging from the language, both occur fairly regularly and more important,

the strings of the code between either and an error are of manageable

lengths.

21

Additionally, the left parenthesis and the add and subtract signs

defined multiple states in which the reverse parser could be started.

It would be a simple matter to scan for (say) a left parenthesis, but

it would not be readily apparent in which state the reverse parser

should be started to process code back to the error.

Though a simplistic approach, this general analysis of the grammar

suggested several variants and extensions to the definition, employment,

and effects of keys.

For example, the left parenthesis was found to be an accessing

symbol for six read states in the reverse parser, three of which were

independently unique. (The grammar analyzer employed to construct the

parser was not designed to remove redundant states in the FSM, which

it is possible to do.) As one of the prime objectives was to remain

close to the error so as to avoid second errors as much as possible, it

was seen that it could be significantly beneficial with respect to error

correction capability to assign a symbol such as the left parenthesis

as a key. The parenthesis is an often used symbol and its being

designated a key would enable, in many cases, scanning and processing

shorter strings of code. Resolution of the ambiguity created by the

multiple states defined by the key could be accomplished by providing

for variable path parsing via a system such as Irons'. That is, start

the reverse parser in each state defined by the key and allow it to

return to the error. It may be the case that an increased selection

of possible error corrections may evolve, thereby enhancing the system's

overall ability.

Secondly, only those symbols defining read states were considered

for the model; however, it could be of benefit to not restrict key

22

selection to only that case. Through grammar analysis it may be

possible and practical to define more valuable keys by considering

those terminal symbols that define lookahead and reduce states in

addition to read states.

In fact, a natural extension of the preceding discussion might be

to consider only the symbol immediately following the maximum error

sequence and allow variable path parsing back to the origin of the

error. However, in the event that error correction failed, the

problems associated with error recovery would remain to be resolved.

It would be highly probable that the sequence of code between the error

point and the key would not be a convenient string to delete. One

possible solution would be to delete code to the first available key

that did define a logical deletion unit.

Consideration of the above possibilities was doubly motivated.

First by the objective to keep keys as close to the error as practical,

and second, it was surprising to find a set of fifty terminal symbols

so severely reduced when the subset of those symbols defining read

states in both parsers was determined. It seems very likely that there

may be interesting LR(k) grammars that would be excluded from the pro-

posed system by restricting the definition of keys to those symbols

that mutually defined only read states between the two parsers.

E. PROCEDURE

When an error is detected in either a read or lookahead state,

the corrector procedure requires stepping over n symbols to insure that

the key selected is not imbedded in the error string, scanning forward

until a key is encountered, and engaging the reverse parser in the

23

state prescribed. The reverse parser is allowed to parse backwards

until it either stops at the same point at which the forward parser

stopped or is stopped due to encountering an error. If the length of

the symbol string between the two parsers is greater than n then the

restriction on error magnitude has been violated, code will be deleted

to the key and the forward parser will be restarted at the symbol

following the key. If the number of symbols between the two parsers

isiequal to k, 1<= k<=n, then symbol strings of length k are generated

from the context of either parser and, via a set of pattern matching

rules such as those defined by LaFrance, the generated strings are

compared with the error string and either symbol deletion, insertion,

replacement, and/or transposition will be defined. If k is equal to

zero then the reverse parser has returned to the symbol recognized as

an error by the forward parser. The error may be quickly resolved by

intersecting the symbol sets associated with the two parse states

thereby defining a replacement symbol. Or deletion may be defined by

determining that both parsers would be satisfied by the symbols that

follow the error relative to either parser.

In the case that the reverse parser is not in an error condition

while reading the forward parser error symbol, an insertion symbol may

be defined by intersecting the parse state symbol sets after stepping

the .reverse parser to its next read or lookahead state.

In the event that all deterministic error correction attempts fail,

it may be advantageous to heuristically select a symbol from the forward

parser symbol set to either replace or be inserted in front of the error

symbol and restart forward parsing rather than automatically proceed

with code deletion.

24

At the cost of the extra processing time required, a heuristic

attempt to correct an error would serve two purposes. It may provide

the necessary impetus to complete the correction or, even if the attempt

failed, it should define to the programmer an approach to correction

through the associated diagnostics.

Consider the case where the allowable error magnitude is one symbol

and the error is actually the omission of two symbols. For example:

X :=: Y + IF A THEN...,

where the symbols "Z;" have been omitted. The forward parser will

detect an error when it attempts to access the symbol IF and the

reverse parser will detect an error accessing the plus sign. Neither

parser may be satisfied by any deletion of adjacent errors, nor by the

transposition of any symbol pairs. Also, the intersection of the symbol

sets associated with each parser state will be empty, thus an insertion

or replacement symbol will not be deterministically defined. A

heuristic attempt to correct may be made at this point by selecting

a symbol from the forward parser symbol set for insertion in front of

the error symbol (the error symbol is the word IF for the forward

parser.)

Obviously, by inspection, a choice is available. The selection

would certainly include a number, another identifier, and a left

parenthesis. Two of these three symbols would effectively reduce the

remaining error to a single symbol and permit the deterministic processes

to re-analyze the error.

If the left parenthesis was selected then the gains are not so

obvious. On the next analysis iteration it is probable the deterministic

attempts would again fail. Heuristically, however, another symbol would

be inserted.

25

How symbols are selected from applicable sets is also variable.

Whether they are selected as they are ordered in the set or in reverse

order may be problematic. However, a means to avoid issuing a duplicate

of the previous choice would probably be required.

In the manner described and within the confines of error restric-

tions, the proposed error corrector accomplishes error detection as

early as possible and defines error processing such that the error is

not promulgated to the stack. A strong deterministic attempt will be

made to correct an error and failing that, a heuristic choice of

correction will be applied.

Two other facilities would be required to support the proposed

system: (1) an upper limit to the number of heuristically selected

corrections that would be made for any one error must be specified.

Only when this limit was reached would code be deleted, and (2)

complete communications are maintained with the programmer to insure

that, in the event error correction failed, the diagnostics would

provide a complete history of corrector action helping to isolate,

and perhaps allowing the user to quickly discern the true cause of

the error.

The case that the key symbol had been missplaced and in itself

constituted an error required consideration. No problem would arise

if a key was located in the allowable error string as this string would

not be considered when scanning for keys. If the key was erroneously

placed beyond the error string then the error restrictions would be

violated; however, the violation would not be detected until the code

sequence between the key and the following key was processed. The

corrector would not recognize an erroneous key in itself; hence,

26

correction procedures would be applied to both strings of code, that

preceding the error key and that immediately following.

The possibil ity of defining symbol strings vice single symbols as

keys to alleviate the problem of keys being in error was considered.

Again, these considerations were also motivated by the desire to place

the keys as close to the error as possible to preclude encountering

ssecond errors

.

lit. may be possible to define ordered sets of terminal symbols such

that their being located in the input stream would specify a unique

S-tart state for the reverse parser whose accessing symbol would be one

of"' the elements of the set. For example, if the string <0perator> (

<Ii!entifier> uniquely defined a reverse parser state such that the

accessing symbol was a left parenthesis, then the location of this

string following an error may preclude the requirement to scan further

for a semicolon or period. Thus, the possibility of encountering a

second error while reverse parsing would be reduced.

The above concept of keying on symbol strings may be extendable to

enable the forward parser to perceive or extrapolate symbol sets based

on the state it was in when the error was recognized and the left

context, that, if located in the code stream following the error, would

define unique start states for the reverse parser. It may be possible

to define a set or hierarchy of such strings through a complex analysis

of the forward and reverse parser interface. Continuing the example

above, for a given forward parser state there may be several contexts

in which a left parenthesis may be taken such that each uniquely

defines a reverse parser start state.

27

Not locating such strings following an error would not necessarily

constitute a second error and would require that hierarchical sets such

as these also include any "primary" keys defined for the grammar, such

as the period and semicolon previously discussed. If the forward

parser was currently parsing an <If Statements for example, and

locating the reserved word THEN would enable engaging the reverse parser;

not locating that key should not automatically constitute a second error.

That particular key may be involved directly in the detected error

sequence and scanning should continue, searching for the next defineable

key in the key set for <If Statements

28

IV. IMPLEMENTATION

For the purpose of implementation of the error recovery system

defined, considerations were restricted to those syntax errors involving

only single symbols and transposition of symbol pairs. Extensions of

the system to include errors of greater complexity and scope will be

discussed at the conclusion.

A. COMPILER

A basic model of the proposed error correction system was implemented

in an XPL compiler for ALGOL-E, a non- trivial ALGOL-! ike language (134

productions, 50 terminal symbols, 74 non- terminal symbols). A listing

of the grammar is provided in the Appendix. The model is semmantics

independent, its parameters being solely derived from the forward and

reverse parsers, i.e., parse states and associated symbol sets.

The compiler was constructed from an existing ALGOL-E compiler

employing MSP parsing [6] and an XPL skeleton compiler written by

DeRemer [1] for his SLR(k) parser. Figure 2 shows some of the detail

in the construction of the hybrid model compiler. Studies have shown

that the SLR(k) parser constructor and the resulting parser to require

significantly less space and time than the MSP parsers [2,4]. This was

also found to be the case in this application. The SLR(k) parser for

ALGOL-E required approximately 64 percent of the space required for the

MSP parser for the same grammar. This was considered significant as

the error correction technique to be implemented would require both a

forward and a reverse parser.

29

ALGOL-EMSP

COMPILER

MSPTables

Misc.Procs.

Scanner

Synthesize

MainDrivingProcs.

Main

MODELCOMPILER

Forwardand

ReverseLR(1<)

ParsingTables

Misc.Procs.

Scanner

SpellingError

Corrector

(Rich,modified)

Synthesize

Forwardand

ReferseLR(k)Parsers(modified)

Misc.

ErrorProcessorSupportProcs.

ErrorProcessor

Main

Figure 2

30

DeREMER'SSKELETON

LR(k)ParsingTables

Misc.Procs

Scanner

Synthesize

LR(k)Parser

Main

The SLR(k) parser constructor was defined and implemented by DeRemer.

The gained efficiency of his system over other basic LR(k) parser con-

structors was achieved by constructing a LR(0) parser for the grammar

then adding lookahead states only where they were needed. This approach

resulted in faster construction and reduced parser size.

B. GRAMMAR

The ALGOL-E grammar [6] was found to be not SLR(l), as was also the

case for the reverse grammar. The required changes to the grammar were

essentially minor and did not detract from or enhance the language. It

was necessary to change the delimiters in a read statement from paren-

theses to vertical bars and the ambiguity of the ALGOL assignment symbol,

:=, was resolved by defining a new terminal symbol :<Setq>, <Setq> is

transparent to the programmer as are <Identifier>, <Number>, and

<String> and is similarly assigned in procedure SCAN of the compiler.

Additionally, procedure calls were differentiated from function calls

by requiring the reserved word CALL to precede the name of the subroutine,

It was also necessary to delimit declaration Set> with periods vice

semicolons

.

C. SPELLING CORRECTIONS

Emperically, misspelled identifiers and reserved words form a signif-

icant percentage of errors; therefore, after appropriate modification,

a spelling checking system was incorporated into the compiler [11]. An

attempted error correction would fail if the reverse parser failed to

return to the point of the input stream at which the forward parser was

halted, hence, it was necessary to also enable spelling correction of

misspelled reversed words in the reverse parser. Only reserved words

31

are pertinent to the reverse parser spelling checking procedure as it

is concerned with only the syntax of identifiers, not the semantics,

i.e., spelling. The spelling checking procedures incorporated were

simplistic but demonstrative; only those errors involving one deleted

or added character, one character in error, or two adjacent characters

transposed were correctable. However, the complexity and sophistication

are easily extended if one is willing to absorb the additional cost in

terms of space and time.

D.", . PROCEDURE

The model consists of two primary procedures, ERROR_ANALYZER and

REVERSE_PARSER (Reference Figure 3). CAN_D0_WITH0UT_T0P , FP_INSTRSCT_RP,

and CHECK_CONTEXT_OF_TOP_AND_TOKEN are called from ERROR_ANALYZER to

determine if a symbol is a member of an applicable symbol set or to

determine the symbol in the intersection of the applicable symbol sets

of the forward and reverse parsers respectively. The applicable symbol

sets are those read and/or lookahead symbol sets for a particular

forward or reverse parse state. Procedures TRANSPOSE, REPLACE, DELETE,

and INSERT are called when a tentative error solution has been deter-

mined and the action implied by the procedure names is to be applied to

the symbol at the top of the stack and/or the token symbol (next symbol

to. be read) •

As in the case of spelling correction, the scope of errors was

restricted to single symbol insertion or deletion, one symbol in error,

or two adjacent symbols transposed.

Error analysis was restricted to only that symbol on the top of the

stack and/or the token symbol. This restriction was imposed to

32

FORWARDPARSER

(error case)

iSPELLINGCORRECTOR

i_

ERROR-ANALYZER

RESTARTFORWARDPARSER

Error is

Corrected

REVERSEPARSER

CAN-DO-WITHOUT-TOP

FP-INTRSCT-RP

CHECK-CONTEXT-OF-TOP-AND-TOKEN

DELETE CODE

Error is

Correctable

TRANSPOSE

REPLACE

DELETE

INSERT

Figure 3

33

preclude having to delete code that may have been emitted with the

possible reduction of the second symbol in the stack prior to detecting

the error. Further, the heuristic choice was made to first test for

the possibility of deleting the error symbol. This was to reduce the

occurrences of having to define a <Number>, <Identifer>, or <String>

should the case be that the error was caused by any one of those omis-

sions. For example, if X:=Y++Z; was the input string then one of the

operators would be deleted vice inserting either <Number> or <Identifier>

or any other expression.

For purposes of implementation, the period and semicolon were

defined as the primary keys for all cases. EOF was designated the terminal

key.. The period was used as the primary key when the syntax analyzer

was parsing declarations (reference ALGOL -E (Modified) grammar listing)

and semicolon was the primary key elsewhere.

When the forward parser is stopped by an error condition it is in

either a read or a lookahead state and either the two top symbols on

the stack or the top symbol and the lookahead symbol will constitute

an illegal symbol pair. At this point, the history of the finite state

machine for the grammar is known or may be determined directly from the

current parse state and the set of read or lookahead symbols associated

with that state. That is, given a symbol from the current applicable

set,, either the symbol will be stacked, indicating that the right part

of ' some production is one symbol more complete, or the symbol just

looked at will specify that the right part of a production has been

completely read and a corresponding reduction will be made in the stack.

The result of that reduction will in turn specify another symbol (a

production left-part) toward completing the right part of some

production entered further down in the stack.

34

If the error symbol cannot be corrected as a misspelling then the

error analyzing mechanism is engaged. Symbols are read into a symbol

stack while the input stream is scanned for a key. The reverse parser

is initiated in the state specified for the key and, operating with its

own state stack, processes the symbol stack in reverse until it is

stopped by an error that it cannot resolve as a misspelling or it

reaches the point in the code stream at which the forward parser

stopped. For example, reference Figure 4.

Figure 4(a) depicts the configuration of the forward parsing stacks

when an error (e) has been detected. The symbol e represents an error

sequence of length n or less. If NEXT_SYMBOL(SP) is <Identifier> and

is determined to be a misspelled reserved word then the correction is

made immediately and parsing resumes; otherwise, the point of progress

of the parse stack is marked (SAVE_SP, Fig 4(b)). The input stream is

read to the key and the reverse parser is started in the read state

for that key (R_STATE_STACK(RP))

.

Figure 4(c) depicts the configuration of the stacks after the

reverse parser has successfully parsed back to the error point and

error analysis and correction begins. (Note: pointers SP and SAVE_SP

have been interchanged for compiler execution considerations only.)

When forward parsing resumes after error correction, symbols through

the key are read from stack NEXT_SYMBOL. Only then does the parser

return to reading the input stream. If the error cannot be resolved or

the reverse parser is halted short of error e by additional errors then

the code from the error to the key (NEXT_SYMBOL(SAVE_SP) ) is deleted.

Figure 5 depicts various configurations the two parsers may be in

when the reverse parser has stopped. In conditions 5(i) and 5(j) the

35

SP-> — >

a

: STACK NEX

4(a)

1

SYMBOLSP-> key <R SP

SAVE SP->

'0

key

ai

ak

e

ai

.

I RP-> key

STATE_STACK NEXT_SYMBOL R_STATE_STACK

4(b)

SAVE_SP->key

ai

RP->

<R_SP-->

ak

sn

SP->s

.

Je

a.

• • •

so 1

Skey

STATE_STACK NEXT_SYMBOL R_STATE_STACK

4(c)

Figure 4

36

errors are defined to be too far apart and symbols e -| to key are

deleted and forward processing is re-initialized at the semicolon.

The conditions depicted in Figures 5(a) through 5(h) fall within the

scope-of-error restrictions imposed and error analysis may be performed.

Note that in configurations 5(a), 5(b), 5(e), and 5(f) the reverse

parser may or may not be in an error state, i.e., symbol e, may be

syntactically correct as the left context of a, .

.

For configurations 5(a) through 5(h), symbols a. , e, , e?

, and

a. are checked against the read or lookahead symbol sets for the forward

and reverse parser states so as to make an appropriate deletion, inser-

tion, or transposition. If the error cannot be so resolved then a

symbol is heuristically selected from the applicable forward parser

symbol set without reference to the reverse parser and inserted in front

of the error symboT. This heuristic- approach may be applied four times

before code will be deleted. Control is then returned to the forward

parser.

Example 1: Configuration 5(a)

Both the forward and reverse parsers are in read states after read-

ing symbol e, . Let the forward parser be in state f, and the reverse

parser be in state rk

Let fssk

be the set of symbols associated

with the forward parser read state f, and similarly, rss. represents

the symbol set for r. .

If a- is a member of fss, and a- is a member of rssk

then

delete e-, and continue normal processing.

If the reverse parser (RP) is not in an error condition then step

RP to its next read or lookahead state (rk+

, ). If the intersection of

fss^ and rssk+1

is empty then replace e-, with the intersection of

37

5(a)

5(b)

5(c)

5(d)

5(e)

5(f)

5(g)

5(h)

5(i)

50)

s !

ai

el

6J

9

ai

el

SJ

»

a.i e

le2

a.i

i

J L7

ai

el

e2

a.i

)

7a

ie

1a

.i

»

7a

ie

l

a

.

,1

j

ai

el

e2

a.i

1

7

ai el

e2

a.i

^

V

ai

el

a,i

e2

ai

»

J LV

ai

el

9J

e2

3

J L

Figure 5

38

fssk

and rss^ (if this intersection is also empty then replace e-,

with a symbol from fss. ) and continue processing; otherwise, insert the

intersectionof fss^ and rssk+

-, in front of e-, and continue. (Note:

That the reverse parser may not be in an error condition when it reads

the symbol causing the error for the forward parser is very pertinent

to the error analysis process. If it is the case that it is not in

error then the initial assumption is that a symbol is missing in front

of the error symbol. With that assumption made, a symbol that is

syntactically correct for both parsers is required for insertion in

front of the error symbol. This is accomplished by stepping the reverse

parser to its next read or lookahead state, which ever occurs first.

The insertion symbol is then taken from the intersection of the symbol

sets associated with the two parse states.)

Otherwise, (RP is in an error condition), replace e-. with the inter-

section of the FP and RP read state symbol sets if that intersection is

not empty (if that intersection is empty then insert a symbol from fss^ )

and continue processing.

Example 2: Configuration 5(d)

Both of the parsers are in error conditions, the forward parser (FP)

is in read state f^ and RP is in lookahead state rk

. Again, let

fss^ and rss^ be the symbol sets for the respective parse states.

If e2

is a member of fssk

and e-, is a member of rssk

then

transpose e-, and e2

and continue processing.

If the intersection of the two symbol sets is not empty then

replace e-j with a symbol from fss^ , delete e2

, and continue.

If e2

is a member of fssk

then delete e-, and continue.

39

Otherwise (attempt the last resort), replace e-, with a symbol from

fss. and continue processing.

E. RESULTS

Figure 6 examples some of the results of the error correcting system

described. Generally, the system recognized a broad class of single

symbol errors of insertion and omission and double symbol transposition

errors. However, there was one small, well-defined class of error that

though recognized, could not be corrected while retaining the imposed

restriction of not modifying the parse stack below the top symbol to

achieve an error solution.

For those constructs in which a statement was started with a

reserved word followed by an identifier, the omission of the reserved

word was not detected until the symbol following the identifier was read

as it is syntactically correct for statements to also start with an

identifier. In this instance, the true error point was two symbols from

the top of the parse stack when the error condition was recognized.

In the case where the reserved word was not omitted but merely

grossly misspelled such that the symbol was interpretted as an

identifier, the error condition arose when the following identifier was

read. In this instance the true error point was one down from the top

of the stack.

For both situations, the omission and misspelling of the reserved

word, by the time the error was discovered, the identifier following

the error had already been reduced and associated code emitted.

For the class of error conditions that was processed correctly,

most conditions were corrected in a logical manner; logical in the sense

40

oz.

oo

<-

O.:

a.

s:

oO-

LU.

I

_L

o.

o.

oin• f

COCOtt

II

Oo_J-

o

CMr»o>

Z.

<oo

LU

-J<X'

<Xo

OA>lo<CcTCiCOO

<X<Q-|-_l_l<luQ

_J<>-o<OiX

JOO>-00

00 IOO

LU

<uo

Q

LULU

LUCO

OLUCO

oz

LUooZ

to

-Ji-

zo

cC<to

<c\l

OLUa:oroo

LUZ

ZO

M >--J <

CCZ CCo <

>-

co

aLUo<_i

a.LUcC

UL SO >LU <r cC

oOCT

a

LU>c£LU00LUcC

QLU

It I

o_

00

»;-

zo

oUJa:ccOo•K-

iu

h- accc z

xoLL

OX<_>

LU

CL

oo

o

o

zZ>

co

o

o<_lCLLUa:

to

CM

LUz

z t

OhO

= cc

>-> Z X>-LLco

-JLO

l_ +z:ooS Xo

OLUzh-hCL

o>-<oJOQ.LUa:

*

zoo

co

LU

Ozz

h-S I-.—»—

<

E Z>Of

oZlui-Hct:

h-OLUQ_ILUmuDO

CCto Qlto—ZCO

o OH o.-h

LU2:

zo

oXoLU

CD

LUO2-

-Jr

Za

o

+

oz<

ao

zLULU

LUCO

Ah-LU00V

oZ

LUz

zo

oa:H-XoLL

CO

oLU

o< •

Q.CLU •

d<oo

Z _Jh-OOILC£H- t-

X_J

u_<

oocc-LL1(-

U-X-hJ—h- IzxLU|—O I

•-hXI—

orLU*—

I— LUhhCC CXQilu oo^:00 00

OZCNJOro

n0

LU

Z

o

LU

>-CO

oLUO<_JQ.LUcx

3

o(XoIS

UJ>o£LUO0LUCC

UJ

JO_)>lu<tCl.cC00 lo00t-nOs:<

LU* CC

to—Zr\jOrn

LU

z

LUz z

UJ

oz

oz

3

zLU

LUCO

O

Cti

LUooZ

ZO

QC co<CQ<Z X

a.Q_Jz<<

ClfNj<LU ••

CC

Z LU

Z-Jluq:lu<3:Xl-OUJ

CO

o

E ><

OcsiZcO

H- II

CC ••

LU00<ZXI—lQ_

* -if <

Z ZvOO Olt\

CO

Uiz

z<o -

r xCL

O-Jz<

LU-JLULUH-Om

or

OO

ro

oLUa:CCoo

o

Lursj

CCCC—OOvf

•)(

o

LU<MCCCC—OOLTi

#

OIJJ

a:ccoo)!

oLUa:a:oo-:«•

-K

I—o

IU-HCCCC

•aoo

o

LUr-t

CCCCoor-

n-

oLUCCccoo•K-

^5-

o

LUr-4

a:ar

Ooco

o

LU-HCCcc—OOOto

CO

LU

o

Aat~LU00V

co

o

o<t_JaLUo£

if-

}f

zo

oLU0C"

oc:

oo

K-

M-

•M-

OUJ

LU

(NJ

OLU\-

OLUh-LUOOOUJ<o

CODCcCo<ceoCCLU II

OOUJ

0_lHH<T>>LUCC-J0l<

<zo<

• LUCOLUa:_i H-LUO- »-00

iL<-< II r-\

Ml/lOV- > II

ZU.I<»Lucxa:Q>-CO<>Hl>-= Xoo _JU)UJLU<

<< >_ (VJJCiOUU21LLULU—acZ cvJr»i

QiocccCLU

LO

CD

OH-8-

to

to

41

a:

aor:

orUJ

OO3 ror~* A> or

o LU LUi—

»

CNJ

or:

Ll_

LU i—

1

t—

(

z 1- 1-»—

1

LU oo z_l z < LU

Qz _J i—

i

Dz •

V•

e o ••- A u_ COUJ LU ro or t-H oh- r o r-< ui •

•—

«

A< >—• • * ma: aco LU D_ LO3: i—

i

r-( i— o-: z t—

i

A • ••

s r-t I—

1

LU<WO _J Z

>-Ci

^ro

co

COo LLI LU VLU LU O 3 •«

z Z z r or: z O CO _l ro< —

<

1

a o t —

<

_J _l OS". O V ^r O ii

5 z s z o oo z Z <z A H-H A c o LU< o a LU C?r OO or —I o z:lu E -£ 1— or LU CD t >—

4

(X e E mP LU <z h—

1

V • H• z O e CO Q.LU LL • O

LU Q UJ V X M A h- r-< *r •

Z X 5 ..i.1—

<

e LUH- 1- Q t-H o inUJ H LU_I OO z. < LU o i-H

LU g > U-JOi o O-'LU uj-:it LU X z _J2 CD 3< z LUO orr X I—

<

t—

<

o UJh- > KX <r X t—

4

LL -J •zLU CO e LUO LU CD VOV • o^-<CD z CD e or: or. o H- z t LU_J

e LU LU Lf\ < • t LUO » Ooo CM H-s M X = O 5 LUO orz-j z o r~ uz• *> • «. M H- A< _JLU t 9 '—' '—

• CD < 5 cr o> LUOr ^ e e ••> r co o hhqC OO <_JV o • •>D rH \-

II or: z IO I—

<

Q. ; E 3 LUOOO II o o«. o< —

1

2S z KH ^.^ t* o<z«« z z zo 00 CC _lO O eg 2i—

<

t-H -hlo >—

4

O Q.. O o 1

1

1- Zr-( LU1— LA o o l-O D_ LUa- or: CDQoO 3 t—

I

n IU o:oroTV <r <3LU or:> OO I-.-H q: 5"LU>—

i

CO 1— ii ^ LUOLU _i —J "-i LU< z << LU >-H- LU LU 3 3oroo< a. Q--J oo or < ua oooor • JO -> orZl- LU UJa: ZCO or. .« O o LU< h- LLI CD • -".UJ«-H_J or: or< »—

«

h-Q _J_J z _J»— U_ < LL OO Z OluLU X LL Z O 1—

1

<LU X O ;ZO <to.'Q

w-ft -ft O -ir »-i ft LU or: co 00 ooa h- IU -X- »•!J-Jl—

1

LILULLI#—

"

-ft -ft

-ft~"~

-ft^

~

OS or. LU 00 _"<r Oslh-t- or>h-

ar>- < -JOO h- --H|~< LUOzm z zo^ Zsf ZN oroo a. _I<LU 3 ^1- z II •— _l LU00LUoo o oo O-H a—

i

LU >—>'.200 O •}t CM o<cor'-< or h-—

«

<

mH w-

1

—1 1—

<

_J a or CD ji- f—

1

—< i-:2Q. UJO LU

h- i— h- h- h- Q< or m < < i-< y 3wOo

o o

o

O

ZO < or a. LU— OOLUOLU,-| LU LU<—

<

LU>—

LU-H Ouj 3 o > so LU -JO OOOOI—or OT ar or: or: o_i D. or _i a: 3 or t>i-H OcT ooCC— OT QC or:

or:

U.I—1 o or < or 00 OTr-ILLLL oro<O a O O a 00 1—i ll LU >—

<

o LU O i—l o <or—

i

Oc\j o O'n o<J- OLn i— OO o-o o II LU Oar.-< r~i H i-i -ft LU * or 1—

1

1—OO LUUJft ft & * ft •ft X X < it- 4(- ft oroz O X•ft •ft ft -ft -ft ft (- # O- K ft ft CLOLU r—ICNJI

coo>

42

that the corrections made were those that a human reader would be

expected to make. A few configurations were made syntactically correct

but not in the logical sense defined above.

Example: FOR A := PETS 1 1 UNTIL...

PETS, not recognized as a misspelling of STEP, was interpretted as

an identifier resulting in the first "1" being replaced by STEP.

For the case of self-embedding symbol pairs such as BEGIN... END and

(...), the omission or duplication of the leading or left symbol

resulted in the deletion or insertion of the right symbol at a later

point in the input stream. At first brush, this particular correction

may seem fairly gross but the delection/insertion points were syntactically

defined without regard for what ever the programmer's intended logic may

have been.

For those errors that the system could not correct, the history of

the attempts at solution prior to abandoning the error and deleting code

and a definition of the last error encountered by the reverse parser

were made available to the programmer, thereby fairly isolating the

error and defining the inability to make a correction.

The time involved in correcting errors averaged about 0.015 seconds

per error for the programs tested.

43

V. CONCLUSIONS

The syntax error correcting procedure proposed in this thesis is a

viable system. While costs in terms of time and space are involved,

its effects on a user's code are considerably more attractive than those

of popular recovery systems employing automatic deletion of code to some

stop symbol. Whereas the proposed system was defined to be grammar

independent, the working model implemented was semi-automatic, using

predefined start states for the reverse and forward parsers. It is

recognized that these crossover points are significant with respect to

fully automating the error correction process; however, they are the

only points in the model that are language dependent. The correction

procedures themselves are language independent; their only parameters

are parse states and associated symbol sets defined by the parser

constructor.

The power in the procedure is attibutable to the LR(k) parsing

employed. Errors are examined in a very* large context provided by the

two disjoint state stacks of the forward and reverse parsers. Through

LR(k) parsing, syntax errors are detected as the input stream is read

and are precluded from the symbol stack.

The model demonstrates that the proposed system detects and deter-

ministically corrects' a large class of errors thereby affording the

programmer maximum exposure of his code to the analytical processes.

A strong heuristic attempt to correct is provided for those cases that

the error cannot be resolved deterministically . Should error correction

fail entirely, the system provides a good diagnosis and all residue of

44

the error is removed, thereby insuring against generating or cascading

syntax errors through the remainder of the input stream.

45

VI. EXTENSIONS

The error correction system described in this thesis indicates

several areas where worthwhile extensions can be made and where further

analysis is necessary.

A. KEY DEFINITION

As keys seem to lend themselves to empirical definition then it

would seem logical that they may be analytically defined as the grammar

to which they belong is being analyzed. An analyzer capable of defining

a set of valid keys should also enable automating the error corrector

by associating keys with states for both parsers and providing an auto-

matic link to a key and the engagement of the error analyzing system

from any state in the parser when a syntax error is detected. It may be

feasible and practical to define a hierarchy of keys so that it would

not be required to go beyond a minimum distance past the outer limit

of the allowable error sequence. This would serve to minimize the

likelihood of encountering another error thereby causing the corrector

to abort.

It may also be of value to define a grammar analyzer capable of

recognizing hierarchies of key symbols and symbol strings and associat-

ing these sets with unique parser states such that, for a given senten-

tial form, dedicated keys are available to minimize the key-to-error

distance and increase the probability that a key itself does not

constitute an error.

46

B. ERROR EXTENSION

The current implementation severely restricts errors to single

symbols except in the case of adjacent symbol transposition. A logical

extension would be to extend the limits to provide for multiple symbol

errors.. This would require either predefining and storing the legal

symbol strings or defining a symbol string generator to be called as

required.

C. CLASSIC LR(k) VERSUS SLR(k)

The classic LR(k) parser stops whenever it encounters an error

symbol in either a read or lookahead state. The parser employed in the

model defaults to the next read state in the event that the lookahead

symbol is not a member of the symbol set associated with a particular

lookahead state. That is, a successful lookahead defines a stack

reduction, otherwise the decision is to stack (read) the lookahead

symbol via the next logical read state. Only after the symbol is read

is it determined that it is an error symbol or not. It would be

advantageous to be able to stop the parser in a lookahead state rather

than in the next read state so as to keep the symbol preceding the

error readily accessible at the top of the stack and available to

participate in error analysis.

D. STACK ACCESSIBILITY

As inconvenient as it may be, there are constructs in the grammar

such that their containing errors is undetectable until the point where

correction is needed is in the stack. More analysis is needed to weigh

the costs of incorporating a means of accessing the stack and, if

necessary, deleting and regenerating code against the desire to and

benefits of being able to correct this type error.

47

oLU

QO

uu

I

-Joo

1X1

CO

zA oD —i

z f-uu <

a:^ <o _JO o_J LUCQ o AV V ZA A OD Z LU

< —

»

CO

A UJ O Vi^ X LUO coO V V-J o —CQ o II

V -j • •

CO MII V• • A• • II

• • <A • • LUs; X< AaL ^ ^o oo oa: _J _ja. CO COV V V

o

<a:<_joLUoV

—• Z A

LULU COCO

2:II O• t •—

«

• • 1—

<A a:Z <•—

«

_JOLU LUco aV V

Azot—

I

<<oLUOV

LUCO

zo

A ~<a:<oLUQV

QZLU

A>-

DA OLU

>-

ooco

oO_JCO

V

AQZLU

OoCQV

co

uo_JCDV

zLU51LU

<I—COV

A>QO

A CO

ZIUs:LUI-<I—CO

V

A>-

OoCO

oo_)COV

oo_JCOV

LU

2:LU

A <

LU

LU

<

LU

LU

COV

CO

LU-JQ.51

CO CO

VLU1—

<

V

zLU

<CO

zLU2;2O1—

1

coco<V

AH-ZLU

SILU\-

<co

LU_Ja.

coV

AOo_JcoV

A

LUI-<I—CO

OHau_v

A»-ZLU

LU LU

<CO

LU

Xv

A

2:UJ

l—<co

a<cLUa:V

A

LU

LU

CO

LUf-»—

4

ar3:V

A AzLU

LLI

CO

LUCO<oV

<oLU

a:X)QLUOOa:a.v

-j<oIJJ

oc

X)oLUooa.

LU_ja.

<

COV

48

A A2: Sa: QiLU LUH- K

A V VA + 1

Z ••

CD A At-4 A Z Z00 z o o00 o f—

t

»—

1

A A A LU ft—

1

OO 00oc H K oC 00 LU 00 ooLU Ql a: a OO A 00 LU LU—

<

*. < < X LU Z _l c£ OCLL a. CL LU DC o 1X1 D. a.

A t—

<

A V Q. 1—

t

X XZ h- oC h- K X oo A LU LUa 2 LU X X A LU OO Z»—

i

A LU —( o O O V LU o O CJH- z Q LU H-

«

i—

*

< a: 1—

1

i—i —

<

A < o »—i —

i

a: DC A LU A A a. 00 f- h-z a: »—

<

V t- V V LU X a Z X OO LU LU A AA a < I— Z _J < a LU LU £ s: s: IEZ -H _i < A LU A A CD 1— LU »—

i

V DC X X ct: OCO K o DC Q Q LU A LU < Q_ X OO Q- h~ H LU LUi—

< LU < < t—

i

_J z _J »-H i—

«

V 00 A X —i H-

1

\~ H-\- a: a _l LU V m a CD a: DC \- LU Z LU A a: a: V V< < o X < —

i

< < o A a DC o V z. < <roC _j s: LU A —

<

00 —

<

> 00 oc —I a. t—1 OC V V i +< a < Q _l Q ac 00 DC CD LU DC X oo A LU-J LU a: <f < < LU < Q z> i—

i

LJ LU O0 UJ l~o a o a o LU > c£ > LU 00 LL 00 LU oo VLU o a; o X V Q_ V h- V i—

«

CD O a: =3 — — »— —Q >- ac < _l X A Q. K x> —t a. < II

< a. 3: V _l II LU A DC ft—

1

II •7~ 00 t- X -J • •

LU oc; CD a: < • • V a LU a: • * LU V LU LU O • •

_J DC Z> O II o • t K- ft—

4

o • • Q sa < OO LU •• Q A LU li- 00 i—

i

X a. LU As: V V V • • 1 _l- - _i A a oo ft—* ao A V 1- »—

<

M ZH-» < V 1- h- V h- z> LU — t-t V V ooo A o z LU z ^0 -J II DC *—i

V Z o LU 00 LU V CD tt < II 00— —

-

— o -J s: V a < • • V • • o^tl 1—

1

— LU —

<—» —i — f t LU• t H- It H II V DC A II DC•

a:

• • < 14

• • ii

—>

Q<

• t

• t

AZ

a.X

A < 00 • LU a LU

Z _j A A • • Q X A —iO o Q H- H- LU z 00 o»—

I

LU < Z oc A 1- h~ a 00 —

«

h- Q LU LU < LU Dl a. >—

«

LU 1-

< X 3T o. _l i—I —

«

OO DC LUa: LU Z CO DC c£ 00 a. SI< _J -J o h- < u O LU X X-J Q. < »—

1

X t—

«

00 oo DC LU H-o s: o 00 o DC CO CD a. i—

i

LU —

i

o 00 —I < z> Z> X LU orQ 00 _J < oC > oo 00 LU —< <V V V V V V V V V V V

A>DC<

OCQ.

V

As:a:LU

V

49

ASiaLUJH-

AZ. Z< OUJ A -4

-J > 00a a: 00

~* <2:

LUCC

A V •—

1

a.Z CC X

""* a •» a: O- LU

VA 00 —

.

A z «-»

1- 00 z A <I AZ UJ A a Z LU A Z

A UJ cC Z »—

4

O _J Z O1- 2: A a. O CO 1—4 a a •—»

Z UJ cC X 1—

1

OO 00 —4 1-UJ H- UJ UJ 00 UJ 00 A CD 00 <21 < H-4 V 00 cC UJ > V A 00 _JUJ 1— «"-» LL UJ CL cC a: Z LU LU

-J A 00 t—

1

A CC X CL < a a CC CCLU -J A h- O CL LU A X 2: z 4—4 o_ V

_J 1— z Z Z X V S LU 1—

< 00 X> < Z UJ »—

1

UJ CC a. 00 LU Acc O UJ —4 a a V A LU z A CL A LU Z< 2: 00 —

< O K- < >- 2" CC z O5: Z z 00 V UJ A y UJ CC z cC O. < k-H

>—1 A O UJ X O *—* *—

4

Z -J < < UJ X LU 00

A A c£ A a: <—

1

1—4 a: _j Z a < 21 LU 1— LU _l 00>- > A CL UJ UJ i— 00 CL _i _i —

4

A < LU a >~4 _J O LUcC ar H- V _J £ O 00 X < _i O a: LU —I CD QC a z _) O CC< < Z CQ 21 z < UJ < < LU X a V CL a < < CD CL

2: SI LL) » < Z> x> V V O UJ 1—

4

CD LU O V X1—

<

1—

<

51 I—

4

<£. LL 11 V X LL —1 QJ z V _J 1—4 LUa: a: UJ A cC V V — <— M t—

1

_l V < a O «-« Va. a. _l >- < • _j _i 1- < — LU 1— aV V UJ cC > -j _i z 11 _J CD _i II

< V A < < UJ V • • O z V V • •

# v. > 21>—

1

II

— —— — — _J_J V

Q—4

• t OCD 11

~

* •

aA A < cC • • < 11 V A V • t A LU21 2T 21 Q_ »• l_> • • II

— Z — — t * Z _Ja: or —

!

V • • • • II O II a OOuu UJ CC A UJ • • • • t—

4

• t A t-H OO

K- H 0. 1- a: A * t 00 • • >- OO _l

V V VII

• •

• •

A>cC<2:

ora.V

zUJ

2:UJ_lUJ

>cC<2;1—

1

cCQ.V

Z>aUJ

ljaQ-

UJ—ICL211—

«

00V

•J_J<UUJct:

=3aUJ

ccaV

A_l_J

<OZaK—

1

H-OZZ>LL

V

A

1—

t

a<LUX_l

<V

00LUcCQ_XUJ

Z<UJ

-J

CQV

ASTCCUJh-

Z<LU_JOOCDV

CC<£.

1—4

CCa—

z<UJ-J

CDV

00UJCC0lXLU

_l<OHO_JV

II

• t

• •

AZOt—

4

I—<_JUJCCV

50

zUJ

A h-

A A CC 00H- t—

»

V *•

00 A < *->•

t—

i

CC o. t A-J t—

1

< o AACC

CCLU

cC Q- z o UJ —i>—

i

*- 3 z A —

(

LL< Q o 1—

1

O A LL i—i

o_ A Z3

COV

Az

z CCLU

1—

ZQ UJ o o UJ A Q A A t—

4

Z «»—

»

UJz A >—

<

CD A M X O < Z OO LL LU o3 cc LL V Q O0 z UJ a s: *—

4

o A —1

o UJ M < 00 s: t—

1

X —i < A A H- t—

t

cC V£30 —I H A UJ UJ < Q H a: O CO Z V LU

V LL z Q X CC CC < UJ O < o s: LU »—

<

At—

i

UJ < O. o UJ CC z a CC < a A U_ oA »- Q UJ CC X o X 3 13 Oj a. a: t—i D t—

i

<H- z t—

(

X >—

<

UJ cc Q LL Z < V < 1— LUoo UJ V <I V a. z UJ o 00 a. UJ z Xi—

i

D CC a. CO o o O0 l—H OO Oj z X LU—I H-t A —

1

• • 3 t—

o 00 1— LU o o a •p>

V Q < a 00 h- cc UJ o -J a —

<

y i—

i

o>- < a. z A A V o Q. _J z s cC 1- a V r—

'

< A UJ 3 Q z z V IE! 3 < CL o —

t

h-cc D X a o z a II 3 < LL or V z h- z OCC < z CO 3 »—

i

• • u_ CC V < X) O D z< UJ > 3 V O 00 • • V < O- LL z >—

1

3V X < o CO 00 — CL V D 1- U.

a: co UJ A II V — II LL o VII >- cC V V CC cc Z t • —

II • t V z• • < >- < — uu o_ a • • II «• • • Z)

-J O O Oi •• cC < V II II 3 X •—* • • « t II LLor UJ UJ 1— cc- cC • • • c o UJ h- A • t A tl —UJ Z O O A < cC • • • • _J V < O A Z • t II

z V < V cd z A O a • •

o — A A II < (—1 O z >—

i

A • •

«

n II 1— a II t • -J a z (—1 H 00— — _ — >~ • • « • 00 < tt • • <_> < 1—

1

a o s: A< • t • • t—

i

UJ • • UJ UJ a <T z < acC _l X A Q X < LU 3 cC << A A A a UJ X LL < LU_J h- a CC CC CC z 2; 2! X D- Xu 00 < —

1

-H —4 3 < < LU o0 ojUJ t—

i

UJ < < < o CC C£ z CC 00 z zQ _J X Q. a. Q_ co

O oa 3

aLU_l

a o—

1

>- > >- Q o Q a: a: CC 1— LU 5! i— h-< < < Z z Z UJ a. CL o o < o Oa: cc cc 3 3 3 3 co CO z o or z za: c<: CC o O o o 3 3 3 a: < x> D< < < CO CO CO _J 00 00 LL 0. a LL LLV V V V V V V V V V V V V V

51

zLUSLLU\-<00

oQVALUOO

<x

A A oCC DCLU IU _J4—4 A 4—4 4—4

« ACC

LLt—

<

CCLU

LL»—

«

zA LU 1- —4 K 3CC t—

t

Z LL Z VLU LU LU 1—4 LU A4—4 k-4 Q h- a h- A

*"* LL.

—4 A1-

VzLU

—4

VZLU

ALU

Zo

A H- LU LU a s A Z OO 4—4

(V 2! cC a A 4—

«

A LU Z LU -J OOLU w LU 3 •—

i

a V O 1- a 2! LU OO>—* D A Q V < < < 4—4 LU z UJ

A LL A —« z LU LU A LU h- 00 A K A LU cC Aa: M oC V a O A X a X oO OO 5»C < \- X Q. h-LU H LU —! a Q < LU LU o H- Z H X Zt—

4

Z 4—

4

A i— cC < z o U! CC o a CC o OO LU LU LULL LU LL a o CL LU a z X 3 a Q a. _J LL V s: A s:M o —

< z: X 4—1 3~ Q CC V X CQ O A LU Z CL LU

\r- t—

1

\- LU 3 a H LL o LU Q. UJ V A h- H o LU Hz V Z X LL o£ U o a O A A a. z: < 4—4 1— <LU LU < 2 z: O CC a a LU z A Z 3 LU K OO OO 1—

O A a LU a 3 3 3 CC O- CC CC oo < O a O 51 oo 00 V OOi—

i

O »—

CC cc a: LL LL < Q. < 3 LU z •—I OC LU V LU

V < V 3 < O 3 Q s < _J 4—4 oo CD h- QC A H-LU a 3 u_ Q a CC CC Q OC _J a a OO < A o_ LU Z

LU X LU LU CC V cc a: O < CC Q O o < LU LU t- UJ X OO LUcc CC O a < < LL 3 < LL co LU CC A OO 00 OO LU 3 5!

3 LU 3 a LL 3 2 V DC 3 V LU V X Q_ a. _l V 3 < ZD cC Q cc V CC a: o CC _J X 3 IU < z _J oLU 3 LU a. — a a LL a 4—4 A LU LLI O A _J < O 4—4

O Q O V II LL LL V LL X LU OO V CC LL LU o UJ 00

O LU O «* V — — 3 _i < O 4-H OO _J CC 00cc o a: • • n II II V 4—1 o LU V 3 LL o o <a. O Q. II • t • • • • X V OO LL < 4—4 o LL V

cC — A • • i i • 14 • • II 3 < 4—4 -J V CO Vti Q. II 2: • • • • V II o V O V QC»* V t» a A A A tt *• — II II o• • •* —

»

A a LU Q II • • II II LL U_ • t LLII h- Z < CC < A • • LU * • • • 4—4 • • —4 • •

A •<• A < a LU 3 LU H- *•• • -J A • • 1

1

V II

O »• Q a: —

i

X a X 2T >—

1

1— A II A • t

a < <r h- LU LU A X z A A II CL •t H • •

OC A LU _] O o o o s LU 3 LU <J> h- • t 3 •t Za. 00 X u 2! z o a LU OO SL Z Z • t a LU A

s: LU 3 3 CC oc 1- 3 .11 LU 4—4 UJ cC A jr LUoO < LU Q LL LL Cl Q. < < #•< I— Q s A o LU LU OOoo a; a: V- -J • t

'

< < LU CL oO H 3LU < 3 Q a a Q Q 00 O 1— LU h- 3 LU 3 < <_J a. a CC CC CC QC OC A OO X < O OO < 1— _Jj: to LU < < < < < LU UJ LU l~ DC _l _J OO O< u o 3 3 2 3 3 -J _) _J LU LU oo o LU OOC a o CC CC a: CC CC -4 (—4 k-H OO OO cc OC< a: cC a o o o o X X X < < LL LL LL LL o OQ- a. Q. LL LL LL LL LL 3 —J* 3 o o I—

4

4—" 4—

<

4—4 LL LL

V V V V V V V V V V V V V V V V V V V

52

AzO

Azo—*

ootoUJCCa.xu.i

VAa.UJi-</>

v

AatotoUJa:a.XUJ

CLtu

t-ooV

A

A uj

Z 2LO ujt—

<

k—to <to t-UJ OOa:Q. UJX _JUJ CL

v s:

toV

3II

a.UJ AJ- UJto 00

DII <

A -Ja. »-i

UJ I—h~ Zto z>V V

aa

Ah-

UJ

UJI—<I—to

Oav

AUJ—ien<C-4

>VAa<UJXQ<UJ

cCV

UJs:UJy—<i—to

Q<UJccv

AUJ_lco<cc<>VAa<UJXQ<UJCCVII Q

.. <

.. LUCC

A —

AQ<UJXa<LU

cCV

AQ—itooOUJCCCLXUJVAO<

ccISV

Ah-ZUJs:UJ

<00

UJ

cc3:V

AO

I—tovAQ<UJX

UJ cC

v-, V

totoUJccCLXLU

J<V

AQ<LUX

UJ UJ

CC

VzaUJ

— LU cc

CC

AO<LUXUJ

cc

V

Azo—

*

totoUJccQ_XUJVAa<UJxUJh-»—»

cC

A

C£h-tOVAQ<LU

X

AzototoUJcCCLXUJ

CD

<VAQ<LUX

LU IU

cC cC-js. sv v

AzoI—

I

totoUJCCCLXUJVCD<

AZa—

<

toooUJCCCLX

CD<V

53

fr

a:LUtsl

X<

00

ozt—

<

00oo111

ooa:a.

ofOofofa>

«s* of* o az ^Of LUt—

4

* of O200 LU a •»'

aof o 4r- • -

*v —»<x OfLU - LL'

* h-a.oLU>

OofOfOofu.

LU LUOOofOfi^

• * Of LU LULU ^:-_j h-^f Of Of CO LU II

o LU o LU a II

< h-*f o< of ai LU y-

h- <o >—

4

OQ- OOZ ZooO0

00 COof>a

LL>-LUh-

_JUJ<rx

UJ 1

^•4-LU OfO CQ LLI— OcoX oooo Of LU LLI s 1- 1

K v. r>uj UJZ %h- OO-ft l~tf 0>- 1—4 l< ^J-UJ -t •»

LL 4-4< oJLL UJH- ^»-H CQ »

O >t- LU h-oo OfLU 1" --.

00 LUOO OO < S h-00 i—it—

«

«N 00

a. Z Of z H-Qf •}{••• —1 •"" •"

o O 0-O •"HZ OOUJ — Q_< II Q. •-»

h- »—« 2; —ILU OO OOLL •• Of CL

h- ZH -JX Of of = ^-X i-ts: *— ofLL O i—

»

LU3 LU< LL-J— I- >- i<f wX LU H a. OOO. 0<U. 1-4 II 00 O bfh- Of h-a: OOO Of LLi-4 Z t <r o

*•». Of Qi< LU <> r k-Xi-4 5Z 1—

h- <IU * O «ih- Oh- q_lu h-H«a >-- 00 h"> o h-oO Zof of II 2S •> OO

100

o 00 LU >-iUJ p* > —* o 1LU

1

cc— o o LUOf O0O0 o UjoJ 4-H O0< •-.>- h- LU

<o z Of ofz UJ Of —'—< 1 » _J < h-

w

of —

1

<-. X Q —1 LL -J h- <h-_J < -J -!f- D. 1—

1

U52 « — -4- < •• 00 h-Z< LU _J *-*»•. ILU u_ 4>H LL Sl- # >Qf- 1

00UJt—

I

z • •* LU ^ Of CO o O >~< -:'r "*v —J LULU Of 1

SL\~ »—

i

Of o_ 4T> •"» LU :s# co^ -'h-O ofUJ""H _j LU O0 ofO-— CM X LL^v * <•— of II

1

m ^.

-rJZ"- 1 h- t«» Oh- i~< •"CL » ! i 1 ^ —*z •> Of —IH- :*tofUJ*-"!^>Q O Of . "».—

4

u_ •— -^.00 s0U_ HQ •-—

.

LU a IX—< < o— OO _lh--0 r-t o a - «--•—4-^0 1— Q-Z <LUO0

LU— LU of LLvD WM OO'—"r—t •- w— wS-» - h-O— i-i(~lDf LU L- -lOJa: < i—

1

LUC0CO— r-1 i~z:_j oc--._ia'— _j _lh-

o

Of <h- —<<? x O— -- l_J {/t'f I—

n

>—.uj<r «_i~><Tti 1—l<T •^ II— >- tl—

>

»-— i—4O0 O UJt— —<< o>-— 1-4 00 aD^f 1—4 »-J''— >-ioO<(-i * ZNfUJ_JLUO)_J

OHH"-- O0"-< COi— i—

i

oo:Zco OH-.'—.-lh-Zi—l— . Li :O of -J of U(— t—

• i1—

1

— 300 -.(-h" 00 IJJ ». Ol~ i-4COrQ'CT (—4 1—1>— •—

4

• ^ <l •» '<O of< >CDZLU o ^ J— 1—t (—

(

LU' y:-.CL <r 1*!•— i—'Z* |i—iZ •Oh- iOfU. of -JOO i-4h- OO woo•-ZZ _j * (Dinuo MJJV— | 1

— »—4 LUZ •—

<

O-jt~O0>-lUUJ.— Ul—lH— < •-3I UJ <t LL1 CO •—4

i—

*

COV \— LO !—c£5: i—i LU •—1 Ol—

4

_J | |_Jh-fOO.|—

<

• • ZtfV—I—,-. -JLUX < ICvJD^ X3 is:— crn_2f~< — < LU LU _J i-1

1Iif •—'Of

of »-<tna:oo.O •> CO Of i-i ,-»^—, t—

*

4— '

—'udh ><—'corcoi-t Of Of of< —ILL.— -JUJLU Ot\j'— .-»S < |u_ a. >-* — C£ »HTi^. *.|H-OfO—-,i_ *- r^L-* luca of h~ i«f h-M CL—

!

h-l—

>

i—i UJ oo-..*-^ <— lOQ-i—O 1\—?tk |—>i— >- "Xi

h-U ILL'JLU<|:. J LU—>- a£i"-•Of I— oo of. of2 IH-t— >CG<—KJ!Qf 1cuu_nf •—

• |o0i—( 1— CJ 1—'•—

i-iLLUJl— L-h-<0 1

_J aotC'<H <rou' LLIi—'i—

i

— 1-1

UJ coc/^ (— ro<xu_co _IC0CQi—i-<rooh->< oo<r KO0Z >LLirf >a^ca I— fOOLU^t-CO •• Of Of 1— LU

1 l-JHz H OO UJO< -;:- •—

i

f- l> I C Of oo ..—a. ofwo 11 1 1—4—• 1yjof 1|W

<..» # oo-st IN •>:- ajh-oo—4C\J s.-Qonu<u.nuu.'Q ^LUCOI s: I|i- 1

•*XI Ul 1

MJ N. | |UJ— r^ -x || 1 1 1

|l— o-iH-h-^fOf *.-CL I<J. 1—4 1—4 O h- 1— Of h- 5?: h- h- UJ

_JOf LU UJX "^> LU> •+- h- 5^'*< <r<x.c:of |>-<-0 | 1X1— ooofof<rx |<i<t—<0 LUh-h-h- 00 LL'I— T" a. lu uj IJJVCOI— *><— (— 1— LUOOt— (CLL'Jh-iIJJ UJ 1 1 J h- IU'jO h~ h- UJoo C^<< J Of<S oovO'/i of oo |o0C_ U000 | |U_ |Q-S Z> LL _J oo ooo*: Z of OO CO —1mU! <l— h- -^ •-•C <HD 1— LSJUJ < 1

-4 laf I ir-fcoo'O |LU <t |LU -;; zzlu >^ 1|LU

h-O _JO)oO^.'***** —IOOCj «-»OLCx. -J—"'— CX.~» Of Of *- Of—

1

:fh-X%0 "V—<*-4Qf Of - cca:ooo O o o«tof LU LU LUh-o.Z>oo

o o o

54

UJ •~X> =tf-

CLC£ t

00|— — UJW» — K t».

S ||«— <C ^»-

>- r-« 1- v>

OOO + 00 •i

tzr o. aS(ffH 00 » UJ

Ol- »-» — »-UJ 2: Q. <t—_j > 00 *v z *««

Uj oo •-»•it-

t—4 XQ 1 id X

< >c o a: *<v» o < 3 UJ ^-4 •«

C •* — h- Q i- 1

in — oO _l o_oin m

1UJ z: o {\.< •».

ZCNJ m UJ CD o H- UJ—t—

t

z H- »—

i

^—--^ ••*

1- II < ^ t- UJ <Uj—UJ o 1- * cC < > tr-l

_J— z • * 00- UJ _j < oo<rujUJO- t—

1

• .—

»

o i—i O0 h-HOi^ 1- UJ CO < a. v; QOO<

*W« UJ x> MB cc s: * < H-fi _J _j CC «—* •> y- o ic «•* • 9s UJO300*-o UJ \- CL— o ^ UJ CC ct:

CD Q 00 Cl ijj r> uj:*: =22! II ~-oo Q^ • •* _j K-O <U_o> -;;- *:— D •> • »-2 < o<r u.r-.00 •»c o o^ Q 3: cluj > -cri- UJ= U. t «

H- 1 z: <o tu o OMi I- Cl^OO 1——u_ -Ol- Z ¥—I H-< (_>• _l l-O CC'^L < <d:uux o H~ 001— a u. t~ UJCC XUJ H<I*-*aruj —I LU too CC a: a. car> •«ooo OOLU<ccz. 1- _l UJ | a. UJ sill >ii— — a. a: -J

o o UJ l-UJ > UJ "OIL! co< 00 | |• •*

o UJ o <H- z o 1 ZZCC 00 0OQ. -.LULUZ 21•» o^ •* l-< —

*

Cl UJ sis: oict:uj 11 >-#=fc CC?t 00 H- id..-. II 00 ^ II z U- • "•« OQI 00

* 1 o i« oo o Uh >— O LU •« ».Q.—"VU-LLh- 1

- Q (join y ~ UJ <Jl—

1

^Z-—1 I 1 -X Q-Q 1

>-" LiUJJ wO a.- CC>- CCiC\ a: 00 \~ 1 LU vOO CLH- arm*'— cacQ^n 51<_ltt <CM >oi.- 3 00 u. XLOCD II 00 HXS^ |o —

N o_h: c1 _J<00— o h-(MS — U- t—< 1j> 5:"s:^ —K- I'l -JUJ- CO )( UJ | «-> — >u_ LU <= >>-

f_ I.I 1 (V m il 1 <f <y. ** V f">_i O-J00 n_xo 5: 1—U-OOOOA • f> •

Z»UJ || > a:~ i>-i- a:_J ZD 1 oo>—1 1Q^-«».iy^u_>—« O • •»

cl<:»— v~<:—

i

UJ LU _J l-i ••« << I-.0JI— ^-LLO 1— a.o_ !-•>>— 00|— OOi•-OO'" > 1— C -JCQ • ^ ^-» a I

O0X.X -J !U i-ODUj: SI •

z>— _IQ- + hO< "« - u_ o:>-uj O 71 •• OHHI- 11 11 00 —o— 1

—iiua:— vO + *-*o <oo2r cc ••or. cu < Il s: II— »

HD--CL UJLUvO ^-) CC |c 1

>~:o:o. < — OHV^5>• •*• o 1/0 UJ CO b-'S\ — o_ oo It— • >-L!h LU UJEO-oO >>-X K O —» » 'I/O » •w* 1- |—OJ 1— moo a:z: UJXQ, OOCQ

I CC oca UJOO'.OI— X> 00 —m X>«— _J <UJ_J~- H-* in

i o:uj ooujo1 CC* -

1Dt-v II H~ I IO 0_ 51

- UJ_J- O 1— h- _J ro r\J ii UJ D.ZIK 1— 1! IJU2'C 01—0 <Q.O_2: h- O- ZCL- LUCD oo<r o • • O UJ 1 x z<tz WOHUJh- LU X> 11 00

»—

i

1- z * TT If-LUCO UJ C "-VS. _ii— > a.'• -LLJ—^"0< OCOl— 1— 00ZLU_J O • * 21II -JCL- * I— oo a. s: H- <'JJ O0 _i lu "^ozaxtrt C—Q< U100 - 1DO

•oo ii _joo X •^i^- < LUO^CL <Q QiOUJ2 OOO X IX CDH-U-X-JU-O 7T. 0-) II

i-z lh- 1LU^I— CO h- cr:

-'•U)izruj CJf-D •«* r OH- UjLLI>— L/)_JOO Q.UJ 1y>>—1|—iumq 1JJS • »*

DO LJJ35Zi— Z 1 1 1 V) la UJOO 12) ooni -JZ3 CC 11 1DOCL 1-Ql.OX OOLUl— CjLLIU. x_io ;ZlL _j<j:u_<icl < Zoof- = UJI— LU UJU.H-X UJ ZUhil— LUC 1JJi—

*

UJ'> "(_) »» 1 t—41jjs:

X>- _JX> = 2* a£oo<UJ ct: <o CCLJo- ujo- O l-Z < la: z: LULL!» D- - _J oO

oUJa

_j

oUJo

oor>a.

LU<CC

55

cCUJ00

ur-oo

V< < *- —. 5:

CL1

*—t

<zr_i

l

>•00

a! o3 +-*z00

00CC r-* 2:

UJ —

»

1— US UJ 00 ct:

X •—

1

•«• luct: h- — 1 X)»~r

UJ~»o:ooujC0OQCH-

<1—

UJ ••- •

If—4— UJa. h- — U-UJ o-) •. CO *fc QdUJ <t z h- t~LL — < 1 1

i- t- LU -•ooZO CO t— 00 Z00 •*•* 00 X 0—i*-t <LULU "*« k-Qi UJ

m1 f- I- UJt—

H

1— <*:O0 X% ca «— CCUJO. tJi<< 1—

*

—1 1—

'

K• « 1 _j m KSIm 1— »- ro |00?fc

_j —.UJ 1 UJ>-|— C£ ^Soooo CcU- |-»

=3 3£J~ tc 11 0000 oJ —

+

.

00O QU_ kr r LLOO o< * II — cd •_>

00 UJ|— 11 • #t •-_]>—iCQ oo<_Joo *: 1 K-00 H-00 r —

»

LU *5< X> oiiu LUC. h- la; 00UJ < 1

• •» I—

<

a. IO 00 UJQ-2Th-X •••UJQ »-H

\r~CL -» —~ — >- OOLU • 00 1—

<

<roo -^00 a: + _J(/)w % r-l LU h- ai-Joo> o:Z \- - O | 1

Z) lu I1-

100 cc <L -< O- 00 ^fc LT\< + >- 3C

00 •• c£U LU t < LU U-UJZ cx a; I•—•—J >

1~ ~»

3

K * r h- \~ ••OOOc^ CL <LU.-»r- 12 II 00O UJ G-OO <-.Q. 00 < % ccz> Lua^ ••-JH-o>-Ha: 1

zscl O 1 v-%ni 1 I— cz:<i-zoo lu >-<-iC0 II M CC-*# >- Q-LU 00 k- LU (/) ... OOOQ-LUOJu «-(— ^CC—00 1— lu |LU^ "Z. H U.H-. c£.—1 UJ Ui <i H-. •>)—..-x II

oi 1 or? C£h-(_> z> C£CL 00|— UJ 1_>l— 1— 1— •—< 1——» •—

< LU H-0 —

«

<<<i»O0 a; —u OO LU <_> UJ<t 00 00 U J

!

X>LU% "• ""»

O-UJt— |LU t->— t— GlU U-3— ui lu cC 00 1 u o; 1— fV't/l OO |«»«3fc

lh-<. ^a: cciooo;;Lloi i£ C£OOLL_JOO OO C^ LU •>«-. I0O-, |^0*

UJ<K-1 1

< 1|UJ 1 OO X)«:>lucv:oj « 00 ?M^1< U- "?i. OO •-f-

00 (—00 cCcC h-Of'UJ CC < OLUUJ 1-U «tLU Di I •-.J 00 \oC rvlto•aloo 1 00—— V. II t—

\

lui— q:oi— O-Jl^ <r 00 >- |~- 00 OO >—i

ujuj cc 1«-1 II

••> |n*;<r II >( r 00 # uz Zcr o_ai »-a:uJLL*- t *•O—

1

• •• a:x— v. V.CO »-',..1

QhQZ'—<<szz OOX »~_iOOK- x»-o Duj_iuj.!'- ClLU -"r _iCC(/).-IUJ LULU cc zee 3>—'•—

<

X - •>!— C0>— L«i 51CO oa: oo^ciii— *fr |_l |

1— UJQ-r-O a. lu< 3 uj c£ p—^ .2: uj< h-< o>-2: lu q:<-!-- < •>r cc |ct: + < ui>-<rz x Hionao 1 •oof—a l— •*• K 00

uscdo^ II |~ *»v ci 1— <f— h- "-"I—a UJt—LLU_U_CQOOC II

H •- 00 00 II lu»~<oo U |00O_ •• OC^C Ul »•<<(— |i— 3: u_a:

h-UJZju

da.co a. |

Q.U_<Q •••Cul—LU "^n X

+ _j i

II \~

XLU |CL

(— CtUJ0-LU<.CCZZO-'K-<a:i—

2T oOO_J-JoOQUJII QO 2"S. •-X OHfNjm II QUI—

CL< Da: ft LU 1>•>)!- ^HH.Ij .^"N,,)— || 00 i-soaj LL1 <a:uj uQ UJ ••>

»-a: • •UJ •• 1T"ZDf1- II ZC\ 00 UCiU-SIiZDI— 1— l— H-a: 1— UJ \s> » V* C3>- OJHZ !r Q XZ'kU O 12: !«:« OOUJ UJ CG LU LU UJ LU <l LUCiQK 00 zD ZJX^SQILUSQ-)Q QlLU««^v; |^- 0:1— '.u' :SIOOOOOO'jO—1 00 u QQ LUO f-H<UJ< 00 f-LUXoO>- U III II

z Q.UZO zu.a: ZOKM'00 LU <UJ a. <

LU

00^

LUi~ioO«~azUJ

1

CL-*U-^

a _J3:>-Q

56

to </>

CC |

LU 2CD —5T >O2: —2

—a:Q cCZ3z l~h-< Q-UJ

2 —a:• •» LU •• CC

~z x 00 <clut LU •»•— —

'

h" >00r-II — % 2 _J-if- r —

.

Iuj 2iu

r-4 r-i* n: Da:.. r-i

I ~X M Z>

,-l3£ .-lai %iO0 I— •-

— I -^X I•« LU-»

• »>s cC • T-Kts) c£—» 00 cCal-"• X *- •> X^ O I—moio .i>: -^ w 1 2 2a.•>. » -^ % ... r-LU J-t^ uj—•

-» . rooj | «~» H- QHJ I>oo^t •» lu r %->- "-I— I—

X

w— |.. — —.(_ ,-< |cq a: 00 •« •—

'

H-K-LU—* UU>- 'HLU »• UJ OO—» hioouof-o *-.+~.cr.'* -Hi— t— f-u-oco 2!_«_>-,». |— h- »•—

.

• * -— >-UJ ^ ^jOi-"— LU2_i_Jcnt— ooooh-o (/>••• r-<cQoo«- -5S- < i— f— Dd:

I I»-00 -•i-iLU— _IQ w .- (o o£LUOO>—1 >-0

ssi-w _j_jooi— < •= (~<r ^ ooffi 1—^^uu >v I I |00 v. 2|— UJ_J2 ^1— * X_J2 •— 11 ti-J

Vs 000000 I -Si- 2"Tr<r.—

<

){- >-< r^uJoo |o< •}:- 2 tJ<rcDoo—. c£

# I I is:' >>_j_j 2:00 |a:o • Lb >< lawcccc<t>~ 0000 1 1 d:jou<"- t— 2:00 —

« .-.zi— 12—•--joo r-\ «^«-fy:M <\j iu<«—w_jlulu roLua: q:jd o_2uj

o cc —I

cc *-> hza w-t— a: h- I1—< •**- l^»

•~X I LUc£ LU .X IU-J00 LU hi I

LLi> LU<K- Q-Cy.'ZOJ 1— -i!

LU Moo V- 00 XOO h- 00 *5.:i/) KS3Z O0|—O —-UJOLbO00 h-^z < r*->-Z < a: r~->--- uj <oooo lui—mxcjOo:<- CD II coa: <_) O II coa: o Olu 11 cgolX o a: en -< 1- hh 5;

2

lu 2;O I— II—O I- II —ID l-h II —Xl- LUH- Z>_JOLL>-t-<c0>-

»• =# Oil— •- * Q<t— •« 1% CIO") • "> 002 O U! 00 Qj 21 O0O-Jr >- |*XLU O-ic 2 FfcXlU O-K- 0*; | ftX O J« <5 «-• LUOOCljX »—3 |

>v- lu r-ooi \ lu |ooct: v. lu Io'jo ^o i 020:1— I— o-)2ii2: II »— or 2 II t— Cd 2 II llf-Qi 2 oo oojoo-X oCC >-XU_ Ct >-XLL CC- >XLL CC -it LU CCZ>LJ LU II II

ZJ*-- ocaoo»-H .».x>.« ocooO'-H '-d*- oocjoo'-t •••^•••v, a.i— ULtzh-a •- Of-O ••> ChG ••> DHO LUO<^ 00^)LU2 OO 2UJ2 OO 2LU2! OO . 2LU2 -5! OTl-<ll | I*OiLU DD LLIGTUJ QQ LUQiLU DO LU CC LU • •>>>. •« ~J ZZ\

o s; oooz >}:- UJ IU-LLLLI.« OOV. Q2 >-"-h«»O I o2 ^ 2LU O LU

57

az • •»

< —»

-

M

...

CM

1

»w

" oc >CO— a.— >w m

• —

.

—I m • «.

— —

a »~.

oo !-»«• co — UJ CW#- Kfc s: — 00 t-t

J— en 1 >- _i p-l

t—

<

h-a 00 \ —

»

<- V • — r-l

CD Oct—

<

••»1 ft QL

1— .u_ •M- rH

HV^OO 5IO —

»

X 0% UJ \•^<

* 1 >- 1 CM UJ _J — 1 00 r zZ 00 UJ 1 Z a SO _J.- "» UJ

l> DC CO >al LU ^fc oJX(\J •- ^< 1— II 5; oo<

1 h-la: 000 O > lo UJ OO 2^

OCUJ — »*^ 00 * 1 3 u_ >^hH > .—i OLD CC 00 • ^ OO*:au X 1

-7 > \- ^0 UJ —1

< t-H en a < •• 5(fc Z) enOct: - ... u_ V- -^ —00 z *-» •

1 1 xz<r 5 o h- c£. O H 00<x UJ II — » —

»

z>. L-A en r- -o OZ _J UJ s — \- •—

»

z —

,

r-« Z»-< —

»

a 00 •*UJ|- h- H + en 11 % —l> HH_J f-( CO en CD- -xOCUJ Uj ^-^fc«4 3 |UJ

a: 00 1"S UJ 2f r-t OOl— OOHoOCO < h- =f*UJO0

t— - cz Di>>- t— • •> CH'JJ —2: UJ U_i-w II UJ K— —

1

OQ oo •-I— Krt z-— 02 hUJO(/10^ll— 1— CO en cc>-<t• * UJ 00 "au. •—<vO <M mI< < »~hU_I XODLL~t-x zr .—I—- t- —

i

_I_J cot— ID<UJ< cc 00 z OO ••

C\J<»-< <- \> II X ••>w O a. _)o: —1 |" • 14 ai —*Z1 a. DC cnx UJ —COI- LUZ «-h- -^<^ "•» X %cn

OiOO 1 1—•—•-^*^_ 2: « O'O h-UJCL 1— —I x> * h- •" 13>~_1— »—a.u_rM >Qca LLIOOIU UJ —

1 ->OOI-ac> )( —

1 0)LU -ft = 00 00 00 -\~ 00 ^-. mu_ujo | -ft— > Qi.f..* MS it - ••> ULCt'S s r •—-»>—< LL O -00 en

«-»s:u_ r\»x»»i 1 -oo h*<>- S »-o< SOCC 00 «_• 51—l>- Z 1

»— -^, Or-» | —100 z—

>

a: 0. >-H » » «^> 1— "»s >UJU.'v,0CO0 »- OaCU-cvj'- IZ -0. 1 CO—00 l-ac 00—--. ^» 1- OO .^^ 00 -J 00-::-

1- (M mH- 1>CC UlUJt-H ~ 1O.LUQ IJJ — |-5»fc en cc mUj — UJ-J

Oi£ | h-a it a: XI— II s h-oC |— "*»—4 •* — roac 00 h—

^

Is- < —JO') cn<uj—uc: o— h- —'O -ft OS — uj5:;< en -CO Of H |_JO IH r-t

UJ<h IUS>ClLL— — oo LLI> 11 S cnLLsr tiJr Q X— 00 s:< OO |.»u.'i— o. oi>- f— _jc\j r—O C^OO >^. DS or > Uj^-.O0_I

l«.->-U_UJ <LL'UJ

3o0 oCt/>U-oC O I'-U UJ ID Ct I^OOvi c UJ XO *•a Oeaoo 00 II —I3O0Q t- C 1 < •"COCclOO en-.X o*->a: | 'JJ<'J_ en •~" "^t CO < z< — cn<UJOOf-4 o*: >>s:i-c iz>ct:t—

1

O^-h- "h U-O 12: LUO II alO ^tUJI—Uuu |

cnoi

"1!" — ii

>-ooII 00— 00U2

Ql— U_ >Q -UJ

UIO. •»# —>oO— OC- 5! 1 <

000 ••UJ >- ••« CO- Z>

11 o-llh:-

li-UJ>-Zh- co en >:•0.-<fv|rO|- *> f—

0.0.0.- . •> _ H—t-a< cji— - —a 11 _j s O<C0|— UJ oocn-v >—3^l/)w Cir-trNiXCLiOC moo co a >-V-\- r-\- XoO < 11 cocni—Z 1 i ii 1-

1 M-J^Tf— OCO ! 11 11 sr—uj • •OOUJUJUJUJ UJ— U- XU-J• •<£UU oa.'cnz>- 2:1x1 >-arcn cc oocyn-Ooouj ZLU O 1-

' •» ••* oocn ••>

ujcncni-i— — i— I— OO >-cni-i— ooh- UJU- CC 00 •— QQ • — Cjoot—<33 cio.au |# ••'/X03 |o-i; co>—* < II < 00 2:2: Oil Za jaa <—— 1—>. ID JQ.CL 1—— V^ 2T -J O OO UJU-I O.-1 UJo OHK >cncnoox O U!-K- X<X UJ Svr# uj33 ii << Iuj <;; uj33 lu< 5:4:- UJ >oZSDCQ >>> JSDOO Z>^«> t^ OOQ< O O KDC z UJ z UJ

K UJ 0. UJ 00

58

oLUO-colua:

ozUJ

•K-

<

O."» 1—1 —X H o ••> h-=tfc

1

.-H Hh a<

< -*LU X

UJoo

oo HZ H-3 h- ctC£ wUI •—

1

oo o _Joo r x COZ t

«

UJ Z ^ ow h- LU o a: i-i C\| co

1

cd zUJ q. a: >-

a • ff* s:^. H- CO •»> a lu oo

a;

1

LU3

> 1

00 a" -O a. »«t—

(

1

CD21 o

a: a: «-X CDZ 00 H- oo • ». >,'< LU <t~ CO +<t *^-» <X 3 —

«

v, s: UJ+ 1 - < a: < _J r-

<

1• •- X

z^ *—* ^»Q- LU h- a. <v ta^ i— o << a: l^% LUO CO u0

1-;;- h- t»> LU «£_ *:

3 1 ai- SL UJ a. »—i ^-> 00 LU oh 1— II LU • »• 3 LU DC 00 CD o

UJ (— LU . OLL s: 1Z II II _l

ai cc =&>-00 LUO 1UJ LU « ##•

|CO_J O \~ • ^ \- •- ^ UJ X -5 LU a.^y a: »•< Ooo LU *-^ t •* UJZD O a. 3 U-

t

«

UJ X--LL. QC2! 00 r-t*-» _ltU2- H >- UJ a: •»

^-> X oo* ao O LUXLU 1 i— <S)Z — H 1—>£ h- \Z t-H

II + - Dh O 1 -JIU-—Z ZCO1 toa H % z. u_ UJIXUJZ .»,UJ»-

OO <—

»

•«-c^3 *v ..< -5 a l~~. •*• < —

«

h- la: *>«. — a'H-a: o — oot— -;;- 2tf ZOOOO •*Oh 1

LU ,0, ^-j^._ 3 ^;. coa:»~<oo —

C0>— LU LU3 LU -CC ^ *a: a. a •*C\J-. 1 h- w-3cow H- -mal ^O • •> t*»XQ-00 •—<i—i<t O 3--» LU Q. UJ UJ f-Oh- OO 2!_J V- 0-< _>-<.,,'1— OO • . K 1— Ooo ii a.oo3a O- t—( «-* ••>

cc l-H »V. >- CD LU z HLL CO< *-S*r CL + 001

LU.— >•—

a

o CDU-'-ttOO<I _j ••>!:- 00<ToOV^LL. 1^ *. -- *- UJUJ I O0 Ul LL. oi-xh aTH 1— O 1—

I

H ILL! —'h- —J-A i_ *N OO Hi~i3oooo — a.cx o Oi—< . I'jj • •>1

uj a< »—to 2IO0 a: |lu LU %< ZO'v,M CtOLL UJOO

1 acOZLLCO II o_ 1— a:a x z: =1

>-_jc\j x< h- < * CO + I— O-OO o— h- O- uj s: oo 3 3UJ001—• r-a oo< 00 _J •>!r>< |00 O0*- <a ••> ••^X — Xr-tuj-: i

1 O oco •£_; ••>?

<• - |U_LU |LU ha Q.3 —»Q. nza. _JUJCl_U.UJ KH+2 LU X iu>i«;d:^Lucca oo II r£3Luoouj OOQ-OoO <ar CLCOOOOOt— • 1 0. |—h- h- o uj |'un oja: z< •^•QloO co |— •—•CL ***—- oo:

Iujs: |_j^ Q.ILUOOOI— LU f-H OSILI- •

13 II Q^U =JfeLU(— <IJJ 21 |a: oar h-H- CJiU)UJ<0 Oa — ujlu_j 2 ct: i— |<i<art- 3 II- <_>OOLU LL<C i

LUoJ OZ 51 1— LLO t->- li a:ooo•1LI .. | a.<>-?t-—

St- LU>-2 <t SI O>ZC0C0 «J00UI_J (LU1 |i— uj cno LUO cd alno t— ujo:--:; o 1 1 < -1Z uj_jo:i_ik_jZ^ H ILUCO II H OOO oo ol 1

000^ >—3^» h- h-oO < LU3< H- 1—< LU UJ Cf.O DIUX2 -J1

••2^<H oo< it COCcH LU x^a.«--S_QlOZ O00C3LU O— ^LU*-" II

.r. <z <a— r-LL XUJ w 00 LUOLL \r- mO h-X X i-s: o u_< -J3 O II

(_3 1—i .».•*. ooc£ "S h-LU UJ|—1

LL. LUO h-lLU II -•o .- O |t-LU II

«*H OO ••>1

f~\ ZIOcCUJH .-Q.A ••>—•'• VC 1—

<

DfToOl— ••< cz CuLUOl II %oo 5^2: OLL z .»(. OUI- <oo OIL o o IS < |LUOLL ZcC-ii u_a:< 1*DO lulu Qh -

I_u •»> »-x O _l mQ -•OLIJOUJtt |_Jcx'ooO'- < LUDS | _J<LU |

o 1 O II II (/) 00>x OO h- a o H-az *-A LU LL. U. _J _J OUJU.U, UJ uj-j: luo>xLU 9 *> ov. o>-< hh >—it—( LU LU ••> |Ghhm a:*- CO^OOCOOOo UJ O z o s:—* X z. < z UJLU O LU o UJ 2:

59

a Qz 2UJ v.-

K-

UJ.

**

KI- oj

00 LLI

UJ z UJ 1 i<i-

_l 1—

t

-J LU §#»••» O"CO t—

1

> • - sf ro »-«c o LL. < O 1

H-t i- a 00 II 11 v. >-'

cc LU ll «• 2:Mi < o a OO s:< > o II

r

z<

<<r<- lu uj ar D

z _i UJ CXQiO 1

cc < • r> «-» ex. CC 1 lac CC

x> CO i—

t

ex. 00 1 UJUIQT1— a 00 LU CCcCUJ II

UJ _i + «-» X CC 00cc o

00• *•

X O Ka LLU.XLL UJLLlf- Ol

z < H- t_5 CO t-* LU COcOt—

00UJ —

.

h- s: 2 CO 1 13 1lr>

X • • X !*"« >- 00 •»| !ULU CC O

K- o t-H 3 00 —

ZLU V-V-Z w_ z>» z u_ 00

1•» 1 IU 1— << CC _l UJ

«

*--ii •K-ttfl —

i

1 t— CC II X<I* •« it OO 3fc D X LU 1— h- OOoOl— **• co • fli

1 * * DC h- UJ OOQ. O02T I|UJ r-l SL UJ »•>

CC -fc * < II Z DioOUJ |lu or.ci.cC > 002X # Jr a. D <I LJarX - "^

100 -J'uU

oo * a: H- 1 00 a o3 Q.UJ »— »»(—*• ?t_J »;1 <t±c

•• # UJ * UJ-v H- >U.% 1|h_< a 1— u_o

*

* 00 tt 00-,c t-H Z -H 0<0 M0O0OI— i/) X i^-

% * or it a: X UJ s cc 00 uj 00 s: or":ct: 2 X 1 UJ ii 1

1 »r < *- UJ t—

t

X LU < C^LUOOoOlD cC z >-

UJ •}< a. if > • u_ h- 00 3 II 0O0O »• »• a: HSi- tt -* UJ •

1 cu •• •- %5fcQi < II IS> # UJ 7T cc • % LU II oa— =tt II 1 IO LU tflt HDCO * oo >,(• cC _l r •• LLOOO- LULU • OO a. UJ LUQ

•"» # CC tt UJ t—

t

1- |OOLU-^|— (— • 1/3 00 00 1

** K UJ * -K OT • • LL —0 U.UJ |i— a < <r • CC l_l luck:

% # > )t •^a: f-» a ClO o>uj<oov-h- < Dix< CC1 # UJ tt < UJ 00 • <> t— 1^)00 UJ LULL II

OO * CC X o_ + B •« — no 1— O0<Xo0UI z Xu_ K- if- •-

1 1-4 II -J r<r 1—

1

00 Occc^-v. —

t

• #. h- II 2.,.-.oo "^ K •}>- LULU a ... O ILI ••> 5- II ^-c/o" »• •• ••> _J r-l lUr-HfL»-» # # Jf ZJIS) oo+—

Q

CU—.Qir-H 1—

<

_J fOO—-^ -» Q.CNJ X u->

UJ tt * cCcC 1 0_< ^CL 1 _jc\-CJ'-'—-oo «-uj < + C- 1-4 1

_J tt * * * •!! .»)— LU UJO-OOUJ i••>>00Q + OOCCO-J'— ~-O-0_ —

.

H OlCD

5*^. UJ > > oo «^ cf t-i w, *— 7Z 5;—o^vroo>- >z.'a.u-'uj r-tCX.—

<X CC II LU < -J 1|-J<a UJ >-^CQL.JU 1— u icx>oo la: -J

1—1 => a: OO II ^:.»ooos:<r< 1 ox <ruj 1- O

1 ex. Oo co 2: xai | 0:0, IO-I— h-AUJ <H II oOc LU II CD< u_ UJZUJ II

1

3LSl<O.tU5:00Qi <00— 1— O-)0/)O0 1— UJ 00 2;-J 1 UhN z </)> to') 21> ZD 2; XOO | | |Q-< a: (Ma. 11 uja >»— CC Ooo»-< LUD- MX I OOQ. II II LU H—uiujooh- lec • •-. a: a: 00UJ UJ ctar_i X oo cC |oo CC LU a. ZUJXHK |00 H Q.Q 1

h- cq Q_<< r- 1 H-Zj ._jH-_JO- •- oo*-< h-uj<<a: | ^:- u. 1 CtO."-LL !—>- s: a.—" CC XO_ II -<X-JOOC

!LL<zri— 1— cc ^00 • n C,_ .^><;

CD UJ Ir- 00 • HJJ X UJ <l \z LU >~i\— OOu")LU—

«

ujoll z aui•* "Z. »»! 1 1—* i.- 1 (DZ-iaszuocuj • *~^> •• O'JLL I

|_JUJ clO t-i UJUJDZc£ OVl^OQ. .^|_J -J00 Cj<X |»— CC CC •—< 00 «. 00X * «£.L£»—

IO u_< p XoOU •'CC x< Ou. _J00 <»Vi mUJ ll ocC-iLUf-iOa^Q LU 1- t— - LU UJ30 Q»- 1 LUa oo> iy> »-i 00 00

U-Z ccuj-;? clll _i >t 3 2: -J JOG-.UJ .- <tCC^CC>-< i

a.jj VvOO •-t LU UJQQ

2I

LU CC

60

aX zLU UJ

» »

»

ro^ • ••

*-• 11 •—

»

>_IIL

1—

I

II CO•-

1

»-» •* Q_1—1

1

<—LUt—

»

* 0_ ai— ^."3, 00

1LULU 00 <—

V ••. 01 Xa:>-< 1—

— — oCO-J 00——

*

.

Qi K-u. | H-t-4 < LULU LUoO

oj 1

Q-> II COH-

K <_J— to • r OdLUt— H- 1

>-«1

i»i OH- 00 00 LUMi — q: a:< | Ih-a K- —

ii c£L\-CC 0C<£z. oo a: LUOO \~

»»>LU 1—4 < —1 III II 00

t-i _J -v > i—

i

Q_c£ 1

1•« <*-•

1Qiw.% oc:

1 » «J- o a. «: 1 <— > x 00 Z1UJ LU II

Q-r-H 00 » 1—

1

1 LIJOOI— al00 1 • _l a: X < K*

It a: • _l _ \~ Oj(— LU |

a; s LU _j 00 C£LUQ- II Q a. a O-O | ai-

II 00 — r Z 00 CD a: LL<H UJ 1 2T II II LU|—

Q-QC:*: »**—

*

S c >- * CD 00co— H— Cl ac 00 —.*-.—»

1 1

|_JLU%00 Q a 1 00C0Q. LUctOCOl- 1 1

lu;Z2 1- •" *-aC 1—cd<luo: _JLU | X ^ rm'mt <rs:i—(-— jii^ LU h~4*—1 V^ h- ••

'•>-Ul<J LUh-LU Z — ^»<_) 00—

»

r-i'S) |t-0'i««Q_ c£ — 1— 1—

<

KXlaloOcDCoOh- 2J O0 00H- CtuC

41 l;fr*ZOO z:*: LU >—i^-iLO W

X \— Ct >- LU f-< <JJOX^ -J-l 1"^

Q-LUa:-^OO X CJLULUO 1 |UJ 3fcCJOl2:<:* 1

iMllh LULL.!— l<H II-'-a; Oh~ | 1— \—<x. 00 h-

II II OOOXr-tO II Qi <<H- QiOOlaciu u_ II o KK-oO 00 1

D-ZQ Ix f z 0O00 | IUCTLLKai ^u_'i^A ••

1 la: I—^lu LU«—<l_J^ a CCtX. .«<

• •>

axLU

•«

aLU_j

QX<X

•»•*

QOK zz

LULUOO

t * • •

»-»«-^—

• %*-%*-^

1 1 1

% C'LULU1 Ihh

LU oo<<rh- hi-< —0000h- % 1 1

00 \CXLcC

1LU«-'*-

'a: • •>>— L1JUJ

LU

Q OZ I-LU I

* 13Q

I

O •••a:

LU •»• *-00 — 00 11

3 =?t «-

I f-_if— iu «-0 Mil- ^>>l— h-O I— coco -;t xlu r co<<Z. <. ~Z- w-l— --h «-|— I—

K- — >- < 1-4— t/>o0•• .-UO ^=*iOQ LU*-h- i-**

I I

LU —. t -5c I I C£<IoO — IO -J00 ^fca: a:<»*Lur^ | ^-jujo«—< K- r_jzi5ij —i-z><O LU(_) >-00 |LU O"-*'^- <OOCL

I—o cc «-aii<icoo<— H- I I

>- <3 <% Oh- II LL.rO 03 1/) QiC*:

< h-00 Z IZ^K—Z I-

I

a: 00 1 hhiulu |x uj c£ -J _J o: it 11

ct: |lu Di-l^Hy 00—< oio tt:>i— u_o 11 cQcauJujui— 13 OCO 11 t- SS-Jh-Hz 0-.0 cnj ij_ iuj>->-cD<r<<r -^olu o_i |_JOnr>— oooo<ji—

k

jt-cct: <a.Ot—o <i It-oo(/>

< I ILU QO LU CD LL U3 h-<< I I I

*-* Do: xrnoos;_) oo_i_j<ri— i—

> LU(- <t >- LU >• Q. 'X)I ! |_JXX

O III OOD-OOZJIII— CCCC |LULU

Q Z)% m I lO^tX—DiZZ< Q |LU 0< <C' |Lua: — I I

LU LUcih- O-J _l lUZIIU^i"a: cc < _j H |<(- |oo \~

li— Gi ice <q; h->-00 — I— C!— II CD. .......

OQi + _J UJO ^Q".— •OH" «• -)(• Q.I

-^ LULU LULU iO II—OOD-•—

1•—» 11 xi— •• Ooia: ."CCiOoa ^v. ^.oii— v^o:oO(/)lu |.«% or.oouj

o ini^x u f^LL ziicz \z x <iujza:a FJtx _jlugqC zz.*-* liCn ujooe/^QLULUalui ••• iiu_.« —laiu-i -Dm Ioozilucj."OO II II M) a. • •" ZO «*LJ H- QC LUOOZIQ-j a «- lu llu- j x a oo. ix auiLu ^:-u_ >-iilij<zLU M-JC V.^ t~if-t LU LU Q QoitXliJ QCli-i V^i-h CD OO >-i I— LUX LU

QXLU

Q<

<CL

1-

Qi

>•

h-CL--^-

ai

Xh---

3QQa- . r*

Q. —»vO

< •-«

«^ri h-O t—i

LL ^CD^^ };-

LUO h-< *:<LU UhX <00< CO 1

>iti ^LDO Oc£O OCL._J -J 1

cc

«• •JfLU

*>s \a:<_j

• « .0QLU

c QO

61

V

cd

.-» LU\-

I < •-

H —CL I/) >-»

q: I—

«^ CD LJJ

^ _J H-O I <h——» coco3fc* II |

I i ir luUJLUUJ 21|_KJ-LU 3<<< h- lo

I— 1— I— «=T .-UJcocOcOH-Oc£

I I Icoz: I

c£ a: cc |lu a:_.—>

II J— -tfcLxJ H

ad \aC'~LU<cQQ.t-(l-Uh-H-J I H-<co |a: + <i

l- let: i-COCD Uji—it/)

U + -JI

> Ii-t II H-

LUCL'-'I XOC S^—'LU ••>

a. 11 11 zzaI o 12

acl»-.-}Q o:uj

v.^• •* • * •«1—

<

<••

II LULU«rt ho:

*^. z. < 1

CX LU 1— LUCO

1 OCOQCO

a: h- - <U-•m

1_JLU

#•» -Ja

>2:

CD•5;

1m CD • #» s ^vLUr-l SI -^ r> h-+ • »->" «» Q <0. ~CO O- l 2Ih-to

1r-4-w-l—

CO

1

cc LUCOX 1

ct: >x C£ \»DL*» + LU *• • «*

c£ II 2 CC m 11•— •

<r O. < -^ •

2-> CO—« II > 11 11% Ou •

LL.">— |Q_ .••> •>^1 or

IO QLl/)2C\J—

.

O **• .— LU «^ 11

l-Z KLU Q_ ZT CLLUCOI— ^•-.v. 11 w^ + or Z>— COD •-< —

»

1 1* DCO — LU_J IcxGl- < a_Z-J 0_<l— CLi<i I-J q:i— <I>yi 1— V.CO »LULU CO> |cOO t— LU —

LU | CO « 1oah h- >- l< O- > II CCCC 1cC V.

>-«coi— 1 STOTH- 1— CO •-X 1LU •» # t«*

1 •••s: to Z 1t—.t-l,—<LU •• H • _1 V. *-^ • r-

II QC,•••-«3 11 | LUQ U_ let:— < •O ^f- --H COocz. UJ Q LU QCi II !"OCL- h- • OT UJ -~. w -

-<033 II |Q-I— --a 1J i U. ti^ CO os: IOV.LU I- II

r^3oa: a:co<. IS *-*..«.!,OLU«—1 > _J -> D. • (—

(

ILL.I . fc- II 1 G- —*i UCDbi a: A<o < >- • CD «*rv|

+ CO o_ a:co CO COt—i a: 10 1 u_ 1— • ^-* • —

UJ-K- II CO.- | ~-LU 1— LU< 11 -I— LU | U ' CO LUa-oi^v l—O (V •- CLOt or:> |—|— • X X II 1/M1J || CC «~» « - CO

^v CO | r\j^» .». lu CO Iwi .<CO 3fc LU U_ LU <l- 3HCvi —

1

* 1^ l_l II CM II S 1^ _l II -IH-I KZ. H^2 a:o<c^. o>-> <u:

a:oz>-a KUZ i/;lu LUO H- co -3:- LU CD II LL.

»- IULUUjcO—< 1 ^Q — LULU CD-* 1 11- l-O LL orarco | ODC. JII COIIO. 1 ) JII no. q:< < |*HH ct'O la: O— >- II

a "Cui- lu>-c/.'0_ujc£ COh >-cOQ-«— 1— h-a:^ Luaa: CC.r^i

cca.ee cc co \— cc H- CC CO \cCCXi<S) CO |or. ^» lu 'Z. a. »- ..0cCdCSL n c 1 |w <o 5: 11 £C x 1 IO -« Dl lu IU _J •-< >"OZLU >- I—> 11 >— 1— •• >- h-*- 11 cocx:luly:i— •*S a: co >-< i/i •-^-tsfi—

1

II V~>—i/\..XX CO CO .—A ••>Xal 10 a <xa: .1 X •—'CO

1aujt-«a. \<oz.

1 1DUJ<CLU_ _l 2£ •i:- <_> -^< CC •• II COc£

•Ji- o_l— —'a^u-aiocOLu —1- wi3Z>JZC—+ LU olu.-. ..v. a UJ2 (X<\a:x ••> ax •» Q2iLU | M~*X<C.

ILUOU. ZTLUOU- 2:0:2 r> ^ oc > o_ 1

UJZQi- cua:of-< LUX>0 .«^v>^ _JLU fJJ

•»> h-00 <.Ol •-QdCO0<UL u. LU |2! % z<o or:

Gl/lH •—

t

. CC cC LU .-.--^ <_J _JLU30 IO II -J>zz QiLU <UJLULU •«> OQ3:ua:

O cC

LUa:LU

62

CO

o<LUcc

\

UJcCaLLUJCD

I

UJ

•H-

UJ

cC<oo

K- •H- Q. UJ vr~< O

-ft

•M-

oo • •* «K

!>>. ^ • *» OO <r

ar# O CD— z:x _jw < z— h-«LU

1

cc h- —4—. X 0.

XX 00 x% 1— LL

too K 1LU .-

1

h- h- LUOO •* • 9- 5Ih- CC

n< >,< SlL a K C^a: UJ

2: •M- « 2 OOO z: o: Z oo< COUJ Dh UJ .#.O0_ LU < UJ "• 1— ••sO.H- ujct: XQ h- 1- XQOOO OUJ>- LUX< i-zoor. ^ 00 1—^OLU x^:1-2 uj uj h-O \— LUCJ<X 3r *s LU LU Ol LU

IO r r <l— 00 h- 1— CC 2T II

00O l-<UJ 00 or O *1 • • » »-oo:ec£ 11 •*»:

1 00 • •> < 2 H-4 »*V» •»• • «• •»Mor 00 1—<< Ml ••« rt-^-Ci \- —

.

1— LU •

»

,•1—1— ^ <**> H-

CC Z_J_J<oO-?: •—• —» Q_ < UJ .>- 00 V, X —

»

— c^dt: < • ».rv| a:\- hh -Jo-LU 2 >- <-H <£^ LU 00 —< ^ uj-!;- •- •* K X NU<ZJ ^•H » <^ .*

• *Cl Oo^ct: :h-x •> •--.(_ LL'ai S=tt: cc —

>

LU •* ».</)!— IL! 1 X* !—}{ LU*-» Q.OC 1 CLJ— % % oox— • -

1

«— X) LU * %ZWICL -1

00 XCO * 1

|oJLUI— |— a. =#:00 O^ cc X 1|h- LLI h- LL =ftO0 LU CC

»-Jfr WQQMUJ OO 00 CC 00 D \cc •'Z 11- DC 00 00 lor 1 \CC OiO H

Q-v >-H<<: t-r> cc oiz zr*-< CC 0000 —»h-<00 h- cc oluj Za: 00 OO X

< XU.iLL 1 1—<ad 00 000 o_i a. cc ~ HllL II 00 00O Olu cc HH II

UJ 1— cCcc>*3:*- •• •»(—> MM—1 | CL 00 ^i- HH(— OO II•" ( ».<T .r.t-HfO 00% •"X

ot •»• H *t Tti—•*-?: < 1MJJ*- 2! =ft ^•s-^i-s: 1 ~l— X

(^ .»h- .. ID II 1 Inc: r-< a: >- =S.O0 o-sik- .^C3 p~«1 1

1—liXLU 3E00 r-HLU OUJXCVJ<0_ UJ 00 oO UJ hh Uj 00 u_ |u_ I/IO^ClM V.X 0-) OO >- HH UJ S~ |U- H2 h-4

cc x a: oa- LL LLOO «»O0 •• ozroooo ^-oo<CDl— h- ""^ LL LLQ »-00 •» Xoo^ ••O 1—00 00 H-a.3; oo oozclxc- 1jju_<— ;z:uj 1— 1— ctr a. 00 00< a. zr cl LULL'-;ZO-OO CC

UJrOZ O— — —• •—' to >—4 00 2:i^a 1 '".J Coo |UJ — ^—I'll/TH-M.O XoOO-i Ul/i . »-l i J

LU l-O OhCL Q_ a |— i~ Ol c£X<0 iioo • l— a. a.ai'— 1— 1— *- ct:x— x 00

coo 1—

1

owqzq: QT. LULU LULU 1—

1

D. |l— _J C)uz • \z cc cc _j uj lu a. a. |i— Luoujiz100 h- H-LU | PUQO f-occh Q_ <C<HH t— LU | KUDU Ooil— O ^H-4

UJ Ow xo- IXH- H-<<<< Ioouj-::-ujh- 1LuriXH- 1— « <.^ < |oo< c

l-X a LULUh-H-O osjt:j UJ ii 1—00 a:*v(jii/)Lu \-o\~<j> OLU—IS—

J

11 1—00 _J^ 1— LU

<lu22 Xooo 00 00 |Q_ |CL 00 u>ai 11 ^« |C <x Ul 00> - la. OQl IIQ.V. |01— XLUOlli \-ccCOcc C£>-LU>-LJ C£UJ0')|~ r —i 1— lu< h-l-Ooi QL <I Uj >- UJ UJOOl— f LU LU<ool-XO <x h- 1-D ac:Q oi • «(-ua.a:z _1 <^o or 21 00 HI \~ H-XalLJui •^Q-OlX CC ccXw |_ -Lurno-i— 11 x Z< < 1LDt— >-(— •—>'—I<T.Z«a 1 2 II X X < LD>I— *-*'-• xa 1

QiCL UJQ —

t

4—4 »-i uj _j uj _j

:

z'z: *-z 1—'<_>U_'_JU-> < 1

*—

4

hh U3_JLU_J ZHZ |i-4_JLULL>I^q:_j< »-ii lu3iJJ

1|ai —1 cc 1

1

«-H »—

t

ha XIIJJQ —JCLU | 1 -iCC^i'—« |>—iCL -JXLUC.

OO O CO LU< I/) |0_0_ Q__J<_J<|CL LU |U_UJ h-S cc< GC_0_ a.O<_J<TO.UJ |LLOj<l~cO</\oc »— a: —i uj ccu> u_ u.<o<'Ja^ h-O. |LU X l>'J- LL O<O O- '<— ij- U iLU

1 a:tn o_ujCih-1 1 1

lljcv<u. 11 oaaoomO. t«»HtV|

—II 1 1

lLI<LL II 1O O^-iCiCLUJv-0 •• >> 1 III II UJ UJ 1

— UJ|— O 1—1 i— < Hi 11 r lu 1

_|_ MUJOO KDO- 1— LUXoO > .-;> .«t^XoO II hi II II II 1— <lLY.Q.LJoO ...>..> L/)00 || 1—

1

II •- II H<Q. |CLO-LL |C£< I-* <-ko<cj 1 a: Kil H r~4r-tO<0

1 O cC I

>-cCCC 00 OoCwlUmIQIQJ Qin-ilUt-H H-i(_iHjLU|r- LL,^H-.UJl-4H-.C<XCi_l.jiH-lUjl—1Q H-4 UJ LU

h- (/) _j OO 00 >0") H-

1

OO _1 OO 00>Illll-;;- LL-X U_|J_ -I LL LL <-;;- LL _J LL LL 2:< lu -;:

1J_ .-J LL U. <U_ -JLL LLX<t/)l—|HHV» i-iS.>-< i-H IJJ —1 —

i

LJ>x H-l UJ —« H-1 h«Ig£V. <—4 UJ H-« | 1 U*~* LUi>—t HH 1 lX

63

oLUXo

*I

</)

u_OO

OOcc

a.

aQ-

cc<OO

I

aUJcc

oo

UJ\-

•*» ^o ••>!—

2 h-OOUJ cc

<Q>-<r

.~ oo atCNJ \X1CL.

CCII 2 -H

>• LU ~ — '|

xas^.^-v's:i—o »•-;;- Ht >

.... cr:*t =*fc coO O ODUJo: I 1

,%-< < •» 23 uu 00 lu 00O 11

<UJ<LU< II LUQi (Xl-QiZa:_ia:—1 i— cloo<xoo -•-.

3 cc „i^. „x• • *~ll V£00=teH-2

CO I|LULU«»»

... —.#O0<00S:X<O II ^^U ILLOI— _J

O *•• to 101/1I

>-Q- «-2w oa2 O2o..~iao u_LU h-lL'CC CCQ II I

!•• II la: 1 ccl-HI-hl-UI-* LULU

00•-HLU LUXI— ••LU »LU »••

UJ_!••COO-t—lO!0000oQ.

LULU

LU

a:

11

2o

CC

00

4lJJ

•O

a:oa:at:

aLU

<Ua

cc22Ciq:

a. 1— lucc

a:00

I—cc

00•< I

zui—

00

CC-<Q--

LUco-ot—t

LU +>aLU00cc 1

cCLU^-_is:

XoOIS I

*LQOUJ

I

<-<_)

O"-iCC

cc<t00.orCC~iluq

coOS2>OoooLU_JO0<o

!:- lu •••

...

-

a2:LU

a:.«<

CC<S)

<tLUy-cc00LUCC'»

LU—

.

X^I- I

00—Li.200

>t--cc

QLU

CC<00LUcc-

CC.»

I

00—• 1. ." LU%— - CC IXX 00

^2u_l-v| X * LL 00.. - x—

3:00 •> •" • cC«—-

1XX •—

<

20 — — »3I—lu< 2 2a: ••00

i^LU UJ LL.'OS I

OcC ^C iCcC «-QI O CDaCX

|t— I— h-LU »-UJV000 I I

^ZcCiiZ.*-* Q OZ<fj 2 2t-2H-

2 I I 2<2< LUO0-Jluq.5: uj fu |X:*:>-oIQ> IQ-I0_l-O_IU-I— (— 00 hOHOCh- loo

I•* I— h— CO IS 00

rnu_Q- ro |o I0>lu

aoo ll ijl »-2ooo11 K— 11 O II Oo0< <_>r~LU

I|LU ICL-D

luxo uji— uji— i—a.ooooQuLU<[ ClX0-X<O«- I

>-!— _J >-LU>-LU|— H- LLIOI— 20. I— K- 1— t— 00 UZIOLU |2 \Z U-<t-H

oooa: ooaooooo_joo1 I KJ |^< leva.

Dt^J CC \CC |LL.>-LU<.

o_j ^c iCccxcca.ID UliOVCLCQ »-f_l It^J i;-LU«»' U_J ^ iiCQlXiClU-OH OOoOmOO >-rr CL< O 0««-ir_JLU o2LU< OOOoJO LU |

X :CLUCC I— LU O05L" I— O.LU- !'r _Jo0 XLJ LU LU2II— _JLU»-h lulu 11 ^1— 11 I— |—2! IS! »-

I<oooo» - >-<_j 00 mxrox*-"^-—Joo

DQQ *-> Zclzluco lu>s: < ooo<a£2<:< •» UJ 3LU—i^mI II OQ A H II -• LL II •- II II CUUUlOlulu<ko.«« la. I U~u_ << r -!r u_o cc 1 >O0f^JJ>-OO>-CL O. »-«»-. _JLU 0.SI-I- 2: UJmQ ILZ'JJZ ^ LU

•• 1— Q cj 1— ll -;:- LLO Q_CX-'«-O0O0 ZD3 CC d. 0-O.Q.a:oJO —cc

ai-JQ.«LLI-00LU-Ka:v.

I— Q cj i— ll -;:- llo clo.'««-oooo id ZD cc a. 0.0:0.0:030 •'

I I IS LU«»-LU_Jh-a:

I O.Q. _D'»>- LU.«>Z3>-_D lliOoolu2:^ 11 11 11

•-•s)Cicc<cCy—QC .-1— 1— h-QK«»w)Dl-KI-t-fl.IQ00<C

IQ_JZ KO. ODD LUX IO—I2: |LU |LULLO

LL-IUQ^'1—<LU

LLLL

X

^UJ>00

IDH- 1— I— I— O.XLDLUX IO—I2: |UJ |LULLO )!

-.QLULU_JLLK- LLlDOCJ Q-LUOOdLUaJOOoro')^ LU»_J>00 <— 00<<LU-;j LL LL LL X- U 1

+ OIliN 1-*- *—• •—'>s,»-*UJ

•j:- -k 5^* )'

•5: -):-

# 5;-

# »«•

* ><•

^;- a: jt

>c LL1

it-

-;;- 00 *^;. cc ^>

^;. < 7r

-;;- Q. -<r

k- if

tt CJ -<r

# CC ^•)!- < jt.

"Ji -<

^ CC •ir

^c >!

7f LL )?

-5c # X *

XQLU

64

a. < #•

oo 2: O«*•• a z^ 1-*- UJ

a •»• H~<t a 1—»-

K z or ••» v.oa UJ 2: »

1 aai 0. 11

h- • •* •

<* Z 00 —* •

t- UJ —1 0- •

ooa

xr:1

OOZ • »•

od

l U~>X

f—

1

QZ

2 >-- U_ t—

1

UJ LUU_ s a U_ coLL 2: tflu • •*

c ID z • r- Q *-• ~ %+>

w Q a: UJ z v... t«v O m-m —a ZJ 00 LUV. ->t

"« -7<C- r-( ^

< II t- _i * 3 >-h •—

1

+ %^UJ • «fc < LU«»- *-* V 3 a >a: «— — •. 1 U- .« X—r > C 00 • •»

1 Q_ CM D_ O »l Q I—

<

.J »- II «-»

UJ 00 Q- Z) II t Cl2 II _i CC Qa: ^« 00 II »|~OOUJ U) O < — Oa _J «-. h- z t 2— T —

.

u_ z> •—

I

COLL C •* > X 00 lu a: a. —

.

LUw + »—

UJ CO •*o •-X 1—4 1—zrcxooo 1—

H

00 IO 0. O• t* CD s: uj2: ^^1—

<

13 H- 1—4LU>—•>UJ«-' «— -J \-z 00 2I—

1

1 > 00 UJ r\ju_ <3 cC X= <-JC£ H _i —

"

«_» 1—

1

^ s: 00 _» a. O UJ K-l II 0_J< 00 UJ l-_l ct: _J+ * >- 1 < 00 11 00 U-O XUI> —

<

Q_ 2!_J < _l00 t- U_ •« »-» UJ 2: |LU— >-iQ. _J 00 UJUJ > LU

•-I- w X z _J—

> t-H ^fiL _J D. _J 001

00Z aa O.~~z • > UJ II UJ CCL < 1

^00_)0O ••> 2: .-(UJ 1—4 00 OOo<_> X z ^ ajoo X LU LU«-*LU>—im >- SIX 1

• p* z 1w | u — HO 2I«— O .i»Q__JQ-2: 00 H- 11 a ^ UJQ-JUJ cl — iV- >> # < QOOOOO II CC CC xq:<_l <T • r> H 1

oox Si s: <ooco |o II o> zo 11 i-amO LU2> UJ UJ>- 1— l UjMJCDZ-^ r LL2T LU3; 21—

>

oOLU oo 00 iC h-LL >- a: 2: >- <y. r> a. k—< ^ 1 z H- I

N-KJ X _J lux X 2: Q 1 ooaooo • •> —

»

•^.O OoO LU ZOO2T ca\- 2!< o£X> UJ UJ < QQT |3!LL>- —

»

Cl OUJ J— LU ^ LULU»— tl <r LULL a 21 •• X LU 2TCH- 1 _J •"fc "00 LUCQ- let: O Oa:

LU.-> X ~ H CC <3.LLX0O O 1

•—^^^ X > 1 H -H 1Dh Z— •-I— II 2T •» II II CNJ _l | lulu-;:- co • UJ ^i_J O II 2:^ 1 ^UJZ —i» 1—

1

LL,-, CL 0. <r x^zq:ns h- IO 2:0:Z>- II Oxo _ICL o_cn x ->2r —•00 oo

1000 1 >- <TLUcO _J—» Z)LULL 21 UJ

I—1 l.» — + oo | 1 t-G-LU.-G.— <••1

LU duju)^: 00 h- t— SI <JCL OIIS 2!XILUJ-* <r<-» IH- ooxc\!ooa£i-4U_ > o_x 02 1 oo<>- 1—100 OHO LUO

f IXJ »-• UJ zr a. UJ UJ —ta.—'h-o-—

<

> < UuOU-iUUl— >-- I— OO O— UJ O ^i-ua ~>\— LUO0>00 |00_l O0_J>K x _J COXXX 1—00 LU-J II O c 11

2T>>- >- X <UJ y- aoo a 00 _J_J Oh- LL' a:-h •- D.O c\J t-Ol_Jt— oa J—

II t/>!X' oj ii co 1 li c: n t\i •» << II z •=C %XrH 00 CO I^A" ^1 1

<Stw- io 2: a. 2: Q-A 00 O 1-* M h- MJ 2: t~ O LLLU UJ UJ_|- CvJO. II LUQ_>- |D-> • </> 1" 0-% 0002 + <>- UJ i^O 'l^h-^

_i h- cca |oo •• ac:oooO'_£ooooc_ r\i. ->ac uj |h-.A">1cC 00 00 ••> c •*

<_>.»<t a: ii t— a.a 1|cn II Q-Lj IX • ^Q-LU O O UJ*—

1

1 luljll 2: a>oil- •>:- h- lu OOQ • "LL 1— LL 1

> OOCCiUJ •-O 00 1— —*O '~< + _i Jf-t- aro»-t LULUOOLU00 NZH</) ••« o>-« ••>><>—«< -xl£<\i CO < ••> OLU >-i II \X'm OO>— C^OJOli- 2- QUJ CLLKCLU, Z <X.\—OLL ZOr: -"X UJOU- _JLUUJUJ UQ-aciM lijluq2ujd2:>oom LULU .oOCi>-' LU 3:^ •• zro^-* LUaic£ oo ... (_ 00 00 00 II 1! Q<Q< OLLDU. _J _J -J-5'r U_ O Z LL—1U_(_>

aOiOO

a><->o*-< UJ UJ UJXl-H —

t

-50 LU -•

QOQ

65

in

2 «• —UJ S -HX UJ CO f

J— CO m Q__J IU. •- CO

fT) LL I— UJ O-J ~-S CL 2< i^

|| • * •» UJh- L_>

»

• s •• O <J—» .-< UJ II E LL!>vl—oo

i•—

i

»«A ••>o_-;<-co»• S OS »— CO

I

O Q. * I— »— >UJ

< co ••• 2 __jlli do i—UJ — 2 >-0 Di/1 OujcO<a: ^ UJ«" Jm ajv ujOh-

I O"- i^—• _JH- Sir OXCicOUJ <-» QCM <0 >- HOCL h- »-h t— Cl UjD 00—J Z3tJ0«-cow- |co a: a: o Ouj

••• ll-» |i— >-— K u-ca oio:O UJh-ixcO •• X—I t— CO _J5L h- UJLL2: cD-l-H -— ••srO - 2 cn> • >ULUJ 0—<_J _i — X>cO ZO Oco —t.coorr

ujook \ — coos: <-"o a z%hu.iwf— »-.OOUJ ...> w >- <r o • tu luicoo<_J |_ v. 2 —X H- II CO A 2 XUiCOLLK

—» t— |n< K v> uj uw •-' I ujf- ujq^: »i— h- cciuv^ l/)UJ (— <- X -"CL CQ_Jh- I Z XLLCO <2 CL

— — \— Oco h-V.«« _J •»- OX —ILL) H-l-llJ>l-OZ I> Cl"<< • #^ Oil — V.~~C0UJ OS QjU-'cOt-'CJUi

xi— uj 11 couj o co % -}<-~£X2 ouj o:ujz>co*-h-i—"jc:

11 cocoa: coco 11 x— I |>- -jh Ocoo_ilu<i—

o

j*t cu <r A^ >-^ uj • cl'coii <<ru iujuji— a-'<u_O C3 II UJ I OO OC\J co— I— —«X I I— <LCJ <<GlUO ctTUJ O •* —<Q_ !>•"• < >-co<r_i ooco cou-O II I— _J<rOCD <>=JZ.Ol— <cO — 3£|— co KXh i— CK" OO < I— c£ coo -J i

|U~< i-t =*fc (CO X-h CO <% CO LL O0<O__J lUJOXII UJLL'I— >-X \*- UJ .-LULL + — 2 |2X UJ""* '-, 0_JO'JJ>

••> i— coco <i— uj^. h-uj«-olz: o »-tiuLU>- arv xozcnw ocoi£ —< t

or. i- at <:xt\ico _j o Or- xcO'-jj uj2:<x<2cci— uj cl"< < I 1— l— n. III •- o cu>-i— Ixxuj k-!0>llOL!;cj

II »^/)f— —. <>-< I— LU OO C/JU.I —»|| OO OcC <ruj x Ocococo o_— <CL > 00H- — CL >— _l I— C\J_j^l— l~ COO IllCiX—22 •— -h-co •> 2 <—< Q-0||<^^_l — in -

I D*-< -J 0<T ZHZUJUJ w.^.c/-)'— ^. <iCi v^CLt— O CO— C£ t-l O O-JI— XI—XU <>-X_JU-.«-i li-.

1

x^ »— o. «>^ •«- < •):- oco a.uj_i _i< o <ou_'Uj ho co<: t-i^u.ol-O OQOO=fcO <UJ Cl-— |C0 AO>.. I O lUZQCOXHU- *— c3<c:x'-'

l— »-i^- |< »-.q: • |uj CO r co ^-1 uj xxuji— lu 002 1— cjH-O _)iZc0|— O > LUOM !—_)•- XII XL CC O-Di _J_JCO m ll:O rJ COS II

lOU-CO r OI-m lo--^—'>- + CO COO<X —IX—"I cL

A«- Lu<rco I UJ Q O |C0 % i^—. II ll ^LI— |nDo< «LL>-Ht— U K_jOJ

O I—K UJ CO <UJ 0%UJ +UJ li^i^ D< 0-X000-2LL< X—lLLO^D-» <co i— -< uj 1 lu X c3-:: _Jf~— •-&- uj O—ir-t i>—illjOO nj^cLU'-* cU

O I— |-<D'J Qi_l £X I I— SawXlXIIQ^ I— _J«— IciicO CO U2H IXH-i^XU_ 2 C0LUOH-2 O 2 '-CO i/)IOj< 2 ( <f I— |0 h- UJ_JLU W(j>"•—

. lu«~—h iljcouj-;;- -;;- o -5;c_>-q_I 22>i^UJUJ»»|~ -x- ujuju_<Iuj—»•—' uj<ii~ lijoo

oq:< ^ -^.j st/r.izci •- 11 >oco Sll(.om_il,h •• cc»--'<">u_x I

2X1— UJ < iO O <Z I<LU 2— coui 1— I— ,-,O<

UJCOOOCO *•> II _l II HQyQ uQUJt— «•> _JO:UjUJ Qi2.l— OT-'OOQ _J_J O •* O •- _J XO ••O coco JOO<Z

U_ LU 2 0-::-2 OQ-<Q.LL UJ2 OUJLL-J-J-3'i C002X»— LL •>;- LL•-< LU CMJJ OXO (•)•-< 2UJ 00^^^*^ «-h \ >-<

66

*

O2LU

h- • »»

ar • Q< H IUCx. 2

OII

V, 1- O LU —

»

•K- Xt—

1

O1O

CL00OO

•s.

00

A CC or M »^

h- t»> • .-< 51 H > sLU D >• V —0 00 X *00 2 «•* • •» t- K- E or —

<

»—

1

LU on Q- LU II _J LL Q2 22 •z. u. u_ LU

<~LULU LU • U-% Q _J»—

f

«•* 3fc •»•* u- 1 x: or # •» _J\- *-<. -

1 2 00 u-o —

«

LU

<r iiT QT •• < 2 ••» LL-OT LU 3 M O.

or w- x«»— O —> U-< X ••> w» OO< > 00—-=tt. X —

*

U-U O ^»l_U •-> OO_» * 1

\- 1— V E 1 —>,- »-H •»

II » |LU H-H Cl — LU • » -HOT II S 21-^u: «->LUk- 3 LU ^-1 —1> i^ 1 LU

1%- *-^

Q O »h< O << O CLOO LUO.V •» O Kl- 2 X »—10O < OOIUCLQ- •»• *: CO 00

»-» cq • •UJH-00 O ai h- :ZCO —• or oooo*— w

O —-1— >r>~. •—

«

.—

»

H-. 1Jl or h-0- >-or•5rO E >~LU h- LU ••• —

<

2«*;Xoo <2 II «-00 00 <<SCO • *• r-*COLL!H- O CC — — *-+C)— LU >—

1

or— t »• •—

<

2!>w ^c t-H 1—

<

X) CD --I LU 00 1 ^— o_<_

1

»— 2 —O iH -*<»- O 21 (- — 1

-<If oi-oo>o a. A LUA'J)2 11 '-"-1-00 O 1 < CM II 21- Zi-ilh- CO 00 K Xf-21—

1

»-iatoO 1 CC cc H •-» rn lJJoO —

I

y w 2 KZm_J _j — 1 u O. O •CL 00 -H — 0.0 •UO —>- ^ IU LUJ-J '-Z. luo>-< »*«/>

1>~- H-OOi•-<r\j • -J2 • »—10O O t— o_j

LU CD — 1—o< < LUvO— CO LU - 1• LU3LU < >-H 2^LU

Q. 21 fOoJ<Z>U_ 2-«ii£ _J 1- CCLU M A ClOD II H- I— V LUVO.OO > »• 1—00 CC O—O < > OOOOLL 0: X 00 O OO

1 00 _J_I00 II O !-<•- •• II 1- LU<.->f-l(2: 1 h- ^nLU 100 i-<00 |

O1 CO- II u_ |_HH| ,— r 00 UlflHVOO Q.2 LU '- —1 t-"0

cC < COCCLU LU — cTcQOO^ 1*1 CJ 2or.;<- II 00 t-H- X 11 xor

O _J. 2T5I.JU.il— - 1 ILU LU >-

1 u- OS H- II <HH H HO3: >->-CC|--< Q LUU.1UJUJH 2T \U" OUJ_< (NJ— , t.|_

1-~> S:

1• OOoO<l<K < *L\-\-V->t-<L X> -:<• 10 a. > i-JXCMOOQ LU car |

00221 f-^oo LU U<<<T<K OO arOooiuix' 002 hOUJ LU 21 oOOi/iZ

UJLULU << |oo 1 X <t~HHH 00 LU • or — 00 LU LU LU LU CO i>T 1 II X 3 >- .UILUa:i^ _j_i<r \\- < CO 00 00 00 00 or oTLU2>J<ooarx 002:0 1—

1

00 _i 'orxIh-O ———ih-X 1 —^>.« O ILUOOLU |H-LU>-h-a.-teLL 00 O • |H-

^ t— or —xuj •XL ^> II1- ^LU^-I 11 ar>xco ar^: or 00 |oo < co ^r

•~oo X 1 LULU2 OUJ DT laT otlui— OO l>- LUO 2; 00OUJ 00 1-2 Ooruj<cna. + LU luot >-* LU h-s: II hh >.LU >-t} LUOXA'- r*->- -j -JCLI— 1— _J t- O.OOOOV. XA •*xt < OoO tONlAO O II CO--.* <oO LU1-1 < # 1 1 O CLUDaHOZJ 1 O2 :siO•- II— CD CD'" >;- S Luh

1I+-J h- SLUCLl- t—4 Q2O0000C3LULU >—h~ fc-i

LU II q« aroa •v v. cc 00 co —1 11 OO or p< •* II QX'-II

X U_ 2" p*X < l-J -<X I<qTluc u_ *- 21UO LL

h-i^i—1 LULL! |00^1UJ|— ••> t #» _i> s-< .•1— .. "_j r 20 t—1 1—-* •SLU2tC•-^ ,-,

h- CC LU OO «-iO .-O .OLU || II OXQ>-XU-X-JZ>2 32 ouj a: ZLUZ Olullll. U_COO0>-<|— lUC?LU OLU 00Q.M-)Q LU2LU QQH' t-H

67

LUUJ >v3 *

>*- K*- UJ

CO O2

uj. vr r —h- # - to<c orh- — <(/>' 5*1 "v^Q.

O #a <t o<: i- s: •* 2UJ V.. 00 >-— •—-» UJi-h

•- !• # OOrH ..——I h-J—— <Q —1 |+ i-H—IO- <C£< O «-«^ O.o0 I—

<

|| ^LU • CO • - —«— + O0«-' OOh-act: • s: — >s: —> to o201 • • >- s: >>w hjx ujlu<

uu _jijj >- oo >- —oo # clD 1-" Oct: u-«

s£ cc cc •- oo — | oocDu- r> a:o *- a h- s^-t

l ^ 5; aoc 1

h- ^U- UJ •• hh - o • II >- II UJO UJ

Iui 021 _ ^ r • 00 oiu. or

>- CO 00 _J > •- • - iH-J—' oSI 2T I "O^ <— CD % D Q.h-<M«* zz u.5; u.ui v r-t_j •-> 11 2 I uj trxa.—1 i-<cujD II- -5f c£ —> 11 —x i-<- O h- u;o0 i-icnQ i—< O +0 -i—> — 1— r o: uj zz»-+ oct-v. I

1— a: cd-J «—u O- ar < _i uj > u_i<x ;:- ujrooo aL 00 _j 00 u.co ui x 11 x<nj *:& i—

.UJ f- o 11 w ooz I Q l- »-«CL oi< <o«-u 11 ••> . 1—•

-}'- • •• co a: 2<uj —.uoo <a.uj(—uj — »o X"^—»•- s—. < >-. > ui mc\j suit— 00

II ID— '-ft D. 2 -. UJ >i»£ > T. < CD LTiD. II Ct:<ctco 1 00 —^ 1 1

—• u_ +00 00— »:- - 00 c\ioo.- 00 a. 1— 11

—I— »uj — * -J |2—i !>•- a O —— csi \ _ 00 -^Q_ CH i»£ — _l %UlO_< I— Xr-i ... H- •*II_J—ICL -ft IZ % Q-00 11 << o Q-uj xoou Xh 2: z—— a. co. 00 \-t~<.

1 00— ULh- <t 00O_ M I— I U U. I > O 00 O0— COoO JU.: >->t-<q:oo k .^-oo am z 00 t-i— •> _i 1—cs:*-' • oa. h ^X|| 00 •_) oo^> _j 1 t—ij O uja_>-a>«> • ujoo <v.o*-*l— ui •-

I»Ooo h-u:<2 H •« •—

1 o<— uj co •>oooo<r^t t ui # H- -it-

<

U-UiaT—. uj c0< "-"i^oouj —11 UI2I2 "§: Q-<— |> Ui • •« zi- >^oo h-OOOQ- I— O^- XO ^•-— _J II CO-—* >- tO00_J»— + -J '—t UJ 00uju.00 < >Q2 —<i— 11 ca^- _i oroo—i 00 ox 11 ~uj _joa uj

|

• »-0:U-^. h "Ai/ILIjIL U_I

f-OO— Cr. -— O I II ACCliJ —< X00 I _J 2—»HUJ-» co^: ooi— |i— x |<J 5^ I _j< ex 0^:2 ct rs2—a s_j •— ucki-»-. |o hwI-l'H =fr-co vJ'VO'*- 00 •- OO CZN >- rgoo <t\i 3:vX^I—<T— •.•ijj<[

11 1 xuj \a-D- r co ^-i »-o •--;;- u-ujd-^-ioo a cuo. -^.K-^-ooh->"•!— 1— ou-uii— cc — <s) 1 s: 11 _j - -;;—= x^ocl |.-oo h c 00 ^00

<oo *lli»hzluUj »• |^_j> 1 C11-- —- - itih- ooi—o— •- 11 -j; rnocII I I— I |X CM UI—U! OO— CC O •* XDtfrlC 11 v. ••• << 11

oouj uii-h-j:-u- > zj > »-uj b^^ x-^» 11 11 u'O'-tuiLL, <c^2-;s-o ^-i 111— uu

—c.—H- (— U^v—<i— _j cc)—<.\- _i! •>cl izq.jzlu>wujszii ooa:=tto_ooGi:<j: < ci^r h-ooooooi—xc^ 11 o</;ooi— 1— o>-<^—. 00 »-<oo •» 1 uj 1 I

00 xt- 1—0 -h-22 1 p:lu< 2 1— z>z> h- XU.-J 1-I

a. cluj-::-ui«- 11 00 00 ujoo 1— •v. < 11 «j- -4- 22>^uj|— >Q_a. •«>2:uj s^ui .*u.'Uj .ooq.>-K'^.!—

•-cc: 00 a a: 1 cc*cc xxt— h- coj" c_j>d 001—< <o<o-u_ _i 02 coi w p p uj^zdzj zzaioa 2uj<z:h n- t-0>oo>-» lu OUJ.»d:c HQ^O 2U.OO UJ qoc ujQoouj m (.oooujoo

Qa:a:«''a. <\i 002UJ010 |U- X U_ . Q.O.U. _J

ui LUQa;w \m 00001—1 ui

K-U-

68

«-» • •* H m Os: • • ro>- • •^ Q00

1

4c

AUJ II

z_j

<zr 1— O —I UJ

~— Q UJCO <

*f H OO V UJ h-^—» o< H- h- 00« ~- • - • • CO v. •X r-

UJ — • •K z. —

»

H — — • O. in O-r»< a. — \ ^o->. in *-* 00

• »• ujh- 00 >c >-< Ql^ •5-11 1- w

o |— OO — 2: C -> < ^z < 1 —

1

•• > X 1- _lUJ h-> O-~» 00 t —< • • h- — -I < ^x

v» OOUJ G0-J>« 1 X. a. ^ • O Q- H- •••*• r. X a: 2:0- a O « CO ^v 5: OO *—* »^

H- oa •»>-co« < H-<A *- ••> O 1 O Q>—

<

<: —002:00

1— « 1—Z' 20 uj O UJ UQZ

1 • UJ o3— |>- i-h— 00 m O0h-< h- C2T _i \~ COCiUJi- • a: *tt— 00 • * z: _JUJ >—

1

< —0UJ t ••> E IX 1^- UJ- <UILU 0. O u_ • K 02o Oc\j < U- UJ LU<O 00E uitr O >- 00^ zr ...

a: OO •€- • »• u_i— z:_iac ac h-V h- K-. ••« UJ _J I'f »—(OO—O 1 uuz — t-r <w.— a: •• < —

.

2I< UJ z: _JUJMu_ _J OOUJ r-l -o-l— >>LUQi Q- .. Zcf. s; UiX II or. UJ _JC£—

^di--jx OoO HH oo HOO 000 3 xo UJ >O #U_Z"<H- 1

oO<— II 11 o< UJt~< 3 a; K 0- —

^

V- HO a 11

h- OOOLL t—iiu<x z:o_ X C0>- •- u_ ^O < l-H 00 11

00 | H- ..Q. a: -157:SlHH H-Qi az O 00 s: -•a: tzO • UjUJ II z- H-00 tt | |>>-O0_J <•»• f<(D X in 1 UJ 2!UJ DUJQo • O-i z~ ^ujujoooooro U_U_~» l-UJ_J 11 a UJ Ct.' UJO. Oi^O

.002 1 u^: alcC 1 Kco O O <a'o 0£ -jh- > Q. 00 OOCQa:z)>-auj u ooz:zra-z: OoO UO < < .» < 15*—LU^UmJ LU< = LLLL >- oooos: H-<'-< Ul — 00 OO h- 11

1

• •> M l-O Jh U.UJLIIZUJOI/J H- S 00 LD w Om 00 zroo .z:o >-»- 11 oc>- 1.500 U_ CO CO UJ 00 Di zai »• HitUJ "V. _l Z 1

^^K—

1

U-l UJ •)< •-<

UJ JO UJO >- 1-H | |X_J<_I UJOOr-l XlZtoO >i ••«* O UJLL CL Xq:>v.

X II <ZK(/i OUj = SSI-Ijjj>< I-dJ 1 OD >S'—a .* CO ID 00 _J h- 1 11

K z 22 11 h- >-> OiO 2<CX co-o •« t> 1—lOf-H 2; S I IO ^00 <o-o-< r II

<r II c/nmn CDUJ OCloo <I 0.—4 '—-—« >- <J U-i co hUZZ4-H- •- \z 1 1 f- v~-—-m U__J UJO •> -\CC II 00 of:_j >>: zrujujuj

t-.|— a",m uj uj ixj UJOO >><M _l _J ^X-11 y:oi 1 o<r <*> ujii^:

AXt-DWJCJ _l UJ LU>-« UJ<CM aa—a: 1IC.Q. h- O 100 00 Cjoi— C'M |o:q:o<o <_; 11 • -h- II II II X- Xh-w a: luo.

1 SHc 00 X OilL -^ -< H00U-IDq_'<>-s:>- >- - < 1

' i-hq: CLLQ.I/> >->s UJ Q-O _ih II Oh- .u uj a. 10 OUJ- l~SS* - Ct QiUJ 00 rHOO 2: - 1 ox II

~.=?fcX >- | &- oo>>- I O H-<U ••« H-O ICNJ- O COUJ HA"X •— U.UJ DQi CC<. 1 1 |l/)OOUJ II DC 2TCL< - ^Qooi- 1 1— II O u_ 11 -z. 2:zr z- Ot-H 1j_hhoo ••<a; art— > 1

p- <y. —.«. QC - -% <-*(*. x-50 H-I UJ > UJ MQ.I.u... Gl|— UJU-I IJJ00I— tUCLCi-< HU.I w. 1— ' DC*-"Ocluj h- 00 ^•«>KDCHcU.ih-.Qi | 1 IDo: h- D CL II II u_ oOZ!U, DO 1* oou. zr

*=OI—^> |_J> >> a. a. z: uj 00 0-—I —I II J- II 1—

1

«ktl O-h- H-v. h-C!"-* UJluH-<;uj UJUJI-- U-iOO 1— -J o_i H- UJO •• II 11 o< h- X

U_ 1D ocui fa; orDir5u„x_iu. 3< -;;- o-)< DI-OI- ztx 30 UJ U-»—i J'" O'-UQ. O- Cl.C •—1 h- Ul *-t OO ^210''-O.D :

*;-. -3 ujoz: OCJ> •ZUJ .—

a q:> >IK Ql-Q- f— IU • •> 121 00« •»

ZK 0<U.O z:^)!-^ iD oxo :ZU.JOuuv.u.X'-'O UJCDV 1D Ol—O UJwUJD

69

•z.

UJ • •»

IQ\~-Z-

UJinroII—

ZK&!*-< #•«

ad 1«a.

Ooo Q. v.

hK -"r

< X—

X

K 1 O<J- ZL <t

mo f—

t

_lit h- LU.

z. a:ujo < _J

*:o 2: < ^CC K-

1- + h-» Z>——f*- a. LU •

vO ~Z* Zm • ^ Om 11 1 1 •». —

<

11 LU* 1—

z% i- CO <r >*UJ 1 *—i Q_ tt

SdLU ••> •-5: * • 3«»Ol-O LUh-. N»JJJ 00»-<r- oo—l 00 l-H «- • •*

»- -J 1 < LL II | ^.—00 11 <l- .-O Z *» U-X 111 a* 1

.-»—.% LU CO> 1-

ma. 1 III- -iq: LU —

li OOLU *• ••<<uj Oh- II LU

2!~H- COc£'- LL> 2L<t O.U_i^< |LU- !:- H-.I > ft*

^Uh CLH >; 11 (— Wr-I |— a:0<i/5 IZ UJ a: — 1

UJ

h-H • Q£i-»li<cy.cc < ••> LU MCO—

»

0:no v.1— ** h- >-— IO. Q.3tf it- 000 < _JIUOO (Mwi^or:o "—•-"- H <

r—i * la:iJ- 1 uj a: a*:^ 00 Zf<>^ H-t-a: |c£ .1— •- *-* <

II l-O ujoo CLUJ 1— < LU1

co<t • 00 CQ ¥t 0L H-.J— 1— OO _J2 H-h- UJ3 K LL XLUCO II < <"uu co-< iXCO O IUCO |t«« O Oad— r 1

• • LULUr-tH- >—i

OOUJOO - II II h- cc\- -z.- LL 1—t-GI— \- '"r~* >—

» Jr >< < II o«»> a a<:<rO t>— 1— h- -«. H- |Z <

u. h-x:2HODO -;f cOZ LU c£ h--< V)\— LULUCL C-LU v. UUD" X- Z

t/)hhXCJ •" »-s^O|—

O

"Si. >UJO :d— 2: a a.a >- luz 00o:cjCju-uj Q CO>—OO^LU •1

DOfz;HZ. 2Z.

LULULU

70

LIST OF REFERENCES

1. DeRemer, F.L., Practical Translators for LR(k) Languages , Ph.D.

Thesis, MIT, Cambridge, 1969.

2. DeRemer, F.L. , "Simple LR(k) Grammars," Communications of the ACM,

v. 14, no. 7, pp. 453-460, July 1971.

3. Gries, D. , Compiler Construction for Digital Computers , Wiley, 1971,

4. Horning, J.J. and Lalonde, W.R., "Empirical Comparison of LR(k) andPrecedence Parsers," SIGPLAN Notices , v. 5, no. 11, pp. 10-24,November 1970.

5. Irons, E.T., "An Error-Correcting Parse Algorithm," Communicationsof the ACM , v. 6, no. 11, November 1963.

6. Kildall , G. , ALGOL-E: An Experimental Approach to the Study ofProgramming Languages , Internal Publication, Naval PostgraduateSchool , Monterey, 1972.

7. Knuth, D.E., "On the Translation of Languages from Left to Right,"Information and Control , v. 8, pp. 607-639, October 1965.

8. LaFrance, J., "Optimization of Error Recovery in Syntax-DirectedParsing Algorithms," SIGPLAN Notices , v. 5, no. 12, pp. 2-17,December 1970.

9. Leinius, R.P., Error Detection and Recovery for Syntax DirectedCompiler Systems , Ph.D. Thesis, University of Wisconsin,Madison, 1970.

10. McKeeman, W. M. , Horning, J.J. and Worcmai, D.B., A Compiler '

Generator Implemented for the IBM System 360 , Prentice Hall,T97U_

11. Rich, L . V.

, Error Detection, Analysis and Recovery in XPL BasedCompilers , Master Thesis, Naval Postgraduate School, Monterey,1971.

71

INITIAL DISTRIBUTION LIST

No. Copies

1. Defense Documentation Center ZCameron StationAlexandria, Virginia 22314

2. Library, Code 0212 22

Naval Postgraduate School

Monterey, California 9 3940

3. LT(j.g.) Robert C. Bolles, USNR Code 53 Bq 11

Department of MathematicsNaval Postgraduate School

Monterey, California 93940

4. LCDR Gordon T. McGruther, USN 1

18035 West Outer DriveDearborn, Michigan 48128

72

DOCUMENT CONTROL DATA -R&DSecurity Cl.tsiUc.tion ol „,,.. body of ab.Wrac, and .ndexm, .nn oHT/on n.u-s, b. «n,e fed wbon ,/„ >«.» report Js c/a.^.cQ

<- fr " y2.. REPORT SECURITY CLASSIFICATION

ToriGina TING activity (Corporate author)

Naval Postgraduate School

Monterey, California 93940

Unclassified2b. GROUP

"An Approach to Automating Syntax Error Detection Recovery, and

Correction for LR(k) Grammars

>*. DESCRIPTIVE NOTES (Type ol report and. inclusive dates)

Master's Thesis; (June 1972)j'. authoRIS) (First name, middle initial, last name)

Gordon T. McGruther

«. REPORT DATE

June 1972I. CONTRACT OR GRANT NO.

6. PROJEC T NO.

d.

7«. .TOTAL NO. OF PAGES

74

7b. NO. OF REFS

11

9a. ORIGINATOR'* REPORT NUMBERISI

9b. OTHER REPORT NO(S) (Any other numbers that may be aealgned

this report)

10- DISTRIBUTION STATEMENT

Approved for public release; distribution unlimited.

II. SUPPLEMENTARY NOTES 2. SPONSORING MILITARY ACTIVITY

Naval Postgraduate School

Monterey, California 93940

13. ABSTRACT

An automatic, language-independent syntax error detection, recovery, and

correction system for LR(k) grammars is proposed The requirement is made that

the reverse of the grammar involved is also LR(k). The implications and

iustif^catjon for this requirement are discussed. Given that the grammar is

both LR(k) and RL(k), forward and reverse parsers localize errors and def ne_

left and right error context providing a strong base from which error analysis

mav Droceed Possible deterministic and heuristic corrective actions to

Tollow error analysis are presented. The definition and selection of keys from

the set of terminal symbols for the grammar which enable the reverse parser to

be engaged upon error detection are discussed.

A model of the proposed system, implemented in an XPL compiler for a large

ALGOL-1 ike grammar, is described and the results of test programs are exampled

and discussed.

Possible extensions to the system are presented and areas requiring further

analysis are defined.

L/ L/ i nov

S/N 0101 -807-681

1

..1473 (PAGE 1)

73 Security Classification 1.-3140C

Security Classification

KEY WO R OSDOLE *T

LR(k), RL(k)

Reverse parsing

Deterministic and heuristic errorcorrection

Keys

>,F

r:.,i473 <back

>1 0! - 807- 68? 1 74 Security Classification A - 3 I 409

DEC 732-2.33,4

ThesisMI887 McGruther

135192

c.l An approach to auto-mating syntax error de-tection recovery, andcorrection for LR(k)grammars.

^6 DEC73 2.2-3 "5 u

Thesis 135192M1887 McGrutherc.l An approach to auto-

mating syntax error de-tection recovery, andcorrection for LR(k)

g ramma r s

.

thesM1887

An approach to automating syntax error d

3 2768 001 89248 2DUDLEY KNOX LIBRARY