Terminals which are not used

   TOK_INVALID


Grammar

    0 $accept: main $end

    1 main: TOK_GENERAL compdefs instrument
    2     | TOK_RESTRICTED compdef

    3 compdefs: /* empty */
    4         | compdefs compdef

    5 compdef: "DEFINE" "COMPONENT" TOK_ID parameters share declare initialize trace save finally mcdisplay "END"

    6 parameters: def_par set_par out_par state_par polarisation_par

    7 def_par: /* empty */
    8        | "DEFINITION" "PARAMETERS" comp_iformallist

    9 set_par: /* empty */
   10        | "SETTING" "PARAMETERS" comp_iformallist

   11 out_par: /* empty */
   12        | "OUTPUT" "PARAMETERS" formallist

   13 state_par: "STATE" "PARAMETERS" formallist

   14 polarisation_par: /* empty */
   15                 | "POLARISATION" "PARAMETERS" '(' TOK_ID ',' TOK_ID ',' TOK_ID ')'

   16 comp_iformallist: '(' comp_iformals ')'

   17 comp_iformals: /* empty */
   18              | comp_iformals1

   19 comp_iformals1: comp_iformal
   20               | comp_iformals1 ',' comp_iformal

   21 comp_iformal: TOK_ID TOK_ID
   22             | TOK_ID '*' TOK_ID
   23             | TOK_ID
   24             | TOK_ID '=' exp
   25             | TOK_ID TOK_ID '=' exp
   26             | TOK_ID '*' TOK_ID '=' exp

   27 @1: /* empty */

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID instrpar_list @1 declare initialize nexus instr_trace save finally "END"

   29 instrpar_list: '(' instr_formals ')'

   30 instr_formals: /* empty */
   31              | instr_formals1

   32 instr_formals1: instr_formal
   33               | instr_formals1 ',' instr_formal

   34 instr_formal: TOK_ID TOK_ID
   35             | TOK_ID '*' TOK_ID
   36             | TOK_ID
   37             | TOK_ID '=' exp
   38             | TOK_ID TOK_ID '=' exp
   39             | TOK_ID '*' TOK_ID '=' exp

   40 declare: /* empty */
   41        | "DECLARE" codeblock

   42 initialize: /* empty */
   43           | "INITIALIZE" codeblock

   44 share: /* empty */
   45      | "SHARE" codeblock

   46 nexus: /* empty */
   47      | nexus "NEXUS" dictfile hdfversion

   48 dictfile: /* empty */
   49         | dictfile "DICTFILE" TOK_STRING

   50 hdfversion: /* empty */
   51           | hdfversion "HDF" TOK_NUMBER

   52 trace: "TRACE" codeblock

   53 save: /* empty */
   54     | "SAVE" codeblock

   55 finally: /* empty */
   56        | "FINALLY" codeblock

   57 mcdisplay: /* empty */
   58          | "MCDISPLAY" codeblock

   59 instr_trace: "TRACE" complist

   60 complist: /* empty */
   61         | complist component

   62 component: "COMPONENT" TOK_ID '=' TOK_ID actuallist place orientation groupref extend

   63 formallist: '(' formals ')'

   64 formals: /* empty */
   65        | formals1

   66 formals1: TOK_ID
   67         | formals1 ',' TOK_ID

   68 actuallist: '(' actuals ')'

   69 actuals: /* empty */
   70        | actuals1

   71 actuals1: TOK_ID '=' exp
   72         | actuals1 ',' TOK_ID '=' exp

   73 place: "AT" coords reference

   74 orientation: /* empty */
   75            | "ROTATED" coords reference

   76 reference: "ABSOLUTE"
   77          | "RELATIVE" "PREVIOUS"
   78          | "RELATIVE" "PREVIOUS" '(' TOK_NUMBER ')'
   79          | "RELATIVE" compref

   80 groupref: /* empty */
   81         | "GROUP" groupdef

   82 groupdef: TOK_ID

   83 compref: TOK_ID

   84 coords: '(' exp ',' exp ',' exp ')'

   85 extend: /* empty */
   86       | "EXTEND" codeblock

   87 @2: /* empty */

   88 exp: @2 topexp

   89 @3: /* empty */

   90 exp: "EXTERN" @3 TOK_ID

   91 topexp: topatexp
   92       | topexp topatexp

   93 topatexp: TOK_ID
   94         | TOK_NUMBER
   95         | TOK_STRING
   96         | TOK_CTOK
   97         | '='
   98         | '*'
   99         | '(' genexp ')'
  100         | '(' ')'
  101         | '[' genexp ']'
  102         | '[' ']'
  103         | '{' genexp '}'
  104         | '{' '}'

  105 genexp: genatexp
  106       | genexp genatexp

  107 genatexp: topatexp
  108         | ','

  109 codeblock: TOK_CODE_START code TOK_CODE_END

  110 code: /* empty */
  111     | code TOK_CODE_LINE


Terminals, with rules where they appear

