Terminals which are not used

   P_NAME
   P_SEPARATOR
   P_CONST
   P_CAPTION_TEXT


State 121 conflicts: 1 shift/reduce


Grammar

    0 $accept: program $end

    1 program: single_statement
    2        | program single_statement

    3 single_statement: unconditional_instrn separator
    4                 | if_or_unless condition THEN unconditional_instrn separator
    5                 | unconditional_instrn if_or_unless condition separator
    6                 | CYCLE IDENTIFIER actual_parameters_p '=' plus_p exprn ',' plus_p exprn ',' plus_p exprn separator
    7                 | REPEAT separator
    8                 | type name_list separator
    9                 | type_p ARRAY array_list separator
   10                 | SWITCH switch_list separator
   11                 | rt SPEC IDENTIFIER formal_parameter_defn_p separator
   12                 | SPEC IDENTIFIER formal_parameter_defn_p separator
   13                 | rt IDENTIFIER formal_parameter_defn_p separator
   14                 | BEGIN separator
   15                 | END separator
   16                 | P_UNSIGNED_INTEGER ':'
   17                 | IDENTIFIER actual_parameters ':'
   18                 | COMPILEQUERIES separator
   19                 | IGNOREQUERIES separator
   20                 | COMMENT
   21                 | '!' P_COMMENT_TEXT separator
   22                 | LIST separator
   23                 | ENDOFLIST separator
   24                 | MCODE separator
   25                 | ENDOFMCODE separator
   26                 | '*' machine_instrn separator
   27                 | COMPILEARRAYBOUNDCHECKS separator
   28                 | IGNOREARRAYBOUNDCHECKS separator
   29                 | ENDOFPERM separator
   30                 | FAULT fault_list separator
   31                 | separator
   32                 | P_UNSIGNED_INTEGER IDENTIFIER ':'

   33 unconditional_instrn: IDENTIFIER actual_parameters '=' plus_p exprn query_p
   34                     | IDENTIFIER actual_parameters
   35                     | '-' '>' P_UNSIGNED_INTEGER
   36                     | '-' '>' IDENTIFIER '(' plus_p exprn ')'
   37                     | CAPTION
   38                     | RETURN
   39                     | RESULT '=' plus_p exprn
   40                     | STOP
   41                     | MONITORSTOP
   42                     | MONITOR P_UNSIGNED_INTEGER

   43 plus_p: '+'
   44       | '-'
   45       | /* empty */

   46 exprn: operand rest_of_exprn

   47 rest_of_exprn: operator operand rest_of_exprn
   48              | /* empty */

   49 operand: IDENTIFIER actual_parameters_p
   50        | constant
   51        | '(' plus_p exprn ')'

   52 operator: '*' '*'
   53         | '+'
   54         | '-'
   55         | '*'
   56         | /* empty */

   57 actual_parameters_p: '(' plus_p exprn rest_of_actual_parameters ')'
   58                    | /* empty */

   59 rest_of_actual_parameters: ',' plus_p exprn rest_of_actual_parameters
   60                          | /* empty */

   61 query_p: '?'
   62        | /* empty */

   63 comma_p: ','
   64        | /* empty */

   65 if_or_unless: IF
   66             | UNLESS

   67 type: INTEGER
   68     | REAL

   69 type_p: INTEGER
   70       | REAL
   71       | /* empty */

   72 name_list: IDENTIFIER rest_of_name_list

   73 rest_of_name_list: ',' name_list
   74                  | /* empty */

   75 array_list: name_list '(' bound_pair_list ')' rest_of_array_list

   76 rest_of_array_list: ',' array_list
   77                   | /* empty */

   78 bound_pair_list: plus_p exprn ':' plus_p exprn rest_of_bp_list

   79 rest_of_bp_list: ',' bound_pair_list
   80                | /* empty */

   81 switch_list: name_list '(' plus_p constant ':' plus_p constant ')' rest_of_switch_list

   82 rest_of_switch_list: ',' switch_list
   83                    | /* empty */

   84 rt: ROUTINE
   85   | REALFN
   86   | INTEGERFN
   87   | REALMAP
   88   | INTEGERMAP

   89 formal_parameter_defn_p: '(' fp_list ')'
   90                        | /* empty */

   91 fp_list: fp_delimiter name_list rest_of_fp_list

   92 rest_of_fp_list: ';' fp_list
   93                | /* empty */

   94 fp_delimiter: comma_p rt
   95             | comma_p type NAME
   96             | comma_p type
   97             | comma_p type_p ARRAYNAME
   98             | ADDR

   99 condition: simple_cond AND and_cond
  100          | simple_cond OR or_cond
  101          | simple_cond

  102 and_cond: simple_cond rest_of_and_cond

  103 rest_of_and_cond: AND and_cond
  104                 | /* empty */

  105 or_cond: simple_cond rest_of_or_cond

  106 rest_of_or_cond: OR or_cond
  107                | /* empty */

  108 simple_cond: plus_p exprn comparator plus_p exprn rest_of_simple_cond

  109 rest_of_simple_cond: comparator plus_p exprn
  110                    | /* empty */

  111 comparator: '='
  112           | '#'
  113           | '<' '='
  114           | '<'
  115           | '>' '='
  116           | '>'

  117 fault_list: P_UNSIGNED_INTEGER rest_of_N_list '-' '>' P_UNSIGNED_INTEGER rest_of_fault_list

  118 rest_of_N_list: ',' P_UNSIGNED_INTEGER
  119               | /* empty */

  120 rest_of_fault_list: ',' fault_list
  121                   | /* empty */

  122 separator: ';'
  123          | NEWLINE

  124 machine_instrn: IDENTIFIER
  125               | IDENTIFIER ':'
  126               | '*' '`' IDENTIFIER actual_parameters
  127               | '*' '@' IDENTIFIER actual_parameters
  128               | '*' operand
  129               | '*' '=' IDENTIFIER actual_parameters
  130               | '=' IDENTIFIER
  131               | '=' '+' IDENTIFIER
  132               | IDENTIFIER '-' P_UNSIGNED_INTEGER
  133               | IDENTIFIER '+' P_UNSIGNED_INTEGER
  134               | IDENTIFIER '=' IDENTIFIER
  135               | IDENTIFIER '>' IDENTIFIER
  136               | IDENTIFIER '>' '=' IDENTIFIER
  137               | IDENTIFIER '<' '=' IDENTIFIER
  138               | IDENTIFIER '<' IDENTIFIER
  139               | IDENTIFIER '#' IDENTIFIER
  140               | IDENTIFIER '#'
  141               | IDENTIFIER '='
  142               | '-'
  143               | '+'
  144               | '+' IDENTIFIER
  145               | IDENTIFIER '-' IDENTIFIER
  146               | IDENTIFIER '+' IDENTIFIER
  147               | IDENTIFIER '=' '-' P_UNSIGNED_INTEGER
  148               | /* empty */

  149 actual_parameters: actual_parameters_p

  150 constant: P_UNSIGNED_INTEGER


Terminals, with rules where they appear

