Google
 

Trailing-Edge - PDP-10 Archives - BB-4157E-BM - fortran-compiler/frmbnf.syn
There are 12 other files named frmbnf.syn in the archive. Click here to see a list.
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

;COPYRIGHT (C) 1974,1981 BY DIGITAL EQUIPMENT CORPORATION
;AUTHORS: T.E. OSTEN, D. B. TOLMAN, T.F. VASAK

	THE SYNTAX OF PDP-10 FORTRAN 10 FORMAT STATEMENT
			100-310-000-00
			NOVEMBER 17,1971

	FRMBNFV = 6^24 + 0^18 + 1	!Version date: 22-Jul-81

***** Begin Revision History *****

***** Begin Version 6 *****

1	760	TFV	1-Mar-80	-----
	F77 FORMAT statement changes

***** End Revision History *****

NOTE **** Everything before the first form feed is ignored, so all
	  global comments, and the revision history must be fully
	  contained on the first logical page. Starting with page
	  2, all comments must be preceded by a ; (semicolon), and
	  terminated with a . (dot).


		THE  INFORMATION IN  THIS MEMORANDUM IS
		SUBJECT TO CHANGE  WITHOUT  NOTICE  AND
		SHOULD NOT BE CONSTRUED AS A COMMITMENT
		BY   DIGITAL  EQUIPEMENT  CORPORATION .
;							100-310-000-00
							PAGE 02
.
;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 .

;*****************************************************************************************************************
;							100-310-000-00
							PAGE 03
.
;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 ] .