Google
 

Trailing-Edge - PDP-10 Archives - BB-4157E-BM - fortran-compiler/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;
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;