$end (0) 0
'(' (40) 15 16 29 63 68 78 84 99 100
')' (41) 15 16 29 63 68 78 84 99 100
'*' (42) 22 26 35 39 98
',' (44) 15 20 33 67 72 84 108
'=' (61) 24 25 26 37 38 39 62 71 72 97
'[' (91) 101 102
']' (93) 101 102
'{' (123) 103 104
'}' (125) 103 104
error (256)
TOK_RESTRICTED (258) 2
TOK_GENERAL (259) 1
"ABSOLUTE" (260) 76
"AT" (261) 73
"COMPONENT" (262) 5 62
"DECLARE" (263) 41
"DEFINE" (264) 5 28
"DEFINITION" (265) 8
"END" (266) 5 28
"FINALLY" (267) 56
"EXTERN" (268) 90
"INITIALIZE" (269) 43
"INSTRUMENT" (270) 28
"MCDISPLAY" (271) 58
"OUTPUT" (272) 12
"PARAMETERS" (273) 8 10 12 13 15
"POLARISATION" (274) 15
"RELATIVE" (275) 77 78 79
"ROTATED" (276) 75
"PREVIOUS" (277) 77 78
"SETTING" (278) 10
"STATE" (279) 13
"TRACE" (280) 52 59
"SHARE" (281) 45
"EXTEND" (282) 86
"GROUP" (283) 81
"SAVE" (284) 54
"NEXUS" (285) 47
"DICTFILE" (286) 49
"HDF" (287) 51
TOK_ID (288) 5 15 21 22 23 24 25 26 28 34 35 36 37 38 39 62 66 67 71
    72 82 83 90 93
TOK_STRING (289) 49 95
TOK_NUMBER (290) 51 78 94
TOK_CTOK (291) 96
TOK_CODE_START (292) 109
TOK_CODE_END (293) 109
TOK_CODE_LINE (294) 111
TOK_INVALID (295)


Nonterminals, with rules where they appear

$accept (50)
    on left: 0
main (51)
    on left: 1 2, on right: 0
compdefs (52)
    on left: 3 4, on right: 1 4
compdef (53)
    on left: 5, on right: 2 4
parameters (54)
    on left: 6, on right: 5
def_par (55)
    on left: 7 8, on right: 6
set_par (56)
    on left: 9 10, on right: 6
out_par (57)
    on left: 11 12, on right: 6
state_par (58)
    on left: 13, on right: 6
polarisation_par (59)
    on left: 14 15, on right: 6
comp_iformallist (60)
    on left: 16, on right: 8 10
comp_iformals (61)
    on left: 17 18, on right: 16
comp_iformals1 (62)
    on left: 19 20, on right: 18 20
comp_iformal (63)
    on left: 21 22 23 24 25 26, on right: 19 20
instrument (64)
    on left: 28, on right: 1
@1 (65)
    on left: 27, on right: 28
instrpar_list (66)
    on left: 29, on right: 28
instr_formals (67)
    on left: 30 31, on right: 29
instr_formals1 (68)
    on left: 32 33, on right: 31 33
instr_formal (69)
    on left: 34 35 36 37 38 39, on right: 32 33
declare (70)
    on left: 40 41, on right: 5 28
initialize (71)
    on left: 42 43, on right: 5 28
share (72)
    on left: 44 45, on right: 5
nexus (73)
    on left: 46 47, on right: 28 47
dictfile (74)
    on left: 48 49, on right: 47 49
hdfversion (75)
    on left: 50 51, on right: 47 51
trace (76)
    on left: 52, on right: 5
save (77)
    on left: 53 54, on right: 5 28
finally (78)
    on left: 55 56, on right: 5 28
mcdisplay (79)
    on left: 57 58, on right: 5
instr_trace (80)
    on left: 59, on right: 28
complist (81)
    on left: 60 61, on right: 59 61
component (82)
    on left: 62, on right: 61
formallist (83)
    on left: 63, on right: 12 13
formals (84)
    on left: 64 65, on right: 63
formals1 (85)
    on left: 66 67, on right: 65 67
actuallist (86)
    on left: 68, on right: 62
actuals (87)
    on left: 69 70, on right: 68
actuals1 (88)
    on left: 71 72, on right: 70 72
place (89)
    on left: 73, on right: 62
orientation (90)
    on left: 74 75, on right: 62
reference (91)
    on left: 76 77 78 79, on right: 73 75
groupref (92)
    on left: 80 81, on right: 62
groupdef (93)
    on left: 82, on right: 81
compref (94)
    on left: 83, on right: 79
coords (95)
    on left: 84, on right: 73 75
extend (96)
    on left: 85 86, on right: 62
exp (97)
    on left: 88 90, on right: 24 25 26 37 38 39 71 72 84
@2 (98)
    on left: 87, on right: 88
@3 (99)
    on left: 89, on right: 90
topexp (100)
    on left: 91 92, on right: 88 92
topatexp (101)
    on left: 93 94 95 96 97 98 99 100 101 102 103 104,
    on right: 91 92 107
genexp (102)
    on left: 105 106, on right: 99 101 103 106
genatexp (103)
    on left: 107 108, on right: 105 106
codeblock (104)
    on left: 109, on right: 41 43 45 52 54 56 58 86
code (105)
    on left: 110 111, on right: 109 111


state 0

    0 $accept: . main $end

    TOK_RESTRICTED  shift, and go to state 1
    TOK_GENERAL     shift, and go to state 2

    main  go to state 3


state 1

    2 main: TOK_RESTRICTED . compdef

    "DEFINE"  shift, and go to state 4

    compdef  go to state 5


state 2

    1 main: TOK_GENERAL . compdefs instrument

    $default  reduce using rule 3 (compdefs)

    compdefs  go to state 6


state 3

    0 $accept: main . $end

    $end  shift, and go to state 7


state 4

    5 compdef: "DEFINE" . "COMPONENT" TOK_ID parameters share declare initialize trace save finally mcdisplay "END"

    "COMPONENT"  shift, and go to state 8


state 5

    2 main: TOK_RESTRICTED compdef .

    $default  reduce using rule 2 (main)


state 6

    1 main: TOK_GENERAL compdefs . instrument
    4 compdefs: compdefs . compdef

    "DEFINE"  shift, and go to state 9

    compdef     go to state 10
    instrument  go to state 11


state 7

    0 $accept: main $end .

    $default  accept


