Google
 

Trailing-Edge - PDP-10 Archives - fortv11 - f72bnf.bli
There are 12 other files named f72bnf.bli in the archive. Click here to see a list.
! ;THE COMPONENTS OF THE MODIFIED BNF SYNTAX USED IN THE PRODUCTIONS ON THE FOLLOWING PAGES .
! 
! BNFDEFINITION      = METASYMBOL "="  BNFCOMPONENT  [ COMMENT ] "." .
! 
! BNFCOMPONENT       = ( TERMINAL l
!                      METASYMBOL l
!                      ONE l
!                      ALL l
!                      OPTION l
!                      LIST l
!                      REPEAT l
!                      ACTION ) .
! 
! TERMINAL           = """ *ALPHANUMERIC """ ;TERMINAL CHARACTER STRING .
! 
! METASYMBOL         = [ *LETTER  "-" ] *LETTER  ;AN ELEMENT
!                      OF THE SYNTAX DEFINED BY THE SYNTAX OR BY A LEXICAL
!                      PROCESS .
! 
! ONE                = "(" BNFCOMPONENT *[ "l" BNFCOMPONENT ] ")" 
!                      ;ONLY ONE OF THE BNFCOMPONENTS IS REQUIRED .
! 
! ALL                = BNFCOMPONENT *[ BNFCOMPONENT ] ;ALL OF THE
!                      BNFCOMPONENTS ARE REQUIRED .
! 
! OPTION             = "[" BNFCOMPONENT "]" ;USE OF THE BNFCOMPONENT IS
!                      OPTIONAL .
! 
! LIST               = "+" BNFCOMPONENT ;BNFCOMPONENTS SEPERATED BY
!                      COMMAS .
! 
! REPEAT             = "*" BNFCOMPONENT ;BNFCOMPONENTS NOT SEPERATED BY
!                      COMMAS .
! 
! ACTION             = "%" ACTIONNAME "%" ;ACTION TO BE PERFORMED WHEN ENCOUNTERED .
! 
! COMMENT            = ";" *ASCIICHARACTER .
! 
! ;*****************************************************************************************************************
! 
! ;FORTRAN-10 SYNTAX IN MODIFIED BNF .
! 
! EXPRESSION     = %EXPRESS% .
! 
! VARIABLESPEC       = IDENTIFIER %NOLABELS% [ LPAREN +%EXPRESS% RPAREN ] .
! 
! DATA               = *( [ COMMA ] +DATAITEM VALUELIST ) LINEND .
! ; (This production permits a comma before the first DATALIST as in
!         DATA, A/1/
!    This error is caught in the semantic routine) .
! 
! ;FORMAT             = %FORMATSYN% .
! 
! ; INTEGERSPEC        = DECLARESPEC LINEND .
! 
! ; REALSPEC           = DECLARESPEC LINEND .
! 
! ; LOGICALSPEC        = DECLARESPEC LINEND .
! 
! ; DOUBLEPRECISION    = DECLARESPEC LINEND .
! 
! ; COMPLEXSPEC        = DECLARESPEC LINEND .
! 
! DECLARESPEC        = ( FUNCTIONSPEC l TYPELIST )  LINEND .
! 
! FUNCTIONSPEC       = %FUNCTIONSCAN% SUBPROGRAMID .
! 
! PARAMSPEC          = %PARMLPAREN% +%PARMASSIGN% %PARMRPAREN% LINEND . 
! 

