Управление сложными проектами в интегрированных САПР - часть 15

 

  Главная      Учебники - Производство     

 

поиск по сайту           правообладателям

 

 

 

 

 

 

 

 

 

содержание   ..  13  14  15  16   ..

 

 

Управление сложными проектами в интегрированных САПР - часть 15

 

 

 

 

58

рархическом уровне и осуществляющих первый, второй и третий проходы гене-
ратора соответственно. 

 

GEN_Pass3

GEN_Pass2

S

y
n

I

N

P

U

S

y
n

P
R

O

J

S

y
n

P

R
O
C

S

y

n

N
O
D

E

S

y
n

T
Y
P
E

S

y
n

S
U
B
D

S

y
n

U
S
E
R

S

y

n
F

I

N

I

S

y

n
S
T
A

R

S
Y

N

T
A
X

E

x

t
r

a

K
E
Y

F
o

r

m

I

N
P
U

T

S
E

M

A
N
T

I

C

T

m

p
F

I

N

I

S
H

T

m

p
S
T

A
R
T

T

m

p
P

R
O
C

E

D

E

x

t
r

a

K
E
Y

B

u

f

R
E

F
E

R

B

u

f

F

I

N

I

S
H

B

u

f

S
T
A
R
T

B

u

f

S

U
B
D

I

V

B

u

f

U
S
E
R

B

u

f

T
Y
P
E

B

u

f

N
O
D
E

B

u

f

P
R

O
C

E
D

F
o

r

m

I

N
O
U

T

F
o

r

m

B
U

F

E

x

t
r

a

K
E
Y

GEN_Pass1

GEN_Main

 

 

Рис. 2.3. Структурная схема ГРМ 

 

 

 

59

Процедура  GEN_Pass1  выполняет  1)  настройку  таблицы  ключевых  слов, 

2) чтение (в цикле) записей  из  файла  исходного описания  модели и  3) вызов  
для  каждой  считанной  записи следующих процедур третьего уровня: 

ExtraKEY  –  выделение  ключевого  слова  оператора,  поиск  его  сокращен-

ного аналога в таблице ключевых слов и возврат адреса соответствующей про-
цедуры обработки; 

TmpPROCED  –  занесение  идентификатора  проектной  процедуры  в  рабо-

чую таблицу (таблица идентификаторов проектных процедур); 

TmpSTART – занесение плановой даты начала работ по данной проектной 

процедуре в рабочую таблицу; 

 TmpFINISH  –  занесение  плановой  даты  окончания  работ  по  данной  про-

ектной процедуре в рабочую таблицу.  

Процедура  GEN_Pass2  выполняет  1)  перенастройку  таблицы  ключевых 

слов, 2) чтение (в цикле) записей из файла исходного описания модели и 3) вы-
зов для каждой считанной записи следующих процедур третьего уровня: 

ExtraKEY  –  выделение  ключевого  слова  оператора,  поиск  его  сокращен-

ного аналога в таблице ключевых слов и возврат адреса соответствующей про-
цедуры синтаксического анализа оператора; 

SYNTAX  –  вызов  процедуры  синтаксического  анализа  оператора,  исполь-

зуя ее адрес, полученный процедурой ExtraKEY

SEMANTIC  –  семантический  анализ  операторов  START,  FINISH  и  INPUT 

(анализ  семантической  корректности  дат  начала  и  окончания  работ,  наличие 
циклических ссылок проектной процедуры); 

FormINPUT – занесение входных ссылок проектной процедуры в рабочую 

таблицу (таблица входных ссылок проектных процедур). 

Процедура  GEN_Pass3  выполняет  1)  перенастройку  таблицы  ключевых 

слов,   2)  чтение (в цикле) записей  из  файла  исходного  описания  модели  и 

3) вызов для каждой считанной записи следующих процедур третьего уровня: 

ExtraKEY  –  выделение  ключевого  слова  оператора,  поиск  его  сокращен-

ного аналога в таблице ключевых слов и возврат адреса соответствующей про-
цедуры обработки; 

FormINOUT  –  формирование  “плавающей”  части  буфера  вывода,  содер-

жащего входные и выходные ссылки проектной процедуры; 

 

 

60

FormBUF    –  формирование  буфера  вывода  и  запись  его  содержимого  в 

выходной файл. 

Процедура  SYNTAX,  используя  адрес,  полученный  процедурой  ExtraKEY 

(см.  выше),  вызывает  для  выполнения  синтаксического  анализа  одну  из  сле-
дующих процедур четвертого (нижнего) уровня: 

SynPROJ – синтаксический разбор оператора PROJECT

SynPROC  – синтаксический разбор оператора PROCEDURE

SynNODE – синтаксический разбор оператора NODE

SynTYPE – синтаксический разбор оператора TYPE

SynUSER – синтаксический разбор оператора USER; 

SynSUBD – синтаксический разбор оператора SUBDIV

SynSTAR – синтаксический разбор оператора START

SynFINI – синтаксический разбор оператора FINISH

SynINPU – синтаксический разбор оператора INPUT
Процедура FormBUF, используя адрес, полученный процедурой ExtraKEY 

(см. выше), вызывает одну из следующих процедур четвертого (нижнего) уров-
ня: 

BufPROCED  – обработка идентификатора проектной процедуры; 

BufNODE – обработка идентификатора проектируемого узла; 

BufTYPE – обработка идентификатора типа проектного решения; 

BufUSER – обработка идентификатора (имени) ответственного исполните-

ля; 

BufSUBDIV  –  обработка  идентификатора  (наименования)  подразделения, 

выполняющего работы в рамках проектной процедуры; 

BufSTART – обработка плановой даты начала работ для проектной проце-

дуры; 

BufFINISH  –  обработка  плановой  даты  окончания  работ  для  проектной 

процедуры; 

BufREFER  –  формирование  входных  и  выходных  ссылок  проектной  про-

цедуры. 

Особенности реализации ГРМ. К особенностям ГРМ можно отне-

сти  отсутствие  у  него  фазы  лексического  анализа  в  классическом  понимании 
данного понятия [48

53]. Вместо этого лексический анализ как бы “размыт” по 

 

 

 

 

 

 

 

содержание   ..  13  14  15  16   ..