$end (0) 0
'!' (33) 21
'#' (35) 112 139 140
'(' (40) 36 51 57 75 81 89
')' (41) 36 51 57 75 81 89
'*' (42) 26 52 55 126 127 128 129
'+' (43) 43 53 131 133 143 144 146
',' (44) 6 59 63 73 76 79 82 118 120
'-' (45) 35 36 44 54 117 132 142 145 147
':' (58) 16 17 32 78 81 125
';' (59) 92 122
'<' (60) 113 114 137 138
'=' (61) 6 33 39 111 113 115 129 130 131 134 136 137 141 147
'>' (62) 35 36 115 116 117 135 136
'?' (63) 61
'@' (64) 127
'`' (96) 126
error (256)
P_NAME (258)
P_SEPARATOR (259)
P_CONST (260)
P_COMMENT_TEXT (261) 21
P_CAPTION_TEXT (262)
P_UNSIGNED_INTEGER (263) 16 32 35 42 117 118 132 133 147 150
ADDR (264) 98
AND (265) 99 103
ARRAY (266) 9
ARRAYNAME (267) 97
BEGIN (268) 14
CAPTION (269) 37
COMMENT (270) 20
COMPILEARRAYBOUNDCHECKS (271) 27
COMPILEQUERIES (272) 18
CYCLE (273) 6
END (274) 15
ENDOFLIST (275) 23
ENDOFMCODE (276) 25
ENDOFPERM (277) 29
FAULT (278) 30
IF (279) 65
IGNOREARRAYBOUNDCHECKS (280) 28
IGNOREQUERIES (281) 19
INTEGER (282) 67 69
INTEGERFN (283) 86
INTEGERMAP (284) 88
LIST (285) 22
MCODE (286) 24
MONITOR (287) 42
MONITORSTOP (288) 41
NAME (289) 95
OR (290) 100 106
REAL (291) 68 70
REALFN (292) 85
REALMAP (293) 87
REPEAT (294) 7
RESULT (295) 39
RETURN (296) 38
ROUTINE (297) 84
SPEC (298) 11 12
STOP (299) 40
SWITCH (300) 10
THEN (301) 4
UNLESS (302) 66
IDENTIFIER (303) 6 11 12 13 17 32 33 34 36 49 72 124 125 126 127 129
    130 131 132 133 134 135 136 137 138 139 140 141 144 145 146 147
NEWLINE (304) 123


Nonterminals, with rules where they appear

$accept (66)
    on left: 0
program (67)
    on left: 1 2, on right: 0 2
single_statement (68)
    on left: 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, on right: 1 2
unconditional_instrn (69)
    on left: 33 34 35 36 37 38 39 40 41 42, on right: 3 4 5
plus_p (70)
    on left: 43 44 45, on right: 6 33 36 39 51 57 59 78 81 108 109
exprn (71)
    on left: 46, on right: 6 33 36 39 51 57 59 78 108 109
rest_of_exprn (72)
    on left: 47 48, on right: 46 47
operand (73)
    on left: 49 50 51, on right: 46 47 128
operator (74)
    on left: 52 53 54 55 56, on right: 47
actual_parameters_p (75)
    on left: 57 58, on right: 6 49 149
rest_of_actual_parameters (76)
    on left: 59 60, on right: 57 59
query_p (77)
    on left: 61 62, on right: 33
comma_p (78)
    on left: 63 64, on right: 94 95 96 97
if_or_unless (79)
    on left: 65 66, on right: 4 5
type (80)
    on left: 67 68, on right: 8 95 96
type_p (81)
    on left: 69 70 71, on right: 9 97
name_list (82)
    on left: 72, on right: 8 73 75 81 91
rest_of_name_list (83)
    on left: 73 74, on right: 72
array_list (84)
    on left: 75, on right: 9 76
rest_of_array_list (85)
    on left: 76 77, on right: 75
bound_pair_list (86)
    on left: 78, on right: 75 79
rest_of_bp_list (87)
    on left: 79 80, on right: 78
switch_list (88)
    on left: 81, on right: 10 82
rest_of_switch_list (89)
    on left: 82 83, on right: 81
rt (90)
    on left: 84 85 86 87 88, on right: 11 13 94
formal_parameter_defn_p (91)
    on left: 89 90, on right: 11 12 13
fp_list (92)
    on left: 91, on right: 89 92
rest_of_fp_list (93)
    on left: 92 93, on right: 91
fp_delimiter (94)
    on left: 94 95 96 97 98, on right: 91
condition (95)
    on left: 99 100 101, on right: 4 5
and_cond (96)
    on left: 102, on right: 99 103
rest_of_and_cond (97)
    on left: 103 104, on right: 102
or_cond (98)
    on left: 105, on right: 100 106
rest_of_or_cond (99)
    on left: 106 107, on right: 105
simple_cond (100)
    on left: 108, on right: 99 100 101 102 105
rest_of_simple_cond (101)
    on left: 109 110, on right: 108
comparator (102)
    on left: 111 112 113 114 115 116, on right: 108 109
fault_list (103)
    on left: 117, on right: 30 120
rest_of_N_list (104)
    on left: 118 119, on right: 117
rest_of_fault_list (105)
    on left: 120 121, on right: 117
separator (106)
    on left: 122 123, on right: 3 4 5 6 7 8 9 10 11 12 13 14 15 18
    19 21 22 23 24 25 26 27 28 29 30 31
machine_instrn (107)
    on left: 124 125 126 127 128 129 130 131 132 133 134 135 136 137
    138 139 140 141 142 143 144 145 146 147 148, on right: 26
actual_parameters (108)
    on left: 149, on right: 17 33 34 126 127 129
constant (109)
    on left: 150, on right: 50 81


state 0

    0 $accept:  program $end

    P_UNSIGNED_INTEGER       shift, and go to state 1
    BEGIN                    shift, and go to state 2
    CAPTION                  shift, and go to state 3
    COMMENT                  shift, and go to state 4
    COMPILEARRAYBOUNDCHECKS  shift, and go to state 5
    COMPILEQUERIES           shift, and go to state 6
    CYCLE                    shift, and go to state 7
    END                      shift, and go to state 8
    ENDOFLIST                shift, and go to state 9
    ENDOFMCODE               shift, and go to state 10
    ENDOFPERM                shift, and go to state 11
    FAULT                    shift, and go to state 12
    IF                       shift, and go to state 13
    IGNOREARRAYBOUNDCHECKS   shift, and go to state 14
    IGNOREQUERIES            shift, and go to state 15
    INTEGER                  shift, and go to state 16
    INTEGERFN                shift, and go to state 17
    INTEGERMAP               shift, and go to state 18
    LIST                     shift, and go to state 19
    MCODE                    shift, and go to state 20
    MONITOR                  shift, and go to state 21
    MONITORSTOP              shift, and go to state 22
    REAL                     shift, and go to state 23
    REALFN                   shift, and go to state 24
    REALMAP                  shift, and go to state 25
    REPEAT                   shift, and go to state 26
    RESULT                   shift, and go to state 27
    RETURN                   shift, and go to state 28
    ROUTINE                  shift, and go to state 29
    SPEC                     shift, and go to state 30
    STOP                     shift, and go to state 31
    SWITCH                   shift, and go to state 32
    UNLESS                   shift, and go to state 33
    IDENTIFIER               shift, and go to state 34
    NEWLINE                  shift, and go to state 35
    '!'                      shift, and go to state 36
    '*'                      shift, and go to state 37
    '-'                      shift, and go to state 38
    ';'                      shift, and go to state 39

    $default  reduce using rule 71 (type_p)

    program               go to state 40
    single_statement      go to state 41
    unconditional_instrn  go to state 42
    if_or_unless          go to state 43
    type                  go to state 44
    type_p                go to state 45
    rt                    go to state 46
    separator             go to state 47


state 1

   16 single_statement: P_UNSIGNED_INTEGER  ':'
   32                 | P_UNSIGNED_INTEGER  IDENTIFIER ':'

    IDENTIFIER  shift, and go to state 48
    ':'         shift, and go to state 49


state 2

   14 single_statement: BEGIN  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 50


state 3

   37 unconditional_instrn: CAPTION 

    $default  reduce using rule 37 (unconditional_instrn)


state 4

   20 single_statement: COMMENT 

    $default  reduce using rule 20 (single_statement)


state 5

   27 single_statement: COMPILEARRAYBOUNDCHECKS  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 51