! ; PROGRAM            =  [ IDENTIFIER ] LINEND .
! 
! ; BLOCKDATA          =  [ IDENTIFIER ] LINEND .
! 
! DIMENSION          = +ONEARRAY LINEND .
! 
! SUBROUTINE         = SUBPROGRAMID  LINEND  .  
! 
! COMMON             = *COMMONGROUP LINEND .
! 
! EQUIVALENCE        = +( LPAREN SUBVARSPEC COMMA +SUBVARSPEC RPAREN ) LINEND .
! 
! SUBVARSPEC          = IDENTIFIER %NOLABELS% [ LPAREN
!                            %COLNEXP% ( COLON %RPAREXP% RPAREN
!                                      l COMMA +%EXPRESS% RPAREN [ SUBSTRSPEC ]
!                                      l RPAREN [ SUBSTRSPEC ] ) ] .
! 
! SUBSTRSPEC         = LPAREN %COLNEXP% COLON %RPAREXP% RPAREN .
! 
! EXTERNSPEC         = +( [ ANDSGN l  ASTERISK  ]  IDENTIFIER  )   LINEND  . 
! 
! INTRINSPEC         = +IDENTIFIER LINEND .
! 
! ; INCLUDESPEC        = LPAREN [ UNITSPEC COMMA ] ( LITSTRING l VARIABLESPEC ) RPAREN LINEND .
! 
! ;[2473] IMPLICIT  NONE   -  Action   routine   IMPCHK  was   added   with
! ;[2473] (<implicitspec>) made optional,  since specifying the  characters
! ;[2473] "NONE" does not work in the BNF - TYPEID reads the NONE, sets  up
! ;[2473] a global variable (IMPNON) for IMPCHK  to read - If NONE is  seen
! ;[2473] then IMPCHK fails and we can't have the optional (<implicitspec>)
! ;[2473] -  If   NONE   isn't   seen,  IMPCHK   returns   true   and   the
! ;[2473] (<implicitspec>) is no longer optional.
! 
! IMPLICIT           = +( %TYPEID% [ %IMPCHK% LPAREN +%IMPLICITSPEC% RPAREN ] ) 
!                      LINEND .
! 
! SAVESPEC           = [ +( IDENTIFIER l SLASH IDENTIFIER SLASH ) ] LINEND .
! 
! ; PROTECT            = +ONEARRAY LINEND .
! 
! ; GLOBALSPEC         = +ONEARRAY LINEND .
! 
! NAMELIST           = *( SLASH IDENTIFIER SLASH +IDENTIFIER ) LINEND .
! 
! ; IMPLICITSPEC       = %LETTER% [ DASH %LETTER% ] .
!  
! ;TYPEID             = ( "SUBSCRIPTINTEGER" l "DOUBLEPRECISION" l
! ;                     ( "INTEGER" l "REAL" l "LOGICAL" l "COMPLEX" l "BIT" ) [ TIMES CONSTANT ] ) %SETTYPE% .
! 
! DATAITEM           = (  SUBVARSPEC l  LPAREN +DATAITEM [ LOOPPART ] RPAREN )  .
! 
! OUTPLIST           = %NOTEOL% %GIOLIST% .
! 
! LOOPPART           = EQUAL %EXPRESS% COMMA %EXPRESS% [ COMMA %EXPRESS% ] .
! 
! SUBPROGRAMID       = IDENTIFIER %PNAMSET% [ LPAREN [ +( IDENTIFIER l ASTERISK l DOLLAR l ANDSGN ) ] RPAREN ]  .
! 
! ONEARRAY           = IDENTIFIER %ASTERTYPE% [ 
!                      LPAREN +( %ASTEREXPR% [ COLON %ASTEREXPR% ] ) 
!                      RPAREN ]  %ASTERTYPE% .
! 
! TYPELIST           = +( +ONEARRAY  [ VALUELIST ] ) .
! 
! ;[2461]	 Octal or hexidecimal constants are allowed for DATA statements;
!  O'<octalnumbers>' and Z'<hexnumbers>' is  allowed, <number> *  <octhex>
!  is allowed (the case of a repeat count), +/- contstant is not, the  BNF
!  does NOT work well for this case with an action routine (when I  tried,
!  it was calling the action  routine TWICE because the artificial  lexeme
!  created for the action routine was strange and bizarre); Beware if  you
!  change this.
! 
! VALUELIST          = SLASH 
!                          +( %OCTHEX%
!                             l LITSTRING
!                             l [ PLUS l MINUS ] 
!                               ( CONSTLEX [ TIMES ( %OCTHEX% 
!                                                    l LITSTRING 
!                                                    l [ PLUS l MINUS ] 
!                                                        ( CONSTLEX
!                                                          l CMPLEXCON )   
!                                                  )   
!                                          ]
!                                 l CMPLEXCON )
!                           )
!                      SLASH  . 
! 
! CMPLEXCON          = LPAREN [ PLUS l MINUS ] CONSTLEX COMMA [ PLUS l MINUS ] CONSTLEX RPAREN .
! 

! COMMONGROUP        = [ SLASH IDENTIFIER SLASH l CONCAT ] +( ONEARRAY %CMNCOMMA% ) .
! 
! ASSIGN             = %LABELS% LABELEX %TOQUOTE% VARIABLESPEC LINEND .
! 
! GOTO               =  %LABELS% ( LABELEX l GOTOSPEC ) LINEND .
! 
! CALL               = IDENTIFIER [ LPAREN %EXPRLIST% RPAREN ] LINEND .
! 
! ; RETURNSPEC         = [ %EXPRESS% ] LINEND .
! 
! ;CONTINUE          = LINEND .
! 
! ; STOP               = [ LITSTRING l CONSTLEX ] LINEND .
! 
! ; PAUSE              = [ LITSTRING l CONSTLEX ] LINEND .
! 
! ;END                 = LINEND .
! 
! RWSPEC               = %KEY1SPEC%  [ %OPTCOMMA% +OUTPLIST ] LINEND .
! 
! IOSPEC1              = %KEY4SPEC% [ %OPTCOMMA% +OUTPLIST ] LINEND .
! 
! ; ACCEPT             = %LABELS% FORMATID [ COMMA +OUTPLIST ] LINEND .
! 
! ; PUNCH              = %LABELS% FORMATID [ COMMA +OUTPLIST ] LINEND .
! 
! ; WRITESPEC          = %LABELS% ( IOSPEC l FORMATID ) [ %OPTCOMMA% +OUTPLIST ] LINEND .
! 
! ; PRINT              = %LABELS% FORMATID [ COMMA  +OUTPLIST ] LINEND .
! 
! ; TYPESPEC           = %LABELS% FORMATID [ COMMA  +OUTPLIST ] LINEND .
! 
! ; ENCODE             = ENCODECODESPEC LINEND .
! 
! ; DECODE             = ENCODECODESPEC LINEND .
! 
! ; REREAD             = %LABELS% FORMATID [ COMMA +OUTPLIST ] LINEND .
! 

