Trailing-Edge
-
PDP-10 Archives
-
BB-D480F-BB_1985_short
-
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;