state 6

   18 single_statement: COMPILEQUERIES  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 52


state 7

    6 single_statement: CYCLE  IDENTIFIER actual_parameters_p '=' plus_p exprn ',' plus_p exprn ',' plus_p exprn separator

    IDENTIFIER  shift, and go to state 53


state 8

   15 single_statement: END  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 54


state 9

   23 single_statement: ENDOFLIST  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 55


state 10

   25 single_statement: ENDOFMCODE  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 56


state 11

   29 single_statement: ENDOFPERM  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 57


state 12

   30 single_statement: FAULT  fault_list separator

    P_UNSIGNED_INTEGER  shift, and go to state 58

    fault_list  go to state 59


state 13

   65 if_or_unless: IF 

    $default  reduce using rule 65 (if_or_unless)


state 14

   28 single_statement: IGNOREARRAYBOUNDCHECKS  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 60


state 15

   19 single_statement: IGNOREQUERIES  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 61


state 16

   67 type: INTEGER 
   69 type_p: INTEGER 

    ARRAY      reduce using rule 69 (type_p)
    ARRAYNAME  reduce using rule 69 (type_p)
    $default   reduce using rule 67 (type)


state 17

   86 rt: INTEGERFN 

    $default  reduce using rule 86 (rt)


state 18

   88 rt: INTEGERMAP 

    $default  reduce using rule 88 (rt)


state 19

   22 single_statement: LIST  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 62


state 20

   24 single_statement: MCODE  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 63


state 21

   42 unconditional_instrn: MONITOR  P_UNSIGNED_INTEGER

    P_UNSIGNED_INTEGER  shift, and go to state 64


state 22

   41 unconditional_instrn: MONITORSTOP 

    $default  reduce using rule 41 (unconditional_instrn)


state 23

   68 type: REAL 
   70 type_p: REAL 

    ARRAY      reduce using rule 70 (type_p)
    ARRAYNAME  reduce using rule 70 (type_p)
    $default   reduce using rule 68 (type)


state 24

   85 rt: REALFN 

    $default  reduce using rule 85 (rt)


state 25

   87 rt: REALMAP 

    $default  reduce using rule 87 (rt)


state 26

    7 single_statement: REPEAT  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 65


state 27

   39 unconditional_instrn: RESULT  '=' plus_p exprn

    '='  shift, and go to state 66


state 28

   38 unconditional_instrn: RETURN 

    $default  reduce using rule 38 (unconditional_instrn)


state 29

   84 rt: ROUTINE 

    $default  reduce using rule 84 (rt)


state 30

   12 single_statement: SPEC  IDENTIFIER formal_parameter_defn_p separator

    IDENTIFIER  shift, and go to state 67


state 31

   40 unconditional_instrn: STOP 

    $default  reduce using rule 40 (unconditional_instrn)


state 32

   10 single_statement: SWITCH  switch_list separator

    IDENTIFIER  shift, and go to state 68

    name_list    go to state 69
    switch_list  go to state 70


state 33

   66 if_or_unless: UNLESS 

    $default  reduce using rule 66 (if_or_unless)


state 34

   17 single_statement: IDENTIFIER  actual_parameters ':'
   33 unconditional_instrn: IDENTIFIER  actual_parameters '=' plus_p exprn query_p
   34                     | IDENTIFIER  actual_parameters

    '('  shift, and go to state 71

    $default  reduce using rule 58 (actual_parameters_p)

    actual_parameters_p  go to state 72
    actual_parameters    go to state 73


state 35

  123 separator: NEWLINE 

    $default  reduce using rule 123 (separator)


state 36

   21 single_statement: '!'  P_COMMENT_TEXT separator

    P_COMMENT_TEXT  shift, and go to state 74


state 37

   26 single_statement: '*'  machine_instrn separator

    IDENTIFIER  shift, and go to state 75
    '='         shift, and go to state 76
    '*'         shift, and go to state 77
    '-'         shift, and go to state 78
    '+'         shift, and go to state 79

    $default  reduce using rule 148 (machine_instrn)

    machine_instrn  go to state 80


state 38

   35 unconditional_instrn: '-'  '>' P_UNSIGNED_INTEGER
   36                     | '-'  '>' IDENTIFIER '(' plus_p exprn ')'

    '>'  shift, and go to state 81


state 39

  122 separator: ';' 

    $default  reduce using rule 122 (separator)


state 40

    0 $accept: program  $end
    2 program: program  single_statement

    $end                     shift, and go to state 82
    P_UNSIGNED_INTEGER       shift, and go to state 1
    BEGIN                    shift, and go to state 2
    CAPTION                  shift, and go to state 3
    COMMENT                  shift, and go to state 4
    COMPILEARRAYBOUNDCHECKS  shift, and go to state 5
    COMPILEQUERIES           shift, and go to state 6
    CYCLE                    shift, and go to state 7
    END                      shift, and go to state 8
    ENDOFLIST                shift, and go to state 9
    ENDOFMCODE               shift, and go to state 10
    ENDOFPERM                shift, and go to state 11
    FAULT                    shift, and go to state 12
    IF                       shift, and go to state 13
    IGNOREARRAYBOUNDCHECKS   shift, and go to state 14
    IGNOREQUERIES            shift, and go to state 15
    INTEGER                  shift, and go to state 16
    INTEGERFN                shift, and go to state 17
    INTEGERMAP               shift, and go to state 18
    LIST                     shift, and go to state 19
    MCODE                    shift, and go to state 20
    MONITOR                  shift, and go to state 21
    MONITORSTOP              shift, and go to state 22
    REAL                     shift, and go to state 23
    REALFN                   shift, and go to state 24
    REALMAP                  shift, and go to state 25
    REPEAT                   shift, and go to state 26
    RESULT                   shift, and go to state 27
    RETURN                   shift, and go to state 28
    ROUTINE                  shift, and go to state 29
    SPEC                     shift, and go to state 30
    STOP                     shift, and go to state 31
    SWITCH                   shift, and go to state 32
    UNLESS                   shift, and go to state 33
    IDENTIFIER               shift, and go to state 34
    NEWLINE                  shift, and go to state 35
    '!'                      shift, and go to state 36
    '*'                      shift, and go to state 37
    '-'                      shift, and go to state 38
    ';'                      shift, and go to state 39

    $default  reduce using rule 71 (type_p)

    single_statement      go to state 83
    unconditional_instrn  go to state 42
    if_or_unless          go to state 43
    type                  go to state 44
    type_p                go to state 45
    rt                    go to state 46
    separator             go to state 47


state 41

    1 program: single_statement 

    $default  reduce using rule 1 (program)


state 42

    3 single_statement: unconditional_instrn  separator
    5                 | unconditional_instrn  if_or_unless condition separator

    IF       shift, and go to state 13
    UNLESS   shift, and go to state 33
    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    if_or_unless  go to state 84
    separator     go to state 85


state 43

    4 single_statement: if_or_unless  condition THEN unconditional_instrn separator

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p       go to state 88
    condition    go to state 89
    simple_cond  go to state 90


state 44

    8 single_statement: type  name_list separator

    IDENTIFIER  shift, and go to state 68

    name_list  go to state 91


state 45

    9 single_statement: type_p  ARRAY array_list separator

    ARRAY  shift, and go to state 92


state 46

   11 single_statement: rt  SPEC IDENTIFIER formal_parameter_defn_p separator
   13                 | rt  IDENTIFIER formal_parameter_defn_p separator

    SPEC        shift, and go to state 93
    IDENTIFIER  shift, and go to state 94


state 47

   31 single_statement: separator 

    $default  reduce using rule 31 (single_statement)


state 48

   32 single_statement: P_UNSIGNED_INTEGER IDENTIFIER  ':'

    ':'  shift, and go to state 95