! ; BACKSPEC           = UTILSPEC .
! 
! ;  REWIND             = UTILSPEC .
! 
! ; UNLOAD             = UTILSPEC .
! 
! ; ENDFILESPEC        = UTILSPEC .
! 
! ; SKIPSPEC           = UTILSPEC  .
! 
! ; OPEN               = LPAREN +( IDENTIFIER EQUAL ( VARIABLESPEC l CONSTANT l LITSTRING ) ) RPAREN LINEND .
! 
! ; CLOSESPEC          = LPAREN ( CONSTANT l VARIABLESPEC )
! ;                     *[ COMMA IDENTIFIER EQUAL ( VARIABLESPEC l LITSTRING ) ] RPAREN LINEND .
! 
! FIND               = LPAREN %FINDSPEC% RPAREN LINEND .
! 
! ; KEYSPEC          = %NOLABELS% +( IDENTIFIER  EQUAL ( CONSTLEX l VARIABLESPEC l ASTERISK ) ) .
! 
! ; KEYORUNIT        = %NOLABELS% ( CONSTLEX [ %RECORDMARK% %EXPRESS% ] l 
!                    IDENTIFIER [ %RECORDMARK% %EXPRESS% l EQUAL ( CONSTLEX l VARIABLESPEC l ASTERISK ) ] ) .
! 
! ; KEYORFMT       = %LABELS% ( LABELEX l VARIABLESPEC [ EQUAL %NOLABELS% ( CONSTLEX l VARIABLESPEC l
!                      ASTERISK ) ] l ASTERISK ) .
! 
! GOTOSPEC           = ( IDENTIFIER [ [ COMMA ] LPAREN +( %LABELS% LABELEX ) RPAREN ] l
!                      LPAREN +( %LABELS% LABELEX ) RPAREN [ COMMA ] %EXPRESS% ) .
! 
! ENCODECODESPEC     = LPAREN %ENCDECSPEC% RPAREN [ %OPTCOMMA% +OUTPLIST ] LINEND .
! 
! ; FORMATID           =   ( LABELEX l IDENTIFIER  l ASTERISK ) .
! 
! ; ACTUALARG          = ( %EXPRESS%  l DOLLAR CONSTLEX ) .
! 
! 
! ; REPEATEXPR         = +( [ LPAREN ] ( CONSTLEX l VARIABLESPEC ) [ RPAREN ] [ LPAREN ( CONSTLEX l VARIABLESPEC ) RPAREN ] ) .
! 
! UTILSPEC         = %REWSPEC% LINEND .
! 
! 

! STATEFUNCSPEC      = LPAREN  ( RPAREN  l  %NULLCHECK% +%SUBLOCAL% RPAREN )  EQUAL %EXPRESS% LINEND .
! 
! ARRAYASSIGNSPEC    = LPAREN +%EXPRESS% RPAREN   EQUAL %EXPRESS%  LINEND .
! 
! LOGICALIFSPEC      = LPAREN %EXPRESS% RPAREN .
! 
! ARITHIFSPEC        = LPAREN %EXPRESS% RPAREN %LABELS% LABELEX COMMA %LABELS% LABELEX [ COMMA %LABELS% LABELEX ] LINEND .
! 
! ASSIGNSPEC         = IDENTIFIER  EQUAL %EXPRESS%  LINEND .
! 
! DOSPEC             = %LABELS% [ LABELEX [ COMMA ] ] %NOLABELS% IDENTIFIER EQUAL
!                      %EXPRESS% COMMA %EXPRESS% [ COMMA %EXPRESS% ] LINEND .
! 
! DOWHILE            = %LABELANDWHILE% LPAREN %EXPRESS% RPAREN LINEND .
! 

!THE FOLLOWING TABLES WERE PRODUCED BY THE BLISS MODULE "BUILD.BLI"

!BIND
!
!VECTOR	METANAME= IF NOT LEFTBUILD THEN 0 ELSE PLIT(
!%1%	PLIT'EXPRESSION',
!%2%	PLIT'VARIABLESPEC',
!%3%	PLIT'IDENTIFIER',
!%4%	PLIT'LPAREN',
!%5%	PLIT'RPAREN',
!%6%	PLIT'DATA',
!%7%	PLIT'COMMA',
!%8%	PLIT'DATAITEM',
!%9%	PLIT'VALUELIST',
!%10%	PLIT'LINEND',
!%11%	PLIT'DECLARESPEC',
!%12%	PLIT'FUNCTIONSPEC',
!%13%	PLIT'TYPELIST',
!%14%	PLIT'SUBPROGRAMID',
!%15%	PLIT'PARAMSPEC',
!%16%	PLIT'DIMENSION',
!%17%	PLIT'ONEARRAY',
!%18%	PLIT'SUBROUTINE',
!%19%	PLIT'COMMON',
!%20%	PLIT'COMMONGROUP',
!%21%	PLIT'EQUIVALENCE',
!%22%	PLIT'SUBVARSPEC',
!%23%	PLIT'LPAREN
!',
!%24%	PLIT'COLON',
!%25%	PLIT'RPAREN
!',
!%26%	PLIT'SUBSTRSPEC',
!%27%	PLIT'EXTERNSPEC',
!%28%	PLIT'ANDSGN',
!%29%	PLIT'ASTERISK',
!%30%	PLIT'INTRINSPEC',
!%31%	PLIT'IMPLICIT',
!%32%	PLIT'SAVESPEC',
!%33%	PLIT'SLASH',
!%34%	PLIT'NAMELIST',
!%35%	PLIT'LOOPPART',
!%36%	PLIT'OUTPLIST',
!%37%	PLIT'EQUAL',
!%38%	PLIT'DOLLAR',
!%39%	PLIT'LITSTRING
!',
!%40%	PLIT'PLUS',
!%41%	PLIT'MINUS',
!%42%	PLIT'CONSTLEX',
!%43%	PLIT'TIMES',
!%44%	PLIT'LITSTRING',
!%45%	PLIT'CONSTLEX
!',
!%46%	PLIT'CMPLEXCON',
!%47%	PLIT'CONCAT',
!%48%	PLIT'ASSIGN',
!%49%	PLIT'LABELEX',
!%50%	PLIT'GOTO',
!%51%	PLIT'GOTOSPEC',
!%52%	PLIT'CALL',
!%53%	PLIT'RWSPEC',
!%54%	PLIT'IOSPEC1',
!%55%	PLIT'FIND',
!%56%	PLIT'ENCODECODESPEC',
!%57%	PLIT'UTILSPEC',
!%58%	PLIT'STATEFUNCSPEC',
!%59%	PLIT'ARRAYASSIGNSPEC',
!%60%	PLIT'LOGICALIFSPEC',
!%61%	PLIT'ARITHIFSPEC',
!%62%	PLIT'ASSIGNSPEC',
!%63%	PLIT'DOSPEC',
!%64%	PLIT'EQUAL
!',
!%65%	PLIT'DOWHILE')-1;

