1.11.5. ГОЛОВНОЙ МОДУЛЬ КОМПИЛЯТОРА

Головной модуль компилятора связывает все части компилятора между собой. Предполагается, что имя файла, в котором находится исходная программа, передается компилятору через первый параметр в командной строке. Таким образом, компилятор вызывается следующим образом:

CMP FileName

где FileName - имя файла. Это имя запрашивается с помощью библиотечной функции Arg.

**

** File CMP.RF

**

$use DOS;

$use STDIO;

$use CMPPRS;

$use CMPGEN;

$func Compile e.FileName = ;

Main =

<Arg 1> :: e.FileName,

<Compile e.FileName>;

Compile e.FileName =

<Channel> :: s.Chl,

<Open-File s.Chl e.FileName "r">,

<Parse s.Chl> :: t.AProgram,

<Close-Channel s.Chl>,

<Gen-Code t.AProgram> :: t.Code,

<Write-Code t.Code>;