state 8

    5 compdef: "DEFINE" "COMPONENT" . TOK_ID parameters share declare initialize trace save finally mcdisplay "END"

    TOK_ID  shift, and go to state 12


state 9

    5 compdef: "DEFINE" . "COMPONENT" TOK_ID parameters share declare initialize trace save finally mcdisplay "END"
   28 instrument: "DEFINE" . "INSTRUMENT" TOK_ID instrpar_list @1 declare initialize nexus instr_trace save finally "END"

    "COMPONENT"   shift, and go to state 8
    "INSTRUMENT"  shift, and go to state 13


state 10

    4 compdefs: compdefs compdef .

    $default  reduce using rule 4 (compdefs)


state 11

    1 main: TOK_GENERAL compdefs instrument .

    $default  reduce using rule 1 (main)


state 12

    5 compdef: "DEFINE" "COMPONENT" TOK_ID . parameters share declare initialize trace save finally mcdisplay "END"

    "DEFINITION"  shift, and go to state 14

    $default  reduce using rule 7 (def_par)

    parameters  go to state 15
    def_par     go to state 16


state 13

   28 instrument: "DEFINE" "INSTRUMENT" . TOK_ID instrpar_list @1 declare initialize nexus instr_trace save finally "END"

    TOK_ID  shift, and go to state 17


state 14

    8 def_par: "DEFINITION" . "PARAMETERS" comp_iformallist

    "PARAMETERS"  shift, and go to state 18


state 15

    5 compdef: "DEFINE" "COMPONENT" TOK_ID parameters . share declare initialize trace save finally mcdisplay "END"

    "SHARE"  shift, and go to state 19

    $default  reduce using rule 44 (share)

    share  go to state 20


state 16

    6 parameters: def_par . set_par out_par state_par polarisation_par

    "SETTING"  shift, and go to state 21

    $default  reduce using rule 9 (set_par)

    set_par  go to state 22


state 17

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID . instrpar_list @1 declare initialize nexus instr_trace save finally "END"

    '('  shift, and go to state 23

    instrpar_list  go to state 24


state 18

    8 def_par: "DEFINITION" "PARAMETERS" . comp_iformallist

    '('  shift, and go to state 25

    comp_iformallist  go to state 26


state 19

   45 share: "SHARE" . codeblock

    TOK_CODE_START  shift, and go to state 27

    codeblock  go to state 28


state 20

    5 compdef: "DEFINE" "COMPONENT" TOK_ID parameters share . declare initialize trace save finally mcdisplay "END"

    "DECLARE"  shift, and go to state 29

    $default  reduce using rule 40 (declare)

    declare  go to state 30


state 21

   10 set_par: "SETTING" . "PARAMETERS" comp_iformallist

    "PARAMETERS"  shift, and go to state 31


state 22

    6 parameters: def_par set_par . out_par state_par polarisation_par

    "OUTPUT"  shift, and go to state 32

    $default  reduce using rule 11 (out_par)

    out_par  go to state 33


state 23

   29 instrpar_list: '(' . instr_formals ')'

    TOK_ID  shift, and go to state 34

    $default  reduce using rule 30 (instr_formals)

    instr_formals   go to state 35
    instr_formals1  go to state 36
    instr_formal    go to state 37


state 24

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID instrpar_list . @1 declare initialize nexus instr_trace save finally "END"

    $default  reduce using rule 27 (@1)

    @1  go to state 38


state 25

   16 comp_iformallist: '(' . comp_iformals ')'

    TOK_ID  shift, and go to state 39

    $default  reduce using rule 17 (comp_iformals)

    comp_iformals   go to state 40
    comp_iformals1  go to state 41
    comp_iformal    go to state 42


state 26

    8 def_par: "DEFINITION" "PARAMETERS" comp_iformallist .

    $default  reduce using rule 8 (def_par)


state 27

  109 codeblock: TOK_CODE_START . code TOK_CODE_END

    $default  reduce using rule 110 (code)

    code  go to state 43


state 28

   45 share: "SHARE" codeblock .

    $default  reduce using rule 45 (share)


state 29

   41 declare: "DECLARE" . codeblock

    TOK_CODE_START  shift, and go to state 27

    codeblock  go to state 44


state 30

    5 compdef: "DEFINE" "COMPONENT" TOK_ID parameters share declare . initialize trace save finally mcdisplay "END"

    "INITIALIZE"  shift, and go to state 45

    $default  reduce using rule 42 (initialize)

    initialize  go to state 46


state 31

   10 set_par: "SETTING" "PARAMETERS" . comp_iformallist

    '('  shift, and go to state 25

    comp_iformallist  go to state 47


state 32

   12 out_par: "OUTPUT" . "PARAMETERS" formallist

    "PARAMETERS"  shift, and go to state 48


state 33

    6 parameters: def_par set_par out_par . state_par polarisation_par

    "STATE"  shift, and go to state 49

    state_par  go to state 50


state 34

   34 instr_formal: TOK_ID . TOK_ID
   35             | TOK_ID . '*' TOK_ID
   36             | TOK_ID .
   37             | TOK_ID . '=' exp
   38             | TOK_ID . TOK_ID '=' exp
   39             | TOK_ID . '*' TOK_ID '=' exp

    TOK_ID  shift, and go to state 51
    '*'     shift, and go to state 52
    '='     shift, and go to state 53

    $default  reduce using rule 36 (instr_formal)


state 35

   29 instrpar_list: '(' instr_formals . ')'

    ')'  shift, and go to state 54


state 36

   31 instr_formals: instr_formals1 .
   33 instr_formals1: instr_formals1 . ',' instr_formal

    ','  shift, and go to state 55

    $default  reduce using rule 31 (instr_formals)


state 37

   32 instr_formals1: instr_formal .

    $default  reduce using rule 32 (instr_formals1)