EXTERNAL
%1%	EXPRESS,
%2%	NOLABELS,
%3%	FUNCTIONSCAN,
%4%	PARMLPAREN,
%5%	PARMASSIGN,
%6%	PARMRPAREN,
%7%	COLNEXP,
%8%	RPAREXP,
%9%	TYPEID,
%10%	IMPCHK,
%11%	IMPLICITSPEC,
%12%	NOTEOL,
%13%	GIOLIST,
%14%	PNAMSET,
%15%	ASTERTYPE,
%16%	ASTEREXPR,
%17%	OCTHEX,
%18%	CMNCOMMA,
%19%	LABELS,
%20%	TOQUOTE,
%21%	EXPRLIST,
%22%	KEY1SPEC,
%23%	OPTCOMMA,
%24%	KEY4SPEC,
%25%	FINDSPEC,
%26%	ENCDECSPEC,
%27%	REWSPEC,
%28%	NULLCHECK,
%29%	SUBLOCAL,
%30%	LABELANDWHILE;
BIND	VECTOR ACTIONCASE=PLIT(
%1%	EXPRESS,
%2%	NOLABELS,
%3%	FUNCTIONSCAN,
%4%	PARMLPAREN,
%5%	PARMASSIGN,
%6%	PARMRPAREN,
%7%	COLNEXP,
%8%	RPAREXP,
%9%	TYPEID,
%10%	IMPCHK,
%11%	IMPLICITSPEC,
%12%	NOTEOL,
%13%	GIOLIST,
%14%	PNAMSET,
%15%	ASTERTYPE,
%16%	ASTEREXPR,
%17%	OCTHEX,
%18%	CMNCOMMA,
%19%	LABELS,
%20%	TOQUOTE,
%21%	EXPRLIST,
%22%	KEY1SPEC,
%23%	OPTCOMMA,
%24%	KEY4SPEC,
%25%	FINDSPEC,
%26%	ENCDECSPEC,
%27%	REWSPEC,
%28%	NULLCHECK,
%29%	SUBLOCAL,
%30%	LABELANDWHILE
!	)-1,
!	VECTOR	ACTIONNAME = IF NOT LEFTBUILD THEN 0 ELSE  PLIT(
!%1%	PLIT'EXPRESS',
!%2%	PLIT'NOLABELS',
!%3%	PLIT'FUNCTIONSCAN',
!%4%	PLIT'PARMLPAREN',
!%5%	PLIT'PARMASSIGN',
!%6%	PLIT'PARMRPAREN',
!%7%	PLIT'COLNEXP',
!%8%	PLIT'RPAREXP',
!%9%	PLIT'TYPEID',
!%10%	PLIT'IMPCHK',
!%11%	PLIT'IMPLICITSPEC',
!%12%	PLIT'NOTEOL',
!%13%	PLIT'GIOLIST',
!%14%	PLIT'PNAMSET',
!%15%	PLIT'ASTERTYPE',
!%16%	PLIT'ASTEREXPR',
!%17%	PLIT'OCTHEX',
!%18%	PLIT'CMNCOMMA',
!%19%	PLIT'LABELS',
!%20%	PLIT'TOQUOTE',
!%21%	PLIT'EXPRLIST',
!%22%	PLIT'KEY1SPEC',
!%23%	PLIT'OPTCOMMA',
!%24%	PLIT'KEY4SPEC',
!%25%	PLIT'FINDSPEC',
!%26%	PLIT'ENCDECSPEC',
!%27%	PLIT'REWSPEC',
!%28%	PLIT'NULLCHECK',
!%29%	PLIT'SUBLOCAL',
!%30%	PLIT'LABELANDWHILE'
	)-1;
MACRO	LLSIZE=378$;