state 49

   16 single_statement: P_UNSIGNED_INTEGER ':' 

    $default  reduce using rule 16 (single_statement)


state 50

   14 single_statement: BEGIN separator 

    $default  reduce using rule 14 (single_statement)


state 51

   27 single_statement: COMPILEARRAYBOUNDCHECKS separator 

    $default  reduce using rule 27 (single_statement)


state 52

   18 single_statement: COMPILEQUERIES separator 

    $default  reduce using rule 18 (single_statement)


state 53

    6 single_statement: CYCLE IDENTIFIER  actual_parameters_p '=' plus_p exprn ',' plus_p exprn ',' plus_p exprn separator

    '('  shift, and go to state 71

    $default  reduce using rule 58 (actual_parameters_p)

    actual_parameters_p  go to state 96


state 54

   15 single_statement: END separator 

    $default  reduce using rule 15 (single_statement)


state 55

   23 single_statement: ENDOFLIST separator 

    $default  reduce using rule 23 (single_statement)


state 56

   25 single_statement: ENDOFMCODE separator 

    $default  reduce using rule 25 (single_statement)


state 57

   29 single_statement: ENDOFPERM separator 

    $default  reduce using rule 29 (single_statement)


state 58

  117 fault_list: P_UNSIGNED_INTEGER  rest_of_N_list '-' '>' P_UNSIGNED_INTEGER rest_of_fault_list

    ','  shift, and go to state 97

    $default  reduce using rule 119 (rest_of_N_list)

    rest_of_N_list  go to state 98


state 59

   30 single_statement: FAULT fault_list  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 99


state 60

   28 single_statement: IGNOREARRAYBOUNDCHECKS separator 

    $default  reduce using rule 28 (single_statement)


state 61

   19 single_statement: IGNOREQUERIES separator 

    $default  reduce using rule 19 (single_statement)


state 62

   22 single_statement: LIST separator 

    $default  reduce using rule 22 (single_statement)


state 63

   24 single_statement: MCODE separator 

    $default  reduce using rule 24 (single_statement)


state 64

   42 unconditional_instrn: MONITOR P_UNSIGNED_INTEGER 

    $default  reduce using rule 42 (unconditional_instrn)


state 65

    7 single_statement: REPEAT separator 

    $default  reduce using rule 7 (single_statement)


state 66

   39 unconditional_instrn: RESULT '='  plus_p exprn

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 100


state 67

   12 single_statement: SPEC IDENTIFIER  formal_parameter_defn_p separator

    '('  shift, and go to state 101

    $default  reduce using rule 90 (formal_parameter_defn_p)

    formal_parameter_defn_p  go to state 102


state 68

   72 name_list: IDENTIFIER  rest_of_name_list

    ','  shift, and go to state 103

    $default  reduce using rule 74 (rest_of_name_list)

    rest_of_name_list  go to state 104


state 69

   81 switch_list: name_list  '(' plus_p constant ':' plus_p constant ')' rest_of_switch_list

    '('  shift, and go to state 105


state 70

   10 single_statement: SWITCH switch_list  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 106


state 71

   57 actual_parameters_p: '('  plus_p exprn rest_of_actual_parameters ')'

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 107


state 72

  149 actual_parameters: actual_parameters_p 

    $default  reduce using rule 149 (actual_parameters)


state 73

   17 single_statement: IDENTIFIER actual_parameters  ':'
   33 unconditional_instrn: IDENTIFIER actual_parameters  '=' plus_p exprn query_p
   34                     | IDENTIFIER actual_parameters 

    '='  shift, and go to state 108
    ':'  shift, and go to state 109

    $default  reduce using rule 34 (unconditional_instrn)


state 74

   21 single_statement: '!' P_COMMENT_TEXT  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 110


state 75

  124 machine_instrn: IDENTIFIER 
  125               | IDENTIFIER  ':'
  132               | IDENTIFIER  '-' P_UNSIGNED_INTEGER
  133               | IDENTIFIER  '+' P_UNSIGNED_INTEGER
  134               | IDENTIFIER  '=' IDENTIFIER
  135               | IDENTIFIER  '>' IDENTIFIER
  136               | IDENTIFIER  '>' '=' IDENTIFIER
  137               | IDENTIFIER  '<' '=' IDENTIFIER
  138               | IDENTIFIER  '<' IDENTIFIER
  139               | IDENTIFIER  '#' IDENTIFIER
  140               | IDENTIFIER  '#'
  141               | IDENTIFIER  '='
  145               | IDENTIFIER  '-' IDENTIFIER
  146               | IDENTIFIER  '+' IDENTIFIER
  147               | IDENTIFIER  '=' '-' P_UNSIGNED_INTEGER

    '='  shift, and go to state 111
    ':'  shift, and go to state 112
    '-'  shift, and go to state 113
    '>'  shift, and go to state 114
    '+'  shift, and go to state 115
    '#'  shift, and go to state 116
    '<'  shift, and go to state 117

    $default  reduce using rule 124 (machine_instrn)


state 76

  130 machine_instrn: '='  IDENTIFIER
  131               | '='  '+' IDENTIFIER

    IDENTIFIER  shift, and go to state 118
    '+'         shift, and go to state 119


state 77

  126 machine_instrn: '*'  '`' IDENTIFIER actual_parameters
  127               | '*'  '@' IDENTIFIER actual_parameters
  128               | '*'  operand
  129               | '*'  '=' IDENTIFIER actual_parameters

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '='                 shift, and go to state 122
    '('                 shift, and go to state 123
    '`'                 shift, and go to state 124
    '@'                 shift, and go to state 125

    operand   go to state 126
    constant  go to state 127


state 78

  142 machine_instrn: '-' 

    $default  reduce using rule 142 (machine_instrn)


state 79

  143 machine_instrn: '+' 
  144               | '+'  IDENTIFIER

    IDENTIFIER  shift, and go to state 128

    $default  reduce using rule 143 (machine_instrn)


state 80

   26 single_statement: '*' machine_instrn  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 129


state 81

   35 unconditional_instrn: '-' '>'  P_UNSIGNED_INTEGER
   36                     | '-' '>'  IDENTIFIER '(' plus_p exprn ')'

    P_UNSIGNED_INTEGER  shift, and go to state 130
    IDENTIFIER          shift, and go to state 131


state 82

    0 $accept: program $end 

    $default  accept


state 83

    2 program: program single_statement 

    $default  reduce using rule 2 (program)


state 84

    5 single_statement: unconditional_instrn if_or_unless  condition separator

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p       go to state 88
    condition    go to state 132
    simple_cond  go to state 90


state 85

    3 single_statement: unconditional_instrn separator 

    $default  reduce using rule 3 (single_statement)


state 86

   44 plus_p: '-' 

    $default  reduce using rule 44 (plus_p)


state 87

   43 plus_p: '+' 

    $default  reduce using rule 43 (plus_p)


state 88

  108 simple_cond: plus_p  exprn comparator plus_p exprn rest_of_simple_cond

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 133
    operand   go to state 134
    constant  go to state 127


state 89

    4 single_statement: if_or_unless condition  THEN unconditional_instrn separator

    THEN  shift, and go to state 135


state 90

   99 condition: simple_cond  AND and_cond
  100          | simple_cond  OR or_cond
  101          | simple_cond 

    AND  shift, and go to state 136
    OR   shift, and go to state 137

    $default  reduce using rule 101 (condition)


state 91

    8 single_statement: type name_list  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 138


state 92

    9 single_statement: type_p ARRAY  array_list separator

    IDENTIFIER  shift, and go to state 68

    name_list   go to state 139
    array_list  go to state 140


state 93

   11 single_statement: rt SPEC  IDENTIFIER formal_parameter_defn_p separator

    IDENTIFIER  shift, and go to state 141


