Google
 

Trailing-Edge - PDP-10 Archives - FORTRAN-10_Alpha_31-jul-86 - frmbnf.bli
There are 12 other files named frmbnf.bli in the archive. Click here to see a list.
! ;THE MODIFIED BNF SYNTAX DESCRIBED IN TERMS OF ITSELF .
! 
! BNFDEFINITION      = METASYMBOL "="  BNFCOMPONENT  [ COMMENT ] "." .
! 
! BNFCOMPONENT       = ( TERMINAL l
!                      METASYMBOL l
!                      OR l
!                      AND l
!                      OPTION l
!                      LIST l
!                      REPEAT l
!                      ACTION ) .
! 
! TERMINAL           = """ *ASCIICHARACTER """ ;TERMINAL CHARACTER STRING .
! 
! METASYMBOL         = [ *LETTER  "-" ] *LETTER  ;AN ELEMENT
!                      OF THE SYNTAX DEFINED BY THE SYNTAX OR BY A LEXICAL
!                      PROCESS .
! 
! OR                 = "(" BNFCOMPONENT *[ "l" BNFCOMPONENT ] ")" 
!                      ;ONLY ONE OF THE BNFCOMPONENTS IS REQUIRED .
! 
! AND                = 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 .
! 
! ;*****************************************************************************************************************
! 
! ;CHECKS THAT THE FORMAT STATEMENT CONFORMS TO THE SYNTAX WHICH FOLLOWS.
! 
! FORMATSPEC        = LPAREN  [ FDGROUP ] RPAREN LINEND .
! 
! FDGROUP           = +( FIELDDESCRIPTOR [ *SLASH ] ) .
! 
! FIELDDESCRIPTOR   = ( ( PLUS l MINUS ) CONST PCHAR [ [ CONST ] TWODESCRIPTOR ] l
!                     CONST ( PCHAR [ [ CONST ] TWODESCRIPTOR ] l
!                     TWODESCRIPTOR l ONEDESCRIPTOR l XCHAR l LPAREN  FDGROUP RPAREN )  l
!                     TWODESCRIPTOR l ONEDESCRIPTOR l TCHAR [ LCHAR l RCHAR ] CONST l
!                     SCHAR [ SCHAR l PCHAR ] l BCHAR ( NCHAR l ZCHAR ) l
!                     DOLLAR l SLASH l COLON l
!                     LITSTRING l XCHAR l QCHAR l LPAREN  FDGROUP RPAREN ) .
! 
! TWODESCRIPTOR     = ( ( ECHAR l DCHAR l GCHAR ) [ CONST [ PERIOD CONST ] [ ECHAR CONST ] ] l 
!                     ( FCHAR l ICHAR l OCHAR l ZCHAR ) [ CONST [ PERIOD CONST ] ] ) .
! 
! ONEDESCRIPTOR     = ( LCHAR l ACHAR l RCHAR ) [ CONST ] .
! 
! 

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

!BIND
!
!VECTOR	METANAME= IF NOT LEFTBUILD THEN 0 ELSE PLIT(
!%1%	PLIT'FORMATSPEC',
!%2%	PLIT'LPAREN',
!%3%	PLIT'FDGROUP',
!%4%	PLIT'RPAREN',
!%5%	PLIT'LINEND',
!%6%	PLIT'FIELDDESCRIPTOR',
!%7%	PLIT'SLASH',
!%8%	PLIT'PLUS',
!%9%	PLIT'MINUS',
!%10%	PLIT'CONST',
!%11%	PLIT'PCHAR',
!%12%	PLIT'TWODESCRIPTOR',
!%13%	PLIT'ONEDESCRIPTOR',
!%14%	PLIT'XCHAR',
!%15%	PLIT'TCHAR',
!%16%	PLIT'LCHAR',
!%17%	PLIT'RCHAR',
!%18%	PLIT'SCHAR',
!%19%	PLIT'BCHAR',
!%20%	PLIT'NCHAR',
!%21%	PLIT'ZCHAR',
!%22%	PLIT'DOLLAR',
!%23%	PLIT'COLON',
!%24%	PLIT'LITSTRING',
!%25%	PLIT'QCHAR',
!%26%	PLIT'ECHAR',
!%27%	PLIT'DCHAR',
!%28%	PLIT'GCHAR',
!%29%	PLIT'PERIOD',
!%30%	PLIT'FCHAR',
!%31%	PLIT'ICHAR',
!%32%	PLIT'OCHAR',
!%33%	PLIT'ACHAR')-1;

BIND	VECTOR ACTIONCASE=PLIT(
0 ),
	VECTOR	ACTIONNAME = IF NOT LEFTBUILD THEN 0 ELSE  PLIT(
0 );
MACRO	LLSIZE=106$;