state 38

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID instrpar_list @1 . declare initialize nexus instr_trace save finally "END"

    "DECLARE"  shift, and go to state 29

    $default  reduce using rule 40 (declare)

    declare  go to state 56


state 39

   21 comp_iformal: TOK_ID . TOK_ID
   22             | TOK_ID . '*' TOK_ID
   23             | TOK_ID .
   24             | TOK_ID . '=' exp
   25             | TOK_ID . TOK_ID '=' exp
   26             | TOK_ID . '*' TOK_ID '=' exp

    TOK_ID  shift, and go to state 57
    '*'     shift, and go to state 58
    '='     shift, and go to state 59

    $default  reduce using rule 23 (comp_iformal)


state 40

   16 comp_iformallist: '(' comp_iformals . ')'

    ')'  shift, and go to state 60


state 41

   18 comp_iformals: comp_iformals1 .
   20 comp_iformals1: comp_iformals1 . ',' comp_iformal

    ','  shift, and go to state 61

    $default  reduce using rule 18 (comp_iformals)


state 42

   19 comp_iformals1: comp_iformal .

    $default  reduce using rule 19 (comp_iformals1)


state 43

  109 codeblock: TOK_CODE_START code . TOK_CODE_END
  111 code: code . TOK_CODE_LINE

    TOK_CODE_END   shift, and go to state 62
    TOK_CODE_LINE  shift, and go to state 63


state 44

   41 declare: "DECLARE" codeblock .

    $default  reduce using rule 41 (declare)


state 45

   43 initialize: "INITIALIZE" . codeblock

    TOK_CODE_START  shift, and go to state 27

    codeblock  go to state 64


state 46

    5 compdef: "DEFINE" "COMPONENT" TOK_ID parameters share declare initialize . trace save finally mcdisplay "END"

    "TRACE"  shift, and go to state 65

    trace  go to state 66


state 47

   10 set_par: "SETTING" "PARAMETERS" comp_iformallist .

    $default  reduce using rule 10 (set_par)


state 48

   12 out_par: "OUTPUT" "PARAMETERS" . formallist

    '('  shift, and go to state 67

    formallist  go to state 68


state 49

   13 state_par: "STATE" . "PARAMETERS" formallist

    "PARAMETERS"  shift, and go to state 69


state 50

    6 parameters: def_par set_par out_par state_par . polarisation_par

    "POLARISATION"  shift, and go to state 70

    $default  reduce using rule 14 (polarisation_par)

    polarisation_par  go to state 71


state 51

   34 instr_formal: TOK_ID TOK_ID .
   38             | TOK_ID TOK_ID . '=' exp

    '='  shift, and go to state 72

    $default  reduce using rule 34 (instr_formal)


state 52

   35 instr_formal: TOK_ID '*' . TOK_ID
   39             | TOK_ID '*' . TOK_ID '=' exp

    TOK_ID  shift, and go to state 73


state 53

   37 instr_formal: TOK_ID '=' . exp

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 75
    @2   go to state 76


state 54

   29 instrpar_list: '(' instr_formals ')' .

    $default  reduce using rule 29 (instrpar_list)


state 55

   33 instr_formals1: instr_formals1 ',' . instr_formal

    TOK_ID  shift, and go to state 34

    instr_formal  go to state 77


state 56

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID instrpar_list @1 declare . initialize nexus instr_trace save finally "END"

    "INITIALIZE"  shift, and go to state 45

    $default  reduce using rule 42 (initialize)

    initialize  go to state 78


state 57

   21 comp_iformal: TOK_ID TOK_ID .
   25             | TOK_ID TOK_ID . '=' exp

    '='  shift, and go to state 79

    $default  reduce using rule 21 (comp_iformal)


state 58

   22 comp_iformal: TOK_ID '*' . TOK_ID
   26             | TOK_ID '*' . TOK_ID '=' exp

    TOK_ID  shift, and go to state 80


state 59

   24 comp_iformal: TOK_ID '=' . exp

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 81
    @2   go to state 76


state 60

   16 comp_iformallist: '(' comp_iformals ')' .

    $default  reduce using rule 16 (comp_iformallist)


state 61

   20 comp_iformals1: comp_iformals1 ',' . comp_iformal

    TOK_ID  shift, and go to state 39

    comp_iformal  go to state 82


state 62

  109 codeblock: TOK_CODE_START code TOK_CODE_END .

    $default  reduce using rule 109 (codeblock)


state 63

  111 code: code TOK_CODE_LINE .

    $default  reduce using rule 111 (code)


state 64

   43 initialize: "INITIALIZE" codeblock .

    $default  reduce using rule 43 (initialize)


state 65

   52 trace: "TRACE" . codeblock

    TOK_CODE_START  shift, and go to state 27

    codeblock  go to state 83


state 66

    5 compdef: "DEFINE" "COMPONENT" TOK_ID parameters share declare initialize trace . save finally mcdisplay "END"

    "SAVE"  shift, and go to state 84

    $default  reduce using rule 53 (save)

    save  go to state 85


state 67

   63 formallist: '(' . formals ')'

    TOK_ID  shift, and go to state 86

    $default  reduce using rule 64 (formals)

    formals   go to state 87
    formals1  go to state 88


state 68

   12 out_par: "OUTPUT" "PARAMETERS" formallist .

    $default  reduce using rule 12 (out_par)


state 69

   13 state_par: "STATE" "PARAMETERS" . formallist

    '('  shift, and go to state 67

    formallist  go to state 89


state 70

   15 polarisation_par: "POLARISATION" . "PARAMETERS" '(' TOK_ID ',' TOK_ID ',' TOK_ID ')'

    "PARAMETERS"  shift, and go to state 90