state 94

   13 single_statement: rt IDENTIFIER  formal_parameter_defn_p separator

    '('  shift, and go to state 101

    $default  reduce using rule 90 (formal_parameter_defn_p)

    formal_parameter_defn_p  go to state 142


state 95

   32 single_statement: P_UNSIGNED_INTEGER IDENTIFIER ':' 

    $default  reduce using rule 32 (single_statement)


state 96

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p  '=' plus_p exprn ',' plus_p exprn ',' plus_p exprn separator

    '='  shift, and go to state 143


state 97

  118 rest_of_N_list: ','  P_UNSIGNED_INTEGER

    P_UNSIGNED_INTEGER  shift, and go to state 144


state 98

  117 fault_list: P_UNSIGNED_INTEGER rest_of_N_list  '-' '>' P_UNSIGNED_INTEGER rest_of_fault_list

    '-'  shift, and go to state 145


state 99

   30 single_statement: FAULT fault_list separator 

    $default  reduce using rule 30 (single_statement)


state 100

   39 unconditional_instrn: RESULT '=' plus_p  exprn

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 146
    operand   go to state 134
    constant  go to state 127


state 101

   89 formal_parameter_defn_p: '('  fp_list ')'

    ADDR  shift, and go to state 147
    ','   shift, and go to state 148

    $default  reduce using rule 64 (comma_p)

    comma_p       go to state 149
    fp_list       go to state 150
    fp_delimiter  go to state 151


state 102

   12 single_statement: SPEC IDENTIFIER formal_parameter_defn_p  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 152


state 103

   73 rest_of_name_list: ','  name_list

    IDENTIFIER  shift, and go to state 68

    name_list  go to state 153


state 104

   72 name_list: IDENTIFIER rest_of_name_list 

    $default  reduce using rule 72 (name_list)


state 105

   81 switch_list: name_list '('  plus_p constant ':' plus_p constant ')' rest_of_switch_list

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 154


state 106

   10 single_statement: SWITCH switch_list separator 

    $default  reduce using rule 10 (single_statement)


state 107

   57 actual_parameters_p: '(' plus_p  exprn rest_of_actual_parameters ')'

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 155
    operand   go to state 134
    constant  go to state 127


state 108

   33 unconditional_instrn: IDENTIFIER actual_parameters '='  plus_p exprn query_p

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 156


state 109

   17 single_statement: IDENTIFIER actual_parameters ':' 

    $default  reduce using rule 17 (single_statement)


state 110

   21 single_statement: '!' P_COMMENT_TEXT separator 

    $default  reduce using rule 21 (single_statement)


state 111

  134 machine_instrn: IDENTIFIER '='  IDENTIFIER
  141               | IDENTIFIER '=' 
  147               | IDENTIFIER '='  '-' P_UNSIGNED_INTEGER

    IDENTIFIER  shift, and go to state 157
    '-'         shift, and go to state 158

    $default  reduce using rule 141 (machine_instrn)


state 112

  125 machine_instrn: IDENTIFIER ':' 

    $default  reduce using rule 125 (machine_instrn)


state 113

  132 machine_instrn: IDENTIFIER '-'  P_UNSIGNED_INTEGER
  145               | IDENTIFIER '-'  IDENTIFIER

    P_UNSIGNED_INTEGER  shift, and go to state 159
    IDENTIFIER          shift, and go to state 160


state 114

  135 machine_instrn: IDENTIFIER '>'  IDENTIFIER
  136               | IDENTIFIER '>'  '=' IDENTIFIER

    IDENTIFIER  shift, and go to state 161
    '='         shift, and go to state 162


state 115

  133 machine_instrn: IDENTIFIER '+'  P_UNSIGNED_INTEGER
  146               | IDENTIFIER '+'  IDENTIFIER

    P_UNSIGNED_INTEGER  shift, and go to state 163
    IDENTIFIER          shift, and go to state 164


state 116

  139 machine_instrn: IDENTIFIER '#'  IDENTIFIER
  140               | IDENTIFIER '#' 

    IDENTIFIER  shift, and go to state 165

    $default  reduce using rule 140 (machine_instrn)


state 117

  137 machine_instrn: IDENTIFIER '<'  '=' IDENTIFIER
  138               | IDENTIFIER '<'  IDENTIFIER

    IDENTIFIER  shift, and go to state 166
    '='         shift, and go to state 167


state 118

  130 machine_instrn: '=' IDENTIFIER 

    $default  reduce using rule 130 (machine_instrn)


state 119

  131 machine_instrn: '=' '+'  IDENTIFIER

    IDENTIFIER  shift, and go to state 168


state 120

  150 constant: P_UNSIGNED_INTEGER 

    $default  reduce using rule 150 (constant)


state 121

   49 operand: IDENTIFIER  actual_parameters_p

    '('  shift, and go to state 71

    '('       [reduce using rule 58 (actual_parameters_p)]
    $default  reduce using rule 58 (actual_parameters_p)

    actual_parameters_p  go to state 169


state 122

  129 machine_instrn: '*' '='  IDENTIFIER actual_parameters

    IDENTIFIER  shift, and go to state 170


state 123

   51 operand: '('  plus_p exprn ')'

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 171


state 124

  126 machine_instrn: '*' '`'  IDENTIFIER actual_parameters

    IDENTIFIER  shift, and go to state 172


state 125

  127 machine_instrn: '*' '@'  IDENTIFIER actual_parameters

    IDENTIFIER  shift, and go to state 173


state 126

  128 machine_instrn: '*' operand 

    $default  reduce using rule 128 (machine_instrn)


state 127

   50 operand: constant 

    $default  reduce using rule 50 (operand)


state 128

  144 machine_instrn: '+' IDENTIFIER 

    $default  reduce using rule 144 (machine_instrn)


state 129

   26 single_statement: '*' machine_instrn separator 

    $default  reduce using rule 26 (single_statement)


state 130

   35 unconditional_instrn: '-' '>' P_UNSIGNED_INTEGER 

    $default  reduce using rule 35 (unconditional_instrn)


state 131

   36 unconditional_instrn: '-' '>' IDENTIFIER  '(' plus_p exprn ')'

    '('  shift, and go to state 174


state 132

    5 single_statement: unconditional_instrn if_or_unless condition  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 175


state 133

  108 simple_cond: plus_p exprn  comparator plus_p exprn rest_of_simple_cond

    '='  shift, and go to state 176
    '>'  shift, and go to state 177
    '#'  shift, and go to state 178
    '<'  shift, and go to state 179

    comparator  go to state 180


state 134

   46 exprn: operand  rest_of_exprn

    '*'  shift, and go to state 181
    '-'  shift, and go to state 182
    '+'  shift, and go to state 183

    P_UNSIGNED_INTEGER  reduce using rule 56 (operator)
    IDENTIFIER          reduce using rule 56 (operator)
    '('                 reduce using rule 56 (operator)
    $default            reduce using rule 48 (rest_of_exprn)

    rest_of_exprn  go to state 184
    operator       go to state 185


state 135

    4 single_statement: if_or_unless condition THEN  unconditional_instrn separator

    CAPTION      shift, and go to state 3
    MONITOR      shift, and go to state 21
    MONITORSTOP  shift, and go to state 22
    RESULT       shift, and go to state 27
    RETURN       shift, and go to state 28
    STOP         shift, and go to state 31
    IDENTIFIER   shift, and go to state 186
    '-'          shift, and go to state 38

    unconditional_instrn  go to state 187


state 136

   99 condition: simple_cond AND  and_cond

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p       go to state 88
    and_cond     go to state 188
    simple_cond  go to state 189