BIND	BNFTBL= PLIT(	!106 ENTRIES
	!TYPE		SUB		NUMBER
	ALL^24+		3^12+	3,	!1
	META^24+	7^12+	3,	!FDGROUP
	LEXEME^24+	LPAREN^12+	2,	!3
	OPTION^24+	2^12+	0,	!4
	LEXEME^24+	RPAREN^12+	4,	!5
	LEXEME^24+	LINEND^12+	5,	!6
	LIST^24+	12^12+	1,	!7
	LEXEME^24+	SLASH^12+	7,	!8
	REPEAT^24+	8^12+	1,	!9
	META^24+	13^12+	6,	!FIELDDESCRIPTOR
	OPTION^24+	9^12+	0,	!11
	ALL^24+		10^12+	1,	!12
	ONE^24+		56^12+	13,	!13
	LEXEME^24+	PLUS^12+	8,	!14
	LEXEME^24+	MINUS^12+	9,	!15
	LEXEME^24+	CONST^12+	10,	!16
	OPTION^24+	16^12+	0,	!17
	META^24+	70^12+	12,	!TWODESCRIPTOR
	ALL^24+		17^12+	1,	!19
	ONE^24+		14^12+	1,	!20
	LEXEME^24+	CONST^12+	10,	!21
	LEXEME^24+	PCHAR^12+	11,	!22
	OPTION^24+	19^12+	0,	!23
	LEXEME^24+	CONST^12+	10,	!24
	OPTION^24+	24^12+	0,	!25
	META^24+	70^12+	12,	!TWODESCRIPTOR
	ALL^24+		25^12+	1,	!27
	LEXEME^24+	PCHAR^12+	11,	!28
	OPTION^24+	27^12+	0,	!29
	LEXEME^24+	LPAREN^12+	2,	!30
	META^24+	7^12+	3,	!FDGROUP
	LEXEME^24+	RPAREN^12+	4,	!32
	ALL^24+		28^12+	1,	!33
	META^24+	70^12+	12,	!TWODESCRIPTOR
	META^24+	100^12+	13,	!ONEDESCRIPTOR
	LEXEME^24+	XCHAR^12+	14,	!36
	ALL^24+		30^12+	2,	!37
	LEXEME^24+	CONST^12+	10,	!38
	ONE^24+		33^12+	4,	!39
	LEXEME^24+	LCHAR^12+	16,	!40
	LEXEME^24+	RCHAR^12+	17,	!41
	LEXEME^24+	TCHAR^12+	15,	!42
	OPTION^24+	40^12+	1,	!43
	LEXEME^24+	CONST^12+	10,	!44
	LEXEME^24+	SCHAR^12+	18,	!45
	LEXEME^24+	PCHAR^12+	11,	!46
	LEXEME^24+	SCHAR^12+	18,	!47
	OPTION^24+	45^12+	1,	!48
	LEXEME^24+	NCHAR^12+	20,	!49
	LEXEME^24+	ZCHAR^12+	21,	!50
	LEXEME^24+	BCHAR^12+	19,	!51
	ONE^24+		49^12+	1,	!52
	LEXEME^24+	LPAREN^12+	2,	!53
	META^24+	7^12+	3,	!FDGROUP
	LEXEME^24+	RPAREN^12+	4,	!55
	ALL^24+		20^12+	3,	!56
	ALL^24+		38^12+	1,	!57
	META^24+	70^12+	12,	!TWODESCRIPTOR
	META^24+	100^12+	13,	!ONEDESCRIPTOR
	ALL^24+		42^12+	2,	!60
	ALL^24+		47^12+	1,	!61
	ALL^24+		51^12+	1,	!62
	LEXEME^24+	DOLLAR^12+	22,	!63
	LEXEME^24+	SLASH^12+	7,	!64
	LEXEME^24+	COLON^12+	23,	!65
	LEXEME^24+	LITSTRING^12+	24,	!66
	LEXEME^24+	XCHAR^12+	14,	!67
	LEXEME^24+	QCHAR^12+	25,	!68
	ALL^24+		53^12+	2,	!69
	ONE^24+		98^12+	1,	!70
	LEXEME^24+	ECHAR^12+	26,	!71
	LEXEME^24+	DCHAR^12+	27,	!72
	LEXEME^24+	GCHAR^12+	28,	!73
	LEXEME^24+	PERIOD^12+	29,	!74
	LEXEME^24+	CONST^12+	10,	!75
	ALL^24+		74^12+	1,	!76
	LEXEME^24+	ECHAR^12+	26,	!77
	LEXEME^24+	CONST^12+	10,	!78
	ALL^24+		77^12+	1,	!79
	LEXEME^24+	CONST^12+	10,	!80
	OPTION^24+	76^12+	0,	!81
	OPTION^24+	79^12+	0,	!82
	ALL^24+		80^12+	2,	!83
	ONE^24+		71^12+	2,	!84
	OPTION^24+	83^12+	0,	!85
	LEXEME^24+	FCHAR^12+	30,	!86
	LEXEME^24+	ICHAR^12+	31,	!87
	LEXEME^24+	OCHAR^12+	32,	!88
	LEXEME^24+	ZCHAR^12+	21,	!89
	LEXEME^24+	PERIOD^12+	29,	!90
	LEXEME^24+	CONST^12+	10,	!91
	ALL^24+		90^12+	1,	!92
	LEXEME^24+	CONST^12+	10,	!93
	OPTION^24+	92^12+	0,	!94
	ALL^24+		93^12+	1,	!95
	ONE^24+		86^12+	3,	!96
	OPTION^24+	95^12+	0,	!97
	ALL^24+		84^12+	1,	!98
	ALL^24+		96^12+	1,	!99
	ALL^24+		105^12+	1,	!100
	LEXEME^24+	LCHAR^12+	16,	!101
	LEXEME^24+	ACHAR^12+	33,	!102
	LEXEME^24+	RCHAR^12+	17,	!103
	LEXEME^24+	CONST^12+	10,	!104
	ONE^24+		101^12+	2,	!105
	OPTION^24+	104^12+	0,	!106
	0)-1;