state 71

    6 parameters: def_par set_par out_par state_par polarisation_par .

    $default  reduce using rule 6 (parameters)


state 72

   38 instr_formal: TOK_ID TOK_ID '=' . exp

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 91
    @2   go to state 76


state 73

   35 instr_formal: TOK_ID '*' TOK_ID .
   39             | TOK_ID '*' TOK_ID . '=' exp

    '='  shift, and go to state 92

    $default  reduce using rule 35 (instr_formal)


state 74

   90 exp: "EXTERN" . @3 TOK_ID

    $default  reduce using rule 89 (@3)

    @3  go to state 93


state 75

   37 instr_formal: TOK_ID '=' exp .

    $default  reduce using rule 37 (instr_formal)


state 76

   88 exp: @2 . topexp

    TOK_ID      shift, and go to state 94
    TOK_STRING  shift, and go to state 95
    TOK_NUMBER  shift, and go to state 96
    TOK_CTOK    shift, and go to state 97
    '('         shift, and go to state 98
    '*'         shift, and go to state 99
    '='         shift, and go to state 100
    '['         shift, and go to state 101
    '{'         shift, and go to state 102

    topexp    go to state 103
    topatexp  go to state 104


state 77

   33 instr_formals1: instr_formals1 ',' instr_formal .

    $default  reduce using rule 33 (instr_formals1)


state 78

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID instrpar_list @1 declare initialize . nexus instr_trace save finally "END"

    $default  reduce using rule 46 (nexus)

    nexus  go to state 105


state 79

   25 comp_iformal: TOK_ID TOK_ID '=' . exp

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 106
    @2   go to state 76


state 80

   22 comp_iformal: TOK_ID '*' TOK_ID .
   26             | TOK_ID '*' TOK_ID . '=' exp

    '='  shift, and go to state 107

    $default  reduce using rule 22 (comp_iformal)


state 81

   24 comp_iformal: TOK_ID '=' exp .

    $default  reduce using rule 24 (comp_iformal)


state 82

   20 comp_iformals1: comp_iformals1 ',' comp_iformal .

    $default  reduce using rule 20 (comp_iformals1)


state 83

   52 trace: "TRACE" codeblock .

    $default  reduce using rule 52 (trace)


state 84

   54 save: "SAVE" . codeblock

    TOK_CODE_START  shift, and go to state 27

    codeblock  go to state 108


state 85

    5 compdef: "DEFINE" "COMPONENT" TOK_ID parameters share declare initialize trace save . finally mcdisplay "END"

    "FINALLY"  shift, and go to state 109

    $default  reduce using rule 55 (finally)

    finally  go to state 110


state 86

   66 formals1: TOK_ID .

    $default  reduce using rule 66 (formals1)


state 87

   63 formallist: '(' formals . ')'

    ')'  shift, and go to state 111


state 88

   65 formals: formals1 .
   67 formals1: formals1 . ',' TOK_ID

    ','  shift, and go to state 112

    $default  reduce using rule 65 (formals)


state 89

   13 state_par: "STATE" "PARAMETERS" formallist .

    $default  reduce using rule 13 (state_par)


state 90

   15 polarisation_par: "POLARISATION" "PARAMETERS" . '(' TOK_ID ',' TOK_ID ',' TOK_ID ')'

    '('  shift, and go to state 113


state 91

   38 instr_formal: TOK_ID TOK_ID '=' exp .

    $default  reduce using rule 38 (instr_formal)


state 92

   39 instr_formal: TOK_ID '*' TOK_ID '=' . exp

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 114
    @2   go to state 76


state 93

   90 exp: "EXTERN" @3 . TOK_ID

    TOK_ID  shift, and go to state 115


state 94

   93 topatexp: TOK_ID .

    $default  reduce using rule 93 (topatexp)


state 95

   95 topatexp: TOK_STRING .

    $default  reduce using rule 95 (topatexp)


state 96

   94 topatexp: TOK_NUMBER .

    $default  reduce using rule 94 (topatexp)


state 97

   96 topatexp: TOK_CTOK .

    $default  reduce using rule 96 (topatexp)


state 98

   99 topatexp: '(' . genexp ')'
  100         | '(' . ')'

    TOK_ID      shift, and go to state 94
    TOK_STRING  shift, and go to state 95
    TOK_NUMBER  shift, and go to state 96
    TOK_CTOK    shift, and go to state 97
    '('         shift, and go to state 98
    ','         shift, and go to state 116
    ')'         shift, and go to state 117
    '*'         shift, and go to state 99
    '='         shift, and go to state 100
    '['         shift, and go to state 101
    '{'         shift, and go to state 102

    topatexp  go to state 118
    genexp    go to state 119
    genatexp  go to state 120


state 99

   98 topatexp: '*' .

    $default  reduce using rule 98 (topatexp)


state 100

   97 topatexp: '=' .

    $default  reduce using rule 97 (topatexp)


state 101

  101 topatexp: '[' . genexp ']'
  102         | '[' . ']'

    TOK_ID      shift, and go to state 94
    TOK_STRING  shift, and go to state 95
    TOK_NUMBER  shift, and go to state 96
    TOK_CTOK    shift, and go to state 97
    '('         shift, and go to state 98
    ','         shift, and go to state 116
    '*'         shift, and go to state 99
    '='         shift, and go to state 100
    '['         shift, and go to state 101
    ']'         shift, and go to state 121
    '{'         shift, and go to state 102

    topatexp  go to state 118
    genexp    go to state 122
    genatexp  go to state 120