state 137

  100 condition: simple_cond OR  or_cond

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p       go to state 88
    or_cond      go to state 190
    simple_cond  go to state 191


state 138

    8 single_statement: type name_list separator 

    $default  reduce using rule 8 (single_statement)


state 139

   75 array_list: name_list  '(' bound_pair_list ')' rest_of_array_list

    '('  shift, and go to state 192


state 140

    9 single_statement: type_p ARRAY array_list  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 193


state 141

   11 single_statement: rt SPEC IDENTIFIER  formal_parameter_defn_p separator

    '('  shift, and go to state 101

    $default  reduce using rule 90 (formal_parameter_defn_p)

    formal_parameter_defn_p  go to state 194


state 142

   13 single_statement: rt IDENTIFIER formal_parameter_defn_p  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 195


state 143

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p '='  plus_p exprn ',' plus_p exprn ',' plus_p exprn separator

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 196


state 144

  118 rest_of_N_list: ',' P_UNSIGNED_INTEGER 

    $default  reduce using rule 118 (rest_of_N_list)


state 145

  117 fault_list: P_UNSIGNED_INTEGER rest_of_N_list '-'  '>' P_UNSIGNED_INTEGER rest_of_fault_list

    '>'  shift, and go to state 197


state 146

   39 unconditional_instrn: RESULT '=' plus_p exprn 

    $default  reduce using rule 39 (unconditional_instrn)


state 147

   98 fp_delimiter: ADDR 

    $default  reduce using rule 98 (fp_delimiter)


state 148

   63 comma_p: ',' 

    $default  reduce using rule 63 (comma_p)


state 149

   94 fp_delimiter: comma_p  rt
   95             | comma_p  type NAME
   96             | comma_p  type
   97             | comma_p  type_p ARRAYNAME

    INTEGER     shift, and go to state 16
    INTEGERFN   shift, and go to state 17
    INTEGERMAP  shift, and go to state 18
    REAL        shift, and go to state 23
    REALFN      shift, and go to state 24
    REALMAP     shift, and go to state 25
    ROUTINE     shift, and go to state 29

    $default  reduce using rule 71 (type_p)

    type    go to state 198
    type_p  go to state 199
    rt      go to state 200


state 150

   89 formal_parameter_defn_p: '(' fp_list  ')'

    ')'  shift, and go to state 201


state 151

   91 fp_list: fp_delimiter  name_list rest_of_fp_list

    IDENTIFIER  shift, and go to state 68

    name_list  go to state 202


state 152

   12 single_statement: SPEC IDENTIFIER formal_parameter_defn_p separator 

    $default  reduce using rule 12 (single_statement)


state 153

   73 rest_of_name_list: ',' name_list 

    $default  reduce using rule 73 (rest_of_name_list)


state 154

   81 switch_list: name_list '(' plus_p  constant ':' plus_p constant ')' rest_of_switch_list

    P_UNSIGNED_INTEGER  shift, and go to state 120

    constant  go to state 203


state 155

   57 actual_parameters_p: '(' plus_p exprn  rest_of_actual_parameters ')'

    ','  shift, and go to state 204

    $default  reduce using rule 60 (rest_of_actual_parameters)

    rest_of_actual_parameters  go to state 205


state 156

   33 unconditional_instrn: IDENTIFIER actual_parameters '=' plus_p  exprn query_p

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 206
    operand   go to state 134
    constant  go to state 127


state 157

  134 machine_instrn: IDENTIFIER '=' IDENTIFIER 

    $default  reduce using rule 134 (machine_instrn)


state 158

  147 machine_instrn: IDENTIFIER '=' '-'  P_UNSIGNED_INTEGER

    P_UNSIGNED_INTEGER  shift, and go to state 207


state 159

  132 machine_instrn: IDENTIFIER '-' P_UNSIGNED_INTEGER 

    $default  reduce using rule 132 (machine_instrn)


state 160

  145 machine_instrn: IDENTIFIER '-' IDENTIFIER 

    $default  reduce using rule 145 (machine_instrn)


state 161

  135 machine_instrn: IDENTIFIER '>' IDENTIFIER 

    $default  reduce using rule 135 (machine_instrn)


state 162

  136 machine_instrn: IDENTIFIER '>' '='  IDENTIFIER

    IDENTIFIER  shift, and go to state 208


state 163

  133 machine_instrn: IDENTIFIER '+' P_UNSIGNED_INTEGER 

    $default  reduce using rule 133 (machine_instrn)


state 164

  146 machine_instrn: IDENTIFIER '+' IDENTIFIER 

    $default  reduce using rule 146 (machine_instrn)


state 165

  139 machine_instrn: IDENTIFIER '#' IDENTIFIER 

    $default  reduce using rule 139 (machine_instrn)


state 166

  138 machine_instrn: IDENTIFIER '<' IDENTIFIER 

    $default  reduce using rule 138 (machine_instrn)


state 167

  137 machine_instrn: IDENTIFIER '<' '='  IDENTIFIER

    IDENTIFIER  shift, and go to state 209


state 168

  131 machine_instrn: '=' '+' IDENTIFIER 

    $default  reduce using rule 131 (machine_instrn)


state 169

   49 operand: IDENTIFIER actual_parameters_p 

    $default  reduce using rule 49 (operand)


state 170

  129 machine_instrn: '*' '=' IDENTIFIER  actual_parameters

    '('  shift, and go to state 71

    $default  reduce using rule 58 (actual_parameters_p)

    actual_parameters_p  go to state 72
    actual_parameters    go to state 210


state 171

   51 operand: '(' plus_p  exprn ')'

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 211
    operand   go to state 134
    constant  go to state 127


state 172

  126 machine_instrn: '*' '`' IDENTIFIER  actual_parameters

    '('  shift, and go to state 71

    $default  reduce using rule 58 (actual_parameters_p)

    actual_parameters_p  go to state 72
    actual_parameters    go to state 212


state 173

  127 machine_instrn: '*' '@' IDENTIFIER  actual_parameters

    '('  shift, and go to state 71

    $default  reduce using rule 58 (actual_parameters_p)

    actual_parameters_p  go to state 72
    actual_parameters    go to state 213


state 174

   36 unconditional_instrn: '-' '>' IDENTIFIER '('  plus_p exprn ')'

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 214


state 175

    5 single_statement: unconditional_instrn if_or_unless condition separator 

    $default  reduce using rule 5 (single_statement)


state 176

  111 comparator: '=' 

    $default  reduce using rule 111 (comparator)


state 177

  115 comparator: '>'  '='
  116           | '>' 

    '='  shift, and go to state 215

    $default  reduce using rule 116 (comparator)


state 178

  112 comparator: '#' 

    $default  reduce using rule 112 (comparator)


state 179

  113 comparator: '<'  '='
  114           | '<' 

    '='  shift, and go to state 216

    $default  reduce using rule 114 (comparator)


state 180

  108 simple_cond: plus_p exprn comparator  plus_p exprn rest_of_simple_cond

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 217


state 181

   52 operator: '*'  '*'
   55         | '*' 

    '*'  shift, and go to state 218

    $default  reduce using rule 55 (operator)


state 182

   54 operator: '-' 

    $default  reduce using rule 54 (operator)


state 183

   53 operator: '+' 

    $default  reduce using rule 53 (operator)


state 184

   46 exprn: operand rest_of_exprn 

    $default  reduce using rule 46 (exprn)


state 185

   47 rest_of_exprn: operator  operand rest_of_exprn

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    operand   go to state 219
    constant  go to state 127


state 186

   33 unconditional_instrn: IDENTIFIER  actual_parameters '=' plus_p exprn query_p
   34                     | IDENTIFIER  actual_parameters

    '('  shift, and go to state 71

    $default  reduce using rule 58 (actual_parameters_p)

    actual_parameters_p  go to state 72
    actual_parameters    go to state 220


