blob: 9a29288815a6749e87b6c49cdd9be54808086b70 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/*
file: ppmntr.txt
Why: text example parallel monitor construct.
*/
parallel-control-monitor {
/@
unquoted-string supersets identifier
and also includes other T like $-$$>$ and cweb comments ie cweb-marker.
Code only gets tried when \# parms in accept queue $>$ 1.
Single entry is one of identifier or cweb.
@/
arbitrator-code
using namespace NS_yacco2_T_enum;
{
parallel_accept_queue_iterator_type z;
z = To_judge->accept_queue__.find(NS_yacco2_T_enum::T_Enum::T_T_cweb_marker_);
if(z != ie){// cweb marker fnd
i = z;
accept_parse_parm = (*z).second;
(*z).second = 0;
goto arbitrated_parameter;
}
// negative: throw out the superset: unquoted-string
// cuz identifier or one of its derivatives should be accepted
i = To_judge->accept_queue__.find(NS_yacco2_T_enum::T_Enum::T_T_unquoted_string_);
delete (*i).second;
To_judge->accept_queue__.erase(i);
i = To_judge->accept_queue__.begin();
accept_parse_parm = (*i).second;
}
***
}
|