This unit contains files that process each Pascal statement: If, While, For, Repeat, Case, With, GoTo, Inline, Asm block, or system procedure.

Processing Statements

Processing statements is more simpler than processing expressions. Consequently, majority of the code is generated by expressions and not by statements themselves.

Processing Statement Blocks

This procedure processes blocks of statements between two tokens. It is used to process begin - end and Repeat - end blocks.

Assembler Statement

This procedure processes Asm - end blocks of assembler instructions. It creates a temporary symbol table for assembler identifiers, indirectly checks for end token and processes assembler instructions.

Assignment Statement and Procedure Call

This procedure processes assignment statements and procedure/function calls.

INLINE Statement

This procedure processes Inline statement  and generates intermediate code for inline records. 

IF Statement

This procedure processes If statement. Both then and else statements are processed recursively.

WHILE Statement

This procedure processes While statement. If condition expression is constant at compile time and evaluates to False no code is generated.

REPEAT Statement

This procedure processes Repeat statement. It calls routine to process statements between tokens Repeat and until.

FOR Statement

This procedure processes For statement. It expects assignable variable and loop limits.

CASE Statement

This procedure processes Case statement. It expects ordinal expression, processes Case constants and constant ranges and generates comparison intermediate code.
<< Start < Prev 1 2 Next > End >>

© 2021 Turbo Pascal | Privacy Policy