state 187

    4 single_statement: if_or_unless condition THEN unconditional_instrn  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 221


state 188

   99 condition: simple_cond AND and_cond 

    $default  reduce using rule 99 (condition)


state 189

  102 and_cond: simple_cond  rest_of_and_cond

    AND  shift, and go to state 222

    $default  reduce using rule 104 (rest_of_and_cond)

    rest_of_and_cond  go to state 223


state 190

  100 condition: simple_cond OR or_cond 

    $default  reduce using rule 100 (condition)


state 191

  105 or_cond: simple_cond  rest_of_or_cond

    OR  shift, and go to state 224

    $default  reduce using rule 107 (rest_of_or_cond)

    rest_of_or_cond  go to state 225


state 192

   75 array_list: name_list '('  bound_pair_list ')' rest_of_array_list

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p           go to state 226
    bound_pair_list  go to state 227


state 193

    9 single_statement: type_p ARRAY array_list separator 

    $default  reduce using rule 9 (single_statement)


state 194

   11 single_statement: rt SPEC IDENTIFIER formal_parameter_defn_p  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 228


state 195

   13 single_statement: rt IDENTIFIER formal_parameter_defn_p separator 

    $default  reduce using rule 13 (single_statement)


state 196

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p '=' plus_p  exprn ',' plus_p exprn ',' plus_p exprn separator

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 229
    operand   go to state 134
    constant  go to state 127


state 197

  117 fault_list: P_UNSIGNED_INTEGER rest_of_N_list '-' '>'  P_UNSIGNED_INTEGER rest_of_fault_list

    P_UNSIGNED_INTEGER  shift, and go to state 230


state 198

   95 fp_delimiter: comma_p type  NAME
   96             | comma_p type 

    NAME  shift, and go to state 231

    $default  reduce using rule 96 (fp_delimiter)


state 199

   97 fp_delimiter: comma_p type_p  ARRAYNAME

    ARRAYNAME  shift, and go to state 232


state 200

   94 fp_delimiter: comma_p rt 

    $default  reduce using rule 94 (fp_delimiter)


state 201

   89 formal_parameter_defn_p: '(' fp_list ')' 

    $default  reduce using rule 89 (formal_parameter_defn_p)


state 202

   91 fp_list: fp_delimiter name_list  rest_of_fp_list

    ';'  shift, and go to state 233

    $default  reduce using rule 93 (rest_of_fp_list)

    rest_of_fp_list  go to state 234


state 203

   81 switch_list: name_list '(' plus_p constant  ':' plus_p constant ')' rest_of_switch_list

    ':'  shift, and go to state 235


state 204

   59 rest_of_actual_parameters: ','  plus_p exprn rest_of_actual_parameters

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 236


state 205

   57 actual_parameters_p: '(' plus_p exprn rest_of_actual_parameters  ')'

    ')'  shift, and go to state 237


state 206

   33 unconditional_instrn: IDENTIFIER actual_parameters '=' plus_p exprn  query_p

    '?'  shift, and go to state 238

    $default  reduce using rule 62 (query_p)

    query_p  go to state 239


state 207

  147 machine_instrn: IDENTIFIER '=' '-' P_UNSIGNED_INTEGER 

    $default  reduce using rule 147 (machine_instrn)


state 208

  136 machine_instrn: IDENTIFIER '>' '=' IDENTIFIER 

    $default  reduce using rule 136 (machine_instrn)


state 209

  137 machine_instrn: IDENTIFIER '<' '=' IDENTIFIER 

    $default  reduce using rule 137 (machine_instrn)


state 210

  129 machine_instrn: '*' '=' IDENTIFIER actual_parameters 

    $default  reduce using rule 129 (machine_instrn)


state 211

   51 operand: '(' plus_p exprn  ')'

    ')'  shift, and go to state 240


state 212

  126 machine_instrn: '*' '`' IDENTIFIER actual_parameters 

    $default  reduce using rule 126 (machine_instrn)


state 213

  127 machine_instrn: '*' '@' IDENTIFIER actual_parameters 

    $default  reduce using rule 127 (machine_instrn)


state 214

   36 unconditional_instrn: '-' '>' IDENTIFIER '(' plus_p  exprn ')'

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 241
    operand   go to state 134
    constant  go to state 127


state 215

  115 comparator: '>' '=' 

    $default  reduce using rule 115 (comparator)


state 216

  113 comparator: '<' '=' 

    $default  reduce using rule 113 (comparator)


state 217

  108 simple_cond: plus_p exprn comparator plus_p  exprn rest_of_simple_cond

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 242
    operand   go to state 134
    constant  go to state 127


state 218

   52 operator: '*' '*' 

    $default  reduce using rule 52 (operator)


state 219

   47 rest_of_exprn: operator operand  rest_of_exprn

    '*'  shift, and go to state 181
    '-'  shift, and go to state 182
    '+'  shift, and go to state 183

    P_UNSIGNED_INTEGER  reduce using rule 56 (operator)
    IDENTIFIER          reduce using rule 56 (operator)
    '('                 reduce using rule 56 (operator)
    $default            reduce using rule 48 (rest_of_exprn)

    rest_of_exprn  go to state 243
    operator       go to state 185


state 220

   33 unconditional_instrn: IDENTIFIER actual_parameters  '=' plus_p exprn query_p
   34                     | IDENTIFIER actual_parameters 

    '='  shift, and go to state 108

    $default  reduce using rule 34 (unconditional_instrn)


state 221

    4 single_statement: if_or_unless condition THEN unconditional_instrn separator 

    $default  reduce using rule 4 (single_statement)


state 222

  103 rest_of_and_cond: AND  and_cond

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p       go to state 88
    and_cond     go to state 244
    simple_cond  go to state 189


state 223

  102 and_cond: simple_cond rest_of_and_cond 

    $default  reduce using rule 102 (and_cond)


state 224

  106 rest_of_or_cond: OR  or_cond

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p       go to state 88
    or_cond      go to state 245
    simple_cond  go to state 191


state 225

  105 or_cond: simple_cond rest_of_or_cond 

    $default  reduce using rule 105 (or_cond)


state 226

   78 bound_pair_list: plus_p  exprn ':' plus_p exprn rest_of_bp_list

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 246
    operand   go to state 134
    constant  go to state 127


state 227

   75 array_list: name_list '(' bound_pair_list  ')' rest_of_array_list

    ')'  shift, and go to state 247


state 228

   11 single_statement: rt SPEC IDENTIFIER formal_parameter_defn_p separator 

    $default  reduce using rule 11 (single_statement)


state 229

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p '=' plus_p exprn  ',' plus_p exprn ',' plus_p exprn separator

    ','  shift, and go to state 248


state 230

  117 fault_list: P_UNSIGNED_INTEGER rest_of_N_list '-' '>' P_UNSIGNED_INTEGER  rest_of_fault_list

    ','  shift, and go to state 249

    $default  reduce using rule 121 (rest_of_fault_list)

    rest_of_fault_list  go to state 250


state 231

   95 fp_delimiter: comma_p type NAME 

    $default  reduce using rule 95 (fp_delimiter)


state 232

   97 fp_delimiter: comma_p type_p ARRAYNAME 

    $default  reduce using rule 97 (fp_delimiter)


state 233

   92 rest_of_fp_list: ';'  fp_list

    ADDR  shift, and go to state 147
    ','   shift, and go to state 148

    $default  reduce using rule 64 (comma_p)

    comma_p       go to state 149
    fp_list       go to state 251
    fp_delimiter  go to state 151


state 234

   91 fp_list: fp_delimiter name_list rest_of_fp_list 

    $default  reduce using rule 91 (fp_list)