state 102

  103 topatexp: '{' . genexp '}'
  104         | '{' . '}'

    TOK_ID      shift, and go to state 94
    TOK_STRING  shift, and go to state 95
    TOK_NUMBER  shift, and go to state 96
    TOK_CTOK    shift, and go to state 97
    '('         shift, and go to state 98
    ','         shift, and go to state 116
    '*'         shift, and go to state 99
    '='         shift, and go to state 100
    '['         shift, and go to state 101
    '{'         shift, and go to state 102
    '}'         shift, and go to state 123

    topatexp  go to state 118
    genexp    go to state 124
    genatexp  go to state 120


state 103

   88 exp: @2 topexp .
   92 topexp: topexp . topatexp

    TOK_ID      shift, and go to state 94
    TOK_STRING  shift, and go to state 95
    TOK_NUMBER  shift, and go to state 96
    TOK_CTOK    shift, and go to state 97
    '('         shift, and go to state 98
    '*'         shift, and go to state 99
    '='         shift, and go to state 100
    '['         shift, and go to state 101
    '{'         shift, and go to state 102

    $default  reduce using rule 88 (exp)

    topatexp  go to state 125


state 104

   91 topexp: topatexp .

    $default  reduce using rule 91 (topexp)


state 105

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID instrpar_list @1 declare initialize nexus . instr_trace save finally "END"
   47 nexus: nexus . "NEXUS" dictfile hdfversion

    "TRACE"  shift, and go to state 126
    "NEXUS"  shift, and go to state 127

    instr_trace  go to state 128


state 106

   25 comp_iformal: TOK_ID TOK_ID '=' exp .

    $default  reduce using rule 25 (comp_iformal)


state 107

   26 comp_iformal: TOK_ID '*' TOK_ID '=' . exp

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 129
    @2   go to state 76


state 108

   54 save: "SAVE" codeblock .

    $default  reduce using rule 54 (save)


state 109

   56 finally: "FINALLY" . codeblock

    TOK_CODE_START  shift, and go to state 27

    codeblock  go to state 130


state 110

    5 compdef: "DEFINE" "COMPONENT" TOK_ID parameters share declare initialize trace save finally . mcdisplay "END"

    "MCDISPLAY"  shift, and go to state 131

    $default  reduce using rule 57 (mcdisplay)

    mcdisplay  go to state 132


state 111

   63 formallist: '(' formals ')' .

    $default  reduce using rule 63 (formallist)


state 112

   67 formals1: formals1 ',' . TOK_ID

    TOK_ID  shift, and go to state 133


state 113

   15 polarisation_par: "POLARISATION" "PARAMETERS" '(' . TOK_ID ',' TOK_ID ',' TOK_ID ')'

    TOK_ID  shift, and go to state 134


state 114

   39 instr_formal: TOK_ID '*' TOK_ID '=' exp .

    $default  reduce using rule 39 (instr_formal)


state 115

   90 exp: "EXTERN" @3 TOK_ID .

    $default  reduce using rule 90 (exp)


state 116

  108 genatexp: ',' .

    $default  reduce using rule 108 (genatexp)


state 117

  100 topatexp: '(' ')' .

    $default  reduce using rule 100 (topatexp)


state 118

  107 genatexp: topatexp .

    $default  reduce using rule 107 (genatexp)


state 119

   99 topatexp: '(' genexp . ')'
  106 genexp: genexp . genatexp

    TOK_ID      shift, and go to state 94
    TOK_STRING  shift, and go to state 95
    TOK_NUMBER  shift, and go to state 96
    TOK_CTOK    shift, and go to state 97
    '('         shift, and go to state 98
    ','         shift, and go to state 116
    ')'         shift, and go to state 135
    '*'         shift, and go to state 99
    '='         shift, and go to state 100
    '['         shift, and go to state 101
    '{'         shift, and go to state 102

    topatexp  go to state 118
    genatexp  go to state 136


state 120

  105 genexp: genatexp .

    $default  reduce using rule 105 (genexp)


state 121

  102 topatexp: '[' ']' .

    $default  reduce using rule 102 (topatexp)


state 122

  101 topatexp: '[' genexp . ']'
  106 genexp: genexp . genatexp

    TOK_ID      shift, and go to state 94
    TOK_STRING  shift, and go to state 95
    TOK_NUMBER  shift, and go to state 96
    TOK_CTOK    shift, and go to state 97
    '('         shift, and go to state 98
    ','         shift, and go to state 116
    '*'         shift, and go to state 99
    '='         shift, and go to state 100
    '['         shift, and go to state 101
    ']'         shift, and go to state 137
    '{'         shift, and go to state 102

    topatexp  go to state 118
    genatexp  go to state 136


state 123

  104 topatexp: '{' '}' .

    $default  reduce using rule 104 (topatexp)


state 124

  103 topatexp: '{' genexp . '}'
  106 genexp: genexp . genatexp

    TOK_ID      shift, and go to state 94
    TOK_STRING  shift, and go to state 95
    TOK_NUMBER  shift, and go to state 96
    TOK_CTOK    shift, and go to state 97
    '('         shift, and go to state 98
    ','         shift, and go to state 116
    '*'         shift, and go to state 99
    '='         shift, and go to state 100
    '['         shift, and go to state 101
    '{'         shift, and go to state 102
    '}'         shift, and go to state 138

    topatexp  go to state 118
    genatexp  go to state 136


state 125

   92 topexp: topexp topatexp .

    $default  reduce using rule 92 (topexp)


state 126

   59 instr_trace: "TRACE" . complist

    $default  reduce using rule 60 (complist)

    complist  go to state 139


state 127

   47 nexus: nexus "NEXUS" . dictfile hdfversion

    $default  reduce using rule 48 (dictfile)

    dictfile  go to state 140


