Trailing-Edge
-
PDP-10 Archives
-
FORTRAN-10_Alpha_31-jul-86
-
lexnam.bli
There are 12 other files named lexnam.bli in the archive. Click here to see a list.
!COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1974, 1986
!ALL RIGHTS RESERVED.
!
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
!ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
!INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
!COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
!OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
!TRANSFERRED.
!
!THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
!AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
!CORPORATION.
!
!DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
!SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
!AUTHOR: D. B. TOLMAN/CKS/TFV/MEM
GLOBAL BIND LEXNAV = #11^24 + 0^18 + 4537; ! Version Date: 21-May-86
%(
***** Begin Revision History *****
***** Begin Version 7 *****
1 1243 CKS 30-Jul-81
Add lexeme CONCAT, character concatenation (// operator)
2 1245 TFV 14-Aug-81 ------
Move Error pointers and binds out of LEXICA.
3 1470 CKS 2-Feb-82
Add lexeme TICLEX, tic (') when it occurs between expressions
***** End Revision History *****
***** Begin Version 11 *****
4537 MEM 21-May-86
Add UNDRLEX for underline lexeme.
)%
![1245] Error pointers - in ERROUT.BLI
EXTERNAL E8,E10,E9,E7,E109,E110,E12,E19,E76,E0,E95,E72,E111,E158,E159;
EXTERNAL E19,E20,E91,E113,E156,E157;
%1245% ! Binds for CHARCONST and HOLLCONST definitions used in LITDEF
%1245% BIND HOLLDEF = 0, ! Literal is HOLLCONST
%1245% CHARDEF = 1; ! Literal is CHARCONST
! THIS FILE CONTAINS THE BINDS OF LEXEME NAMES AND NUMBERS, AND
! THE PRECDENCE OF THE STACKABLE OPERATORS. ROUTINE EXPRESS
! CONTAINS A PLIT PRECDENCE, WHICH IS SET TO PRCDNCE0, PRCDNCE1,
! ETC. THIS PROVIDES INDEPENDENCE FOR EXPRESS WITH RESPECT
! TO THE LEXEME NUMBERS AND THEIR ORDERING. THE ONLY REQUIREMENT
! IS THAT THE PLIT IN EXPRESS CONTAIN THE SAME NUMBER OF ENTRIES AS
! THERE ARE LEXEMES.
!
! FILE LEXAID.BLI CONTAINS THE BINDS FOR THE CHARACTER CASSIFICATION
! CODES AND THEIR NAMES, USED BY ROUTINE LEXICAL. NOTE THAT THE
! CODE NAMES AND LEXEME NAMES HAVE BEEN OVERLAYED AS MUCH AS
! POSSIBLE SO AS TO MAINTAIN A MINIMUM OF CONFUSION.
!
!------------------------------------------------------------------------------------------------------------------
!LEXEME NUMBERS REPRESENTING SINGLE OPERATORS ARE PREFIXED WITH A 1 IN
!THE 12 BIT FIELD: 1^6+LEXEME NUMBER.
!
!LEXEMES WHICH ARE OPERATORS BUT NOT USED AS AN OPERATOR HAVE NO PREFIX.
!THIS ENABLES THE DIFERENTIATION OF STACKABLE OPERATORS FROM CHARACTERS
!REQUIRED ONLY BY THE SYNTAX.
!
! TIMES _ ASTERISK
! DIVIDE _ SLASH
! MINUS _ DASH
!------------------------------------------------------------------------------------------------------------------
!
! LEXEME CODE BINDS AND PRECEDENCE OF OPERATORS
!
BIND
PRCDNCE0 = 0,
IDENTIFIER = 1, % POINTER TO IDENTIFIER TABLE ENTRY %
PRCDNCE1 = 0,
CONSTLEX = 2, % POINTER TO NUMERIC TABLE ENTRY %
PRCDNCE2 = 0,
LITSTRING = 3, % POINTER TO LITERAL TABLE ENTRY %
PRCDNCE3 = 0,
LABELEX = 4, % LABEL, REQUIRES LOOK4LAB TO BE SET TO 1
BEFORE IT WILL EVER BE RETURNED %
PRCDNCE4 = 0,
LASTINTREE = LABELEX, % LAST LEXEME WHICH NEEDS TO APPEAR IN THE SYNTAX TREES %
LINEND = 5, % END OF STATEMENT %
EOSLEX = 5, % END OF STATEMENT %
PRCDNCE5 = 0,
RELATIONLOP = 6, % .LT. , < (1^6+) %
PRCDNCE6 = -4,
% .EQ. , == (2^6+)
.LE. , <= (3^6+)
.GE. , >= (5^6+)
.NE. , # (6^6+)
.GT. , > (7^6+)
%
LOGICALNOT = 7, % .NOT. %
PRCDNCE7 = -5,
LOGICALAND = 8, % .AND. %
PRCDNCE8 = -6,
LOGICALOR = 9, % .OR. %
PRCDNCE9 = -7,
LOGICALMATCH = 10, % .EQV.(1^6+) , .XOR.(2^6+) %
PRCDNCE10 = -8,
POWER = 11, % ** , ^ %
PRCDNCE11 = -1,
ANDSGN = 12, % & %
PRCDNCE12 = 0,
LPAREN = 13, % ( %
PRCDNCE13 = 0,
RPAREN = 14, % ) %
PRCDNCE14 = 0,
COLON = 15, % : %
PRCDNCE15 = 0,
COMMA = 16, % , %
PRCDNCE16 = 0,
DOLLAR = 17, % $ %
PRCDNCE17 = 0,
MINUS = 18, % - % !ARITHMETIC USAGE
DASH = 18, % - % !SYNTAX USAGE
PRCDNCE18 = -3,
DIVIDE = 19, % / % !ARITHMETIC USAGE
SLASH = 19, % / % !SYNTAX USAGE
PRCDNCE19 = -2,
PLUS = 20, % + %
PRCDNCE20 = -3,
TIMES = 21, % * % !ARITHMETIC USAGE
ASTERISK = 21, % * % !SYNTAX USAGE
PRCDNCE21 = -2,
EQUAL = 22, % = %
PRCDNCE22 = 0,
%1243% CONCAT = 23, % // %
%1243% PRCDNCE23 = -1,
%1470% TICLEX = 24, % ' %
%1470% PRCDNCE24 = 0,
%4537% UNDRLEX = 25, % _ %
%4537% PRCDNCE25 = 0,
%4537% LASTLEX = 25, ! LAST LEXEME
STACHK =0;
% IF THE LEXEME NUMBERS ARE EVER CHANGED FOR SOME REASON THERE IS
A CASE STATEMENT IN EXPRESSION WHICH MUST BE CHANGED AND A CASE
STATEMENT IN THE PROCESSING OF DOUBLE CHARACTER LEXEMES ( SUCH AS <= ). %