BIND	BNFTBL= PLIT(	!378 ENTRIES
	!TYPE		SUB		NUMBER
	ACTION^24+	1^12+	0,	!EXPRESS
	ALL^24+		8^12+	2,	!2
	ACTION^24+	1^12+	0,	!EXPRESS
	LEXEME^24+	LPAREN^12+	4,	!4
	LIST^24+	3^12+	1,	!5
	LEXEME^24+	RPAREN^12+	5,	!6
	ALL^24+		4^12+	2,	!7
	LEXEME^24+	IDENTIFIER^12+	3,	!8
	ACTION^24+	2^12+	0,	!NOLABELS
	OPTION^24+	7^12+	0,	!10
	ALL^24+		18^12+	1,	!11
	LEXEME^24+	COMMA^12+	7,	!12
	META^24+	127^12+	8,	!DATAITEM
	OPTION^24+	12^12+	0,	!14
	LIST^24+	13^12+	1,	!15
	META^24+	183^12+	9,	!VALUELIST
	ALL^24+		14^12+	2,	!17
	REPEAT^24+	17^12+	1,	!18
	LEXEME^24+	LINEND^12+	10,	!19
	ALL^24+		23^12+	1,	!20
	META^24+	25^12+	12,	!FUNCTIONSPEC
	META^24+	177^12+	13,	!TYPELIST
	ONE^24+		21^12+	1,	!23
	LEXEME^24+	LINEND^12+	10,	!24
	ALL^24+		26^12+	1,	!25
	ACTION^24+	3^12+	0,	!FUNCTIONSCAN
	META^24+	148^12+	14,	!SUBPROGRAMID
	ALL^24+		30^12+	3,	!28
	ACTION^24+	5^12+	0,	!PARMASSIGN
	ACTION^24+	4^12+	0,	!PARMLPAREN
	LIST^24+	29^12+	1,	!31
	ACTION^24+	6^12+	0,	!PARMRPAREN
	LEXEME^24+	LINEND^12+	10,	!33
	ALL^24+		36^12+	1,	!34
	META^24+	162^12+	17,	!ONEARRAY
	LIST^24+	35^12+	1,	!36
	LEXEME^24+	LINEND^12+	10,	!37
	ALL^24+		39^12+	1,	!38
	META^24+	148^12+	14,	!SUBPROGRAMID
	LEXEME^24+	LINEND^12+	10,	!40
	ALL^24+		43^12+	1,	!41
	META^24+	223^12+	20,	!COMMONGROUP
	REPEAT^24+	42^12+	1,	!43
	LEXEME^24+	LINEND^12+	10,	!44
	ALL^24+		53^12+	1,	!45
	META^24+	55^12+	22,	!SUBVARSPEC
	LEXEME^24+	LPAREN^12+	4,	!47
	META^24+	55^12+	22,	!SUBVARSPEC
	LEXEME^24+	COMMA^12+	7,	!49
	LIST^24+	46^12+	1,	!50
	LEXEME^24+	RPAREN^12+	5,	!51
	ALL^24+		47^12+	4,	!52
	LIST^24+	52^12+	1,	!53
	LEXEME^24+	LINEND^12+	10,	!54
	ALL^24+		75^12+	2,	!55
	LEXEME^24+	COLON^12+	24,	!56
	ACTION^24+	8^12+	0,	!RPAREXP
	LEXEME^24+	RPAREN
^12+	25,	!58
	ACTION^24+	1^12+	0,	!EXPRESS
	META^24+	78^12+	26,	!SUBSTRSPEC
	LEXEME^24+	COMMA^12+	7,	!61
	LIST^24+	59^12+	1,	!62
	LEXEME^24+	RPAREN^12+	5,	!63
	OPTION^24+	60^12+	0,	!64
	META^24+	78^12+	26,	!SUBSTRSPEC
	LEXEME^24+	RPAREN^12+	5,	!66
	OPTION^24+	65^12+	0,	!67
	ALL^24+		56^12+	2,	!68
	ALL^24+		61^12+	3,	!69
	ALL^24+		66^12+	1,	!70
	LEXEME^24+	LPAREN
^12+	23,	!71
	ACTION^24+	7^12+	0,	!COLNEXP
	ONE^24+		68^12+	2,	!73
	ALL^24+		71^12+	2,	!74
	LEXEME^24+	IDENTIFIER^12+	3,	!75
	ACTION^24+	2^12+	0,	!NOLABELS
	OPTION^24+	74^12+	0,	!77
	ALL^24+		79^12+	4,	!78
	LEXEME^24+	LPAREN^12+	4,	!79
	ACTION^24+	7^12+	0,	!COLNEXP
	LEXEME^24+	COLON^12+	24,	!81
	ACTION^24+	8^12+	0,	!RPAREXP
	LEXEME^24+	RPAREN^12+	5,	!83
	ALL^24+		90^12+	1,	!84
	LEXEME^24+	ANDSGN^12+	28,	!85
	LEXEME^24+	ASTERISK^12+	29,	!86
	OPTION^24+	85^12+	1,	!87
	LEXEME^24+	IDENTIFIER^12+	3,	!88
	ALL^24+		87^12+	1,	!89
	LIST^24+	89^12+	1,	!90
	LEXEME^24+	LINEND^12+	10,	!91
	ALL^24+		94^12+	1,	!92
	LEXEME^24+	IDENTIFIER^12+	3,	!93
	LIST^24+	93^12+	1,	!94
	LEXEME^24+	LINEND^12+	10,	!95
	ALL^24+		106^12+	1,	!96
	ACTION^24+	11^12+	0,	!IMPLICITSPEC
	ACTION^24+	10^12+	0,	!IMPCHK
	LEXEME^24+	LPAREN^12+	4,	!99
	LIST^24+	97^12+	1,	!100
	LEXEME^24+	RPAREN^12+	5,	!101
	ALL^24+		98^12+	3,	!102
	ACTION^24+	9^12+	0,	!TYPEID
	OPTION^24+	102^12+	0,	!104
	ALL^24+		103^12+	1,	!105
	LIST^24+	105^12+	1,	!106
	LEXEME^24+	LINEND^12+	10,	!107
	ALL^24+		116^12+	1,	!108
	LEXEME^24+	SLASH^12+	33,	!109
	LEXEME^24+	IDENTIFIER^12+	3,	!110
	LEXEME^24+	SLASH^12+	33,	!111
	LEXEME^24+	IDENTIFIER^12+	3,	!112
	ALL^24+		109^12+	2,	!113
	ONE^24+		112^12+	1,	!114
	LIST^24+	114^12+	1,	!115
	OPTION^24+	115^12+	0,	!116
	LEXEME^24+	LINEND^12+	10,	!117
	ALL^24+		125^12+	1,	!118
	LEXEME^24+	IDENTIFIER^12+	3,	!119
	LEXEME^24+	SLASH^12+	33,	!120
	LEXEME^24+	IDENTIFIER^12+	3,	!121
	LEXEME^24+	SLASH^12+	33,	!122
	LIST^24+	119^12+	1,	!123
	ALL^24+		120^12+	3,	!124
	REPEAT^24+	124^12+	1,	!125
	LEXEME^24+	LINEND^12+	10,	!126
	ONE^24+		134^12+	1,	!127
	META^24+	127^12+	8,	!DATAITEM
	META^24+	139^12+	35,	!LOOPPART
	LEXEME^24+	LPAREN^12+	4,	!130
	LIST^24+	128^12+	1,	!131
	OPTION^24+	129^12+	0,	!132
	LEXEME^24+	RPAREN^12+	5,	!133
	META^24+	55^12+	22,	!SUBVARSPEC
	ALL^24+		130^12+	3,	!135
	ALL^24+		137^12+	1,	!136
	ACTION^24+	12^12+	0,	!NOTEOL
	ACTION^24+	13^12+	0,	!GIOLIST
	ALL^24+		143^12+	4,	!139
	LEXEME^24+	COMMA^12+	7,	!140
	ACTION^24+	1^12+	0,	!EXPRESS
	ALL^24+		140^12+	1,	!142
	LEXEME^24+	EQUAL^12+	37,	!143
	ACTION^24+	1^12+	0,	!EXPRESS
	LEXEME^24+	COMMA^12+	7,	!145
	ACTION^24+	1^12+	0,	!EXPRESS
	OPTION^24+	142^12+	0,	!147
	ALL^24+		159^12+	2,	!148
	LEXEME^24+	IDENTIFIER^12+	3,	!149
	LEXEME^24+	ASTERISK^12+	29,	!150
	LEXEME^24+	DOLLAR^12+	38,	!151
	LEXEME^24+	ANDSGN^12+	28,	!152
	ONE^24+		149^12+	3,	!153
	LIST^24+	153^12+	1,	!154
	LEXEME^24+	LPAREN^12+	4,	!155
	OPTION^24+	154^12+	0,	!156
	LEXEME^24+	RPAREN^12+	5,	!157
	ALL^24+		155^12+	2,	!158
	LEXEME^24+	IDENTIFIER^12+	3,	!159
	ACTION^24+	14^12+	0,	!PNAMSET
	OPTION^24+	158^12+	0,	!161
	ALL^24+		173^12+	3,	!162
	LEXEME^24+	COLON^12+	24,	!163
	ACTION^24+	16^12+	0,	!ASTEREXPR
	ALL^24+		163^12+	1,	!165
	ACTION^24+	16^12+	0,	!ASTEREXPR
	OPTION^24+	165^12+	0,	!167
	ALL^24+		166^12+	1,	!168
	LEXEME^24+	LPAREN^12+	4,	!169
	LIST^24+	168^12+	1,	!170
	LEXEME^24+	RPAREN^12+	5,	!171
	ALL^24+		169^12+	2,	!172
	LEXEME^24+	IDENTIFIER^12+	3,	!173
	ACTION^24+	15^12+	0,	!ASTERTYPE
	OPTION^24+	172^12+	0,	!175
	ACTION^24+	15^12+	0,	!ASTERTYPE
	LIST^24+	182^12+	1,	!177
	META^24+	162^12+	17,	!ONEARRAY
	META^24+	183^12+	9,	!VALUELIST
	LIST^24+	178^12+	1,	!180
	OPTION^24+	179^12+	0,	!181
	ALL^24+		180^12+	1,	!182
	ALL^24+		208^12+	2,	!183
	LEXEME^24+	PLUS^12+	40,	!184
	LEXEME^24+	MINUS^12+	41,	!185
	LEXEME^24+	PLUS^12+	40,	!186
	LEXEME^24+	MINUS^12+	41,	!187
	LEXEME^24+	CONSTLEX
^12+	45,	!188
	META^24+	211^12+	46,	!CMPLEXCON
	OPTION^24+	186^12+	1,	!190
	ONE^24+		188^12+	1,	!191
	ACTION^24+	17^12+	0,	!OCTHEX
	LEXEME^24+	LITSTRING^12+	44,	!193
	ALL^24+		190^12+	1,	!194
	LEXEME^24+	TIMES^12+	43,	!195
	ONE^24+		192^12+	2,	!196
	ALL^24+		195^12+	1,	!197
	LEXEME^24+	CONSTLEX^12+	42,	!198
	OPTION^24+	197^12+	0,	!199
	ALL^24+		198^12+	1,	!200
	META^24+	211^12+	46,	!CMPLEXCON
	OPTION^24+	184^12+	1,	!202
	ONE^24+		200^12+	1,	!203
	ACTION^24+	17^12+	0,	!OCTHEX
	LEXEME^24+	LITSTRING
^12+	39,	!205
	ALL^24+		202^12+	1,	!206
	ONE^24+		204^12+	2,	!207
	LEXEME^24+	SLASH^12+	33,	!208
	LIST^24+	207^12+	1,	!209
	LEXEME^24+	SLASH^12+	33,	!210
	ALL^24+		216^12+	6,	!211
	LEXEME^24+	PLUS^12+	40,	!212
	LEXEME^24+	MINUS^12+	41,	!213
	LEXEME^24+	PLUS^12+	40,	!214
	LEXEME^24+	MINUS^12+	41,	!215
	LEXEME^24+	LPAREN^12+	4,	!216
	OPTION^24+	212^12+	1,	!217
	LEXEME^24+	CONSTLEX^12+	42,	!218
	LEXEME^24+	COMMA^12+	7,	!219
	OPTION^24+	214^12+	1,	!220
	LEXEME^24+	CONSTLEX^12+	42,	!221
	LEXEME^24+	RPAREN^12+	5,	!222
	ALL^24+		232^12+	1,	!223
	LEXEME^24+	SLASH^12+	33,	!224
	LEXEME^24+	IDENTIFIER^12+	3,	!225
	LEXEME^24+	SLASH^12+	33,	!226
	ALL^24+		224^12+	2,	!227
	LEXEME^24+	CONCAT^12+	47,	!228
	META^24+	162^12+	17,	!ONEARRAY
	ACTION^24+	18^12+	0,	!CMNCOMMA
	ALL^24+		229^12+	1,	!231
	OPTION^24+	227^12+	1,	!232
	LIST^24+	231^12+	1,	!233
	ALL^24+		235^12+	4,	!234
	ACTION^24+	19^12+	0,	!LABELS
	LEXEME^24+	LABELEX^12+	49,	!236
	ACTION^24+	20^12+	0,	!TOQUOTE
	META^24+	2^12+	2,	!VARIABLESPEC
	LEXEME^24+	LINEND^12+	10,	!239
	ALL^24+		243^12+	2,	!240
	LEXEME^24+	LABELEX^12+	49,	!241
	META^24+	275^12+	51,	!GOTOSPEC
	ACTION^24+	19^12+	0,	!LABELS
	ONE^24+		241^12+	1,	!244
	LEXEME^24+	LINEND^12+	10,	!245
	ALL^24+		251^12+	2,	!246
	LEXEME^24+	LPAREN^12+	4,	!247
	ACTION^24+	21^12+	0,	!EXPRLIST
	LEXEME^24+	RPAREN^12+	5,	!249
	ALL^24+		247^12+	2,	!250
	LEXEME^24+	IDENTIFIER^12+	3,	!251
	OPTION^24+	250^12+	0,	!252
	LEXEME^24+	LINEND^12+	10,	!253
	ALL^24+		259^12+	2,	!254
	META^24+	136^12+	36,	!OUTPLIST
	ACTION^24+	23^12+	0,	!OPTCOMMA
	LIST^24+	255^12+	1,	!257
	ALL^24+		256^12+	1,	!258
	ACTION^24+	22^12+	0,	!KEY1SPEC
	OPTION^24+	258^12+	0,	!260
	LEXEME^24+	LINEND^12+	10,	!261
	ALL^24+		267^12+	2,	!262
	META^24+	136^12+	36,	!OUTPLIST
	ACTION^24+	23^12+	0,	!OPTCOMMA
	LIST^24+	263^12+	1,	!265
	ALL^24+		264^12+	1,	!266
	ACTION^24+	24^12+	0,	!KEY4SPEC
	OPTION^24+	266^12+	0,	!268
	LEXEME^24+	LINEND^12+	10,	!269
	ALL^24+		271^12+	3,	!270
	LEXEME^24+	LPAREN^12+	4,	!271
	ACTION^24+	25^12+	0,	!FINDSPEC
	LEXEME^24+	RPAREN^12+	5,	!273
	LEXEME^24+	LINEND^12+	10,	!274
	ONE^24+		296^12+	1,	!275
	LEXEME^24+	COMMA^12+	7,	!276
	ACTION^24+	19^12+	0,	!LABELS
	LEXEME^24+	LABELEX^12+	49,	!278
	ALL^24+		277^12+	1,	!279
	OPTION^24+	276^12+	0,	!280
	LEXEME^24+	LPAREN^12+	4,	!281
	LIST^24+	279^12+	1,	!282
	LEXEME^24+	RPAREN^12+	5,	!283
	ALL^24+		280^12+	3,	!284
	LEXEME^24+	IDENTIFIER^12+	3,	!285
	OPTION^24+	284^12+	0,	!286
	ACTION^24+	19^12+	0,	!LABELS
	LEXEME^24+	LABELEX^12+	49,	!288
	ALL^24+		287^12+	1,	!289
	LEXEME^24+	COMMA^12+	7,	!290
	LEXEME^24+	LPAREN^12+	4,	!291
	LIST^24+	289^12+	1,	!292
	LEXEME^24+	RPAREN^12+	5,	!293
	OPTION^24+	290^12+	0,	!294
	ACTION^24+	1^12+	0,	!EXPRESS
	ALL^24+		285^12+	1,	!296
	ALL^24+		291^12+	4,	!297
	ALL^24+		303^12+	4,	!298
	META^24+	136^12+	36,	!OUTPLIST
	ACTION^24+	23^12+	0,	!OPTCOMMA
	LIST^24+	299^12+	1,	!301
	ALL^24+		300^12+	1,	!302
	LEXEME^24+	LPAREN^12+	4,	!303
	ACTION^24+	26^12+	0,	!ENCDECSPEC
	LEXEME^24+	RPAREN^12+	5,	!305
	OPTION^24+	302^12+	0,	!306
	LEXEME^24+	LINEND^12+	10,	!307
	ALL^24+		309^12+	1,	!308
	ACTION^24+	27^12+	0,	!REWSPEC
	LEXEME^24+	LINEND^12+	10,	!310
	ALL^24+		318^12+	4,	!311
	ACTION^24+	29^12+	0,	!SUBLOCAL
	ACTION^24+	28^12+	0,	!NULLCHECK
	LIST^24+	312^12+	1,	!314
	LEXEME^24+	RPAREN^12+	5,	!315
	LEXEME^24+	RPAREN^12+	5,	!316
	ALL^24+		313^12+	2,	!317
	LEXEME^24+	LPAREN^12+	4,	!318
	ONE^24+		316^12+	1,	!319
	LEXEME^24+	EQUAL^12+	37,	!320
	ACTION^24+	1^12+	0,	!EXPRESS
	LEXEME^24+	LINEND^12+	10,	!322
	ALL^24+		325^12+	5,	!323
	ACTION^24+	1^12+	0,	!EXPRESS
	LEXEME^24+	LPAREN^12+	4,	!325
	LIST^24+	324^12+	1,	!326
	LEXEME^24+	RPAREN^12+	5,	!327
	LEXEME^24+	EQUAL^12+	37,	!328
	ACTION^24+	1^12+	0,	!EXPRESS
	LEXEME^24+	LINEND^12+	10,	!330
	ALL^24+		332^12+	2,	!331
	LEXEME^24+	LPAREN^12+	4,	!332
	ACTION^24+	1^12+	0,	!EXPRESS
	LEXEME^24+	RPAREN^12+	5,	!334
	ALL^24+		340^12+	9,	!335
	LEXEME^24+	COMMA^12+	7,	!336
	ACTION^24+	19^12+	0,	!LABELS
	LEXEME^24+	LABELEX^12+	49,	!338
	ALL^24+		336^12+	2,	!339
	LEXEME^24+	LPAREN^12+	4,	!340
	ACTION^24+	1^12+	0,	!EXPRESS
	LEXEME^24+	RPAREN^12+	5,	!342
	ACTION^24+	19^12+	0,	!LABELS
	LEXEME^24+	LABELEX^12+	49,	!344
	LEXEME^24+	COMMA^12+	7,	!345
	ACTION^24+	19^12+	0,	!LABELS
	LEXEME^24+	LABELEX^12+	49,	!347
	OPTION^24+	339^12+	0,	!348
	LEXEME^24+	LINEND^12+	10,	!349
	ALL^24+		351^12+	3,	!350
	LEXEME^24+	IDENTIFIER^12+	3,	!351
	LEXEME^24+	EQUAL^12+	37,	!352
	ACTION^24+	1^12+	0,	!EXPRESS
	LEXEME^24+	LINEND^12+	10,	!354
	ALL^24+		363^12+	9,	!355
	LEXEME^24+	COMMA^12+	7,	!356
	LEXEME^24+	LABELEX^12+	49,	!357
	OPTION^24+	356^12+	0,	!358
	ALL^24+		357^12+	1,	!359
	LEXEME^24+	COMMA^12+	7,	!360
	ACTION^24+	1^12+	0,	!EXPRESS
	ALL^24+		360^12+	1,	!362
	ACTION^24+	19^12+	0,	!LABELS
	OPTION^24+	359^12+	0,	!364
	ACTION^24+	2^12+	0,	!NOLABELS
	LEXEME^24+	IDENTIFIER^12+	3,	!366
	LEXEME^24+	EQUAL
^12+	64,	!367
	ACTION^24+	1^12+	0,	!EXPRESS
	LEXEME^24+	COMMA^12+	7,	!369
	ACTION^24+	1^12+	0,	!EXPRESS
	OPTION^24+	362^12+	0,	!371
	LEXEME^24+	LINEND^12+	10,	!372
	ALL^24+		374^12+	4,	!373
	ACTION^24+	30^12+	0,	!LABELANDWHILE
	LEXEME^24+	LPAREN^12+	4,	!375
	ACTION^24+	1^12+	0,	!EXPRESS
	LEXEME^24+	RPAREN^12+	5,	!377
	LEXEME^24+	LINEND^12+	10,	!378
	0)-1;