state 128

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID instrpar_list @1 declare initialize nexus instr_trace . save finally "END"

    "SAVE"  shift, and go to state 84

    $default  reduce using rule 53 (save)

    save  go to state 141


state 129

   26 comp_iformal: TOK_ID '*' TOK_ID '=' exp .

    $default  reduce using rule 26 (comp_iformal)


state 130

   56 finally: "FINALLY" codeblock .

    $default  reduce using rule 56 (finally)


state 131

   58 mcdisplay: "MCDISPLAY" . codeblock

    TOK_CODE_START  shift, and go to state 27

    codeblock  go to state 142


state 132

    5 compdef: "DEFINE" "COMPONENT" TOK_ID parameters share declare initialize trace save finally mcdisplay . "END"

    "END"  shift, and go to state 143


state 133

   67 formals1: formals1 ',' TOK_ID .

    $default  reduce using rule 67 (formals1)


state 134

   15 polarisation_par: "POLARISATION" "PARAMETERS" '(' TOK_ID . ',' TOK_ID ',' TOK_ID ')'

    ','  shift, and go to state 144


state 135

   99 topatexp: '(' genexp ')' .

    $default  reduce using rule 99 (topatexp)


state 136

  106 genexp: genexp genatexp .

    $default  reduce using rule 106 (genexp)


state 137

  101 topatexp: '[' genexp ']' .

    $default  reduce using rule 101 (topatexp)


state 138

  103 topatexp: '{' genexp '}' .

    $default  reduce using rule 103 (topatexp)


state 139

   59 instr_trace: "TRACE" complist .
   61 complist: complist . component

    "COMPONENT"  shift, and go to state 145

    $default  reduce using rule 59 (instr_trace)

    component  go to state 146


state 140

   47 nexus: nexus "NEXUS" dictfile . hdfversion
   49 dictfile: dictfile . "DICTFILE" TOK_STRING

    "DICTFILE"  shift, and go to state 147

    $default  reduce using rule 50 (hdfversion)

    hdfversion  go to state 148


state 141

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID instrpar_list @1 declare initialize nexus instr_trace save . finally "END"

    "FINALLY"  shift, and go to state 109

    $default  reduce using rule 55 (finally)

    finally  go to state 149


state 142

   58 mcdisplay: "MCDISPLAY" codeblock .

    $default  reduce using rule 58 (mcdisplay)


state 143

    5 compdef: "DEFINE" "COMPONENT" TOK_ID parameters share declare initialize trace save finally mcdisplay "END" .

    $default  reduce using rule 5 (compdef)


state 144

   15 polarisation_par: "POLARISATION" "PARAMETERS" '(' TOK_ID ',' . TOK_ID ',' TOK_ID ')'

    TOK_ID  shift, and go to state 150


state 145

   62 component: "COMPONENT" . TOK_ID '=' TOK_ID actuallist place orientation groupref extend

    TOK_ID  shift, and go to state 151


state 146

   61 complist: complist component .

    $default  reduce using rule 61 (complist)


state 147

   49 dictfile: dictfile "DICTFILE" . TOK_STRING

    TOK_STRING  shift, and go to state 152


state 148

   47 nexus: nexus "NEXUS" dictfile hdfversion .
   51 hdfversion: hdfversion . "HDF" TOK_NUMBER

    "HDF"  shift, and go to state 153

    $default  reduce using rule 47 (nexus)


state 149

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID instrpar_list @1 declare initialize nexus instr_trace save finally . "END"

    "END"  shift, and go to state 154


state 150

   15 polarisation_par: "POLARISATION" "PARAMETERS" '(' TOK_ID ',' TOK_ID . ',' TOK_ID ')'

    ','  shift, and go to state 155


state 151

   62 component: "COMPONENT" TOK_ID . '=' TOK_ID actuallist place orientation groupref extend

    '='  shift, and go to state 156


state 152

   49 dictfile: dictfile "DICTFILE" TOK_STRING .

    $default  reduce using rule 49 (dictfile)


state 153

   51 hdfversion: hdfversion "HDF" . TOK_NUMBER

    TOK_NUMBER  shift, and go to state 157


state 154

   28 instrument: "DEFINE" "INSTRUMENT" TOK_ID instrpar_list @1 declare initialize nexus instr_trace save finally "END" .

    $default  reduce using rule 28 (instrument)


state 155

   15 polarisation_par: "POLARISATION" "PARAMETERS" '(' TOK_ID ',' TOK_ID ',' . TOK_ID ')'

    TOK_ID  shift, and go to state 158


state 156

   62 component: "COMPONENT" TOK_ID '=' . TOK_ID actuallist place orientation groupref extend

    TOK_ID  shift, and go to state 159


state 157

   51 hdfversion: hdfversion "HDF" TOK_NUMBER .

    $default  reduce using rule 51 (hdfversion)


state 158

   15 polarisation_par: "POLARISATION" "PARAMETERS" '(' TOK_ID ',' TOK_ID ',' TOK_ID . ')'

    ')'  shift, and go to state 160


state 159

   62 component: "COMPONENT" TOK_ID '=' TOK_ID . actuallist place orientation groupref extend

    '('  shift, and go to state 161

    actuallist  go to state 162


state 160

   15 polarisation_par: "POLARISATION" "PARAMETERS" '(' TOK_ID ',' TOK_ID ',' TOK_ID ')' .

    $default  reduce using rule 15 (polarisation_par)


state 161

   68 actuallist: '(' . actuals ')'

    TOK_ID  shift, and go to state 163

    $default  reduce using rule 69 (actuals)

    actuals   go to state 164
    actuals1  go to state 165


state 162

   62 component: "COMPONENT" TOK_ID '=' TOK_ID actuallist . place orientation groupref extend

    "AT"  shift, and go to state 166

    place  go to state 167