state 235

   81 switch_list: name_list '(' plus_p constant ':'  plus_p constant ')' rest_of_switch_list

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 252


state 236

   59 rest_of_actual_parameters: ',' plus_p  exprn rest_of_actual_parameters

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 253
    operand   go to state 134
    constant  go to state 127


state 237

   57 actual_parameters_p: '(' plus_p exprn rest_of_actual_parameters ')' 

    $default  reduce using rule 57 (actual_parameters_p)


state 238

   61 query_p: '?' 

    $default  reduce using rule 61 (query_p)


state 239

   33 unconditional_instrn: IDENTIFIER actual_parameters '=' plus_p exprn query_p 

    $default  reduce using rule 33 (unconditional_instrn)


state 240

   51 operand: '(' plus_p exprn ')' 

    $default  reduce using rule 51 (operand)


state 241

   36 unconditional_instrn: '-' '>' IDENTIFIER '(' plus_p exprn  ')'

    ')'  shift, and go to state 254


state 242

  108 simple_cond: plus_p exprn comparator plus_p exprn  rest_of_simple_cond

    '='  shift, and go to state 176
    '>'  shift, and go to state 177
    '#'  shift, and go to state 178
    '<'  shift, and go to state 179

    $default  reduce using rule 110 (rest_of_simple_cond)

    rest_of_simple_cond  go to state 255
    comparator           go to state 256


state 243

   47 rest_of_exprn: operator operand rest_of_exprn 

    $default  reduce using rule 47 (rest_of_exprn)


state 244

  103 rest_of_and_cond: AND and_cond 

    $default  reduce using rule 103 (rest_of_and_cond)


state 245

  106 rest_of_or_cond: OR or_cond 

    $default  reduce using rule 106 (rest_of_or_cond)


state 246

   78 bound_pair_list: plus_p exprn  ':' plus_p exprn rest_of_bp_list

    ':'  shift, and go to state 257


state 247

   75 array_list: name_list '(' bound_pair_list ')'  rest_of_array_list

    ','  shift, and go to state 258

    $default  reduce using rule 77 (rest_of_array_list)

    rest_of_array_list  go to state 259


state 248

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p '=' plus_p exprn ','  plus_p exprn ',' plus_p exprn separator

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 260


state 249

  120 rest_of_fault_list: ','  fault_list

    P_UNSIGNED_INTEGER  shift, and go to state 58

    fault_list  go to state 261


state 250

  117 fault_list: P_UNSIGNED_INTEGER rest_of_N_list '-' '>' P_UNSIGNED_INTEGER rest_of_fault_list 

    $default  reduce using rule 117 (fault_list)


state 251

   92 rest_of_fp_list: ';' fp_list 

    $default  reduce using rule 92 (rest_of_fp_list)


state 252

   81 switch_list: name_list '(' plus_p constant ':' plus_p  constant ')' rest_of_switch_list

    P_UNSIGNED_INTEGER  shift, and go to state 120

    constant  go to state 262


state 253

   59 rest_of_actual_parameters: ',' plus_p exprn  rest_of_actual_parameters

    ','  shift, and go to state 204

    $default  reduce using rule 60 (rest_of_actual_parameters)

    rest_of_actual_parameters  go to state 263


state 254

   36 unconditional_instrn: '-' '>' IDENTIFIER '(' plus_p exprn ')' 

    $default  reduce using rule 36 (unconditional_instrn)


state 255

  108 simple_cond: plus_p exprn comparator plus_p exprn rest_of_simple_cond 

    $default  reduce using rule 108 (simple_cond)


state 256

  109 rest_of_simple_cond: comparator  plus_p exprn

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 264


state 257

   78 bound_pair_list: plus_p exprn ':'  plus_p exprn rest_of_bp_list

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 265


state 258

   76 rest_of_array_list: ','  array_list

    IDENTIFIER  shift, and go to state 68

    name_list   go to state 139
    array_list  go to state 266


state 259

   75 array_list: name_list '(' bound_pair_list ')' rest_of_array_list 

    $default  reduce using rule 75 (array_list)


state 260

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p '=' plus_p exprn ',' plus_p  exprn ',' plus_p exprn separator

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 267
    operand   go to state 134
    constant  go to state 127


state 261

  120 rest_of_fault_list: ',' fault_list 

    $default  reduce using rule 120 (rest_of_fault_list)


state 262

   81 switch_list: name_list '(' plus_p constant ':' plus_p constant  ')' rest_of_switch_list

    ')'  shift, and go to state 268


state 263

   59 rest_of_actual_parameters: ',' plus_p exprn rest_of_actual_parameters 

    $default  reduce using rule 59 (rest_of_actual_parameters)


state 264

  109 rest_of_simple_cond: comparator plus_p  exprn

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 269
    operand   go to state 134
    constant  go to state 127


state 265

   78 bound_pair_list: plus_p exprn ':' plus_p  exprn rest_of_bp_list

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 270
    operand   go to state 134
    constant  go to state 127


state 266

   76 rest_of_array_list: ',' array_list 

    $default  reduce using rule 76 (rest_of_array_list)


state 267

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p '=' plus_p exprn ',' plus_p exprn  ',' plus_p exprn separator

    ','  shift, and go to state 271


state 268

   81 switch_list: name_list '(' plus_p constant ':' plus_p constant ')'  rest_of_switch_list

    ','  shift, and go to state 272

    $default  reduce using rule 83 (rest_of_switch_list)

    rest_of_switch_list  go to state 273


state 269

  109 rest_of_simple_cond: comparator plus_p exprn 

    $default  reduce using rule 109 (rest_of_simple_cond)


state 270

   78 bound_pair_list: plus_p exprn ':' plus_p exprn  rest_of_bp_list

    ','  shift, and go to state 274

    $default  reduce using rule 80 (rest_of_bp_list)

    rest_of_bp_list  go to state 275


state 271

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p '=' plus_p exprn ',' plus_p exprn ','  plus_p exprn separator

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p  go to state 276


state 272

   82 rest_of_switch_list: ','  switch_list

    IDENTIFIER  shift, and go to state 68

    name_list    go to state 69
    switch_list  go to state 277


state 273

   81 switch_list: name_list '(' plus_p constant ':' plus_p constant ')' rest_of_switch_list 

    $default  reduce using rule 81 (switch_list)


state 274

   79 rest_of_bp_list: ','  bound_pair_list

    '-'  shift, and go to state 86
    '+'  shift, and go to state 87

    $default  reduce using rule 45 (plus_p)

    plus_p           go to state 226
    bound_pair_list  go to state 278


state 275

   78 bound_pair_list: plus_p exprn ':' plus_p exprn rest_of_bp_list 

    $default  reduce using rule 78 (bound_pair_list)


state 276

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p '=' plus_p exprn ',' plus_p exprn ',' plus_p  exprn separator

    P_UNSIGNED_INTEGER  shift, and go to state 120
    IDENTIFIER          shift, and go to state 121
    '('                 shift, and go to state 123

    exprn     go to state 279
    operand   go to state 134
    constant  go to state 127


state 277

   82 rest_of_switch_list: ',' switch_list 

    $default  reduce using rule 82 (rest_of_switch_list)


state 278

   79 rest_of_bp_list: ',' bound_pair_list 

    $default  reduce using rule 79 (rest_of_bp_list)


state 279

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p '=' plus_p exprn ',' plus_p exprn ',' plus_p exprn  separator

    NEWLINE  shift, and go to state 35
    ';'      shift, and go to state 39

    separator  go to state 280


state 280

    6 single_statement: CYCLE IDENTIFIER actual_parameters_p '=' plus_p exprn ',' plus_p exprn ',' plus_p exprn separator 

    $default  reduce using rule 6 (single_statement)