state 163

   71 actuals1: TOK_ID . '=' exp

    '='  shift, and go to state 168


state 164

   68 actuallist: '(' actuals . ')'

    ')'  shift, and go to state 169


state 165

   70 actuals: actuals1 .
   72 actuals1: actuals1 . ',' TOK_ID '=' exp

    ','  shift, and go to state 170

    $default  reduce using rule 70 (actuals)


state 166

   73 place: "AT" . coords reference

    '('  shift, and go to state 171

    coords  go to state 172


state 167

   62 component: "COMPONENT" TOK_ID '=' TOK_ID actuallist place . orientation groupref extend

    "ROTATED"  shift, and go to state 173

    $default  reduce using rule 74 (orientation)

    orientation  go to state 174


state 168

   71 actuals1: TOK_ID '=' . exp

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 175
    @2   go to state 76


state 169

   68 actuallist: '(' actuals ')' .

    $default  reduce using rule 68 (actuallist)


state 170

   72 actuals1: actuals1 ',' . TOK_ID '=' exp

    TOK_ID  shift, and go to state 176


state 171

   84 coords: '(' . exp ',' exp ',' exp ')'

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 177
    @2   go to state 76


state 172

   73 place: "AT" coords . reference

    "ABSOLUTE"  shift, and go to state 178
    "RELATIVE"  shift, and go to state 179

    reference  go to state 180


state 173

   75 orientation: "ROTATED" . coords reference

    '('  shift, and go to state 171

    coords  go to state 181


state 174

   62 component: "COMPONENT" TOK_ID '=' TOK_ID actuallist place orientation . groupref extend

    "GROUP"  shift, and go to state 182

    $default  reduce using rule 80 (groupref)

    groupref  go to state 183


state 175

   71 actuals1: TOK_ID '=' exp .

    $default  reduce using rule 71 (actuals1)


state 176

   72 actuals1: actuals1 ',' TOK_ID . '=' exp

    '='  shift, and go to state 184


state 177

   84 coords: '(' exp . ',' exp ',' exp ')'

    ','  shift, and go to state 185


state 178

   76 reference: "ABSOLUTE" .

    $default  reduce using rule 76 (reference)


state 179

   77 reference: "RELATIVE" . "PREVIOUS"
   78          | "RELATIVE" . "PREVIOUS" '(' TOK_NUMBER ')'
   79          | "RELATIVE" . compref

    "PREVIOUS"  shift, and go to state 186
    TOK_ID      shift, and go to state 187

    compref  go to state 188


state 180

   73 place: "AT" coords reference .

    $default  reduce using rule 73 (place)


state 181

   75 orientation: "ROTATED" coords . reference

    "ABSOLUTE"  shift, and go to state 178
    "RELATIVE"  shift, and go to state 179

    reference  go to state 189


state 182

   81 groupref: "GROUP" . groupdef

    TOK_ID  shift, and go to state 190

    groupdef  go to state 191


state 183

   62 component: "COMPONENT" TOK_ID '=' TOK_ID actuallist place orientation groupref . extend

    "EXTEND"  shift, and go to state 192

    $default  reduce using rule 85 (extend)

    extend  go to state 193


state 184

   72 actuals1: actuals1 ',' TOK_ID '=' . exp

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 194
    @2   go to state 76


state 185

   84 coords: '(' exp ',' . exp ',' exp ')'

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 195
    @2   go to state 76


state 186

   77 reference: "RELATIVE" "PREVIOUS" .
   78          | "RELATIVE" "PREVIOUS" . '(' TOK_NUMBER ')'

    '('  shift, and go to state 196

    $default  reduce using rule 77 (reference)


state 187

   83 compref: TOK_ID .

    $default  reduce using rule 83 (compref)


state 188

   79 reference: "RELATIVE" compref .

    $default  reduce using rule 79 (reference)


state 189

   75 orientation: "ROTATED" coords reference .

    $default  reduce using rule 75 (orientation)


state 190

   82 groupdef: TOK_ID .

    $default  reduce using rule 82 (groupdef)


state 191

   81 groupref: "GROUP" groupdef .

    $default  reduce using rule 81 (groupref)


state 192

   86 extend: "EXTEND" . codeblock

    TOK_CODE_START  shift, and go to state 27

    codeblock  go to state 197


state 193

   62 component: "COMPONENT" TOK_ID '=' TOK_ID actuallist place orientation groupref extend .

    $default  reduce using rule 62 (component)


state 194

   72 actuals1: actuals1 ',' TOK_ID '=' exp .

    $default  reduce using rule 72 (actuals1)


state 195

   84 coords: '(' exp ',' exp . ',' exp ')'

    ','  shift, and go to state 198


state 196

   78 reference: "RELATIVE" "PREVIOUS" '(' . TOK_NUMBER ')'

    TOK_NUMBER  shift, and go to state 199


state 197

   86 extend: "EXTEND" codeblock .

    $default  reduce using rule 86 (extend)


state 198

   84 coords: '(' exp ',' exp ',' . exp ')'

    "EXTERN"  shift, and go to state 74

    $default  reduce using rule 87 (@2)

    exp  go to state 200
    @2   go to state 76


state 199

   78 reference: "RELATIVE" "PREVIOUS" '(' TOK_NUMBER . ')'

    ')'  shift, and go to state 201


state 200

   84 coords: '(' exp ',' exp ',' exp . ')'

    ')'  shift, and go to state 202


state 201

   78 reference: "RELATIVE" "PREVIOUS" '(' TOK_NUMBER ')' .

    $default  reduce using rule 78 (reference)


state 202

   84 coords: '(' exp ',' exp ',' exp ')' .

    $default  reduce using rule 84 (coords)
