Google
 

Trailing-Edge - PDP-10 Archives - FORTRAN-10_V7wLink_Feb83 - ashelp.bli
There are 12 other files named ashelp.bli 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) DIGITAL EQUIPMENT CORPORATION 1974, 1983
! Author: */TFV/RVM

! REQUIRE FILE ASHELP.BLI 

GLOBAL BIND ASHELV  =  7^24 + 0^18 + #1514;	! Version Date: 22-Mar-82

%(

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

2	-----	-----	CHANGE THE VALUES OF EXTDEFS AND EXTDEF
			IN ORDER TO FIX UP THE &NAME EXTERNAL FORM

***** Begin Version 4A *****

3	235	-----	DEFINE CODE FOR NAMELIST ITEM
4	265	15946	ADD E139 TO EXTERNAL LIST

***** Begin Version 7 *****

5	1213	TFV	------
	Add CHARPLIT for CHARACTER data

1514	RVM	22-Mar-82
	Define a new mask number INTRSCDEF for NAMDEF.  INTRSCDEF is
	used to determine conflicts in attributes of INTRINSIC functions.

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

)%

! HERE ARE A SERIES OF USEFUL ITEMS FOR THE STATEMENT AND ACTION ROUTINES

EXTERNAL LEXNAM,SYNTAX;
EXTERNAL NEWENTRY,ENTRY,LEXICAL,LEXEMEGEN,LEXL,LSAVE,FATLERR,FATLEX,WARNERR,WARNLEX,GSTLEXEME;
EXTERNAL  ARPLIT,SFPLIT,ARGPLIT,FNPLIT,SUBSPLIT,REALPLIT,INTGPLIT,LOGIPLIT,DOUBPLIT,COMPLIT;
%[1213]%	EXTERNAL CHARPLIT;
EXTERNAL LOOK4CHAR,GSTCSCAN,GSTSSCAN,STK,TYPE,SP,IDTYPE,PROGNAME,SAVSPACE;

MACRO
	EOSPLIT = .LEXNAM[EOSLEX] $,
	LEXPLITV = .LEXNAM[.VREG<LEFT>]  $,
	LEXPLITL = .LEXNAM[ .LEXL<LEFT> ]  $,
	NOEOSERRV = FATLEX( EOSPLIT,LEXPLITV,E0<0,0>)  $,
	NOEOSERRL = FATLEX ( EOSPLIT, LEXPLITL , E0<0,0> ) $,
	ERR0V(X) = FATLEX( X,  LEXPLITV,  E0<0,0> ) $,
	ERR0L(X) = FATLEX ( X,  LEXPLITL,  E0<0,0> )  $,
	LABLPLIT = .LEXNAM[LABELEX]  $,
	LPARPLIT = .LEXNAM[LPAREN]  $,
	RPARPLIT = .LEXNAM[RPAREN]  $,
	IDENPLIT = .LEXNAM[IDENTIFIER ]  $;

	EXTERNAL	% ERROR MESSAGE NUMBERS %	
		E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,E10,E11,E12,E13,E14,E15,E16,
		E17,E18,E19,E20,E21,E22,E23,E24,E25,E26,E27,
		E28,E29,E30,E31,E32,E33,E34,E35,E36,E37,E38,E39,E40,E41,E42,E43,E44,
		E45,E46,E47,E48,E49,E50,
		E51,E52,E53,E54,E55,E56,E57,E58,E59,E60,E61,E62,E63,E64,E65,
		E66,E67,E68,E69,E70,E71,E72,E73,E74,E75,E76,E77,E78,E79,E80,
		E81,E82,E83,E84,E85,E86,E87,E88,E89,E90,E91,E92,E93,E94,E95,
		E96,E97,E98,E99,E100,E101,E102,E103,E104,E105,E106,E107,E108,E109,E110,
		E111,E112,E113,E114,E115,E116,E117,E118,E119,E120,E121,E122,E123,E124,E139;


	MACRO ELMNT=0,0,FULL$, ELMNT1=0,1,FULL$, ELMNT2=0,2,FULL$, ELMNT3=0,3,FULL$,ELMNT4=0,4,FULL$,ELMNT5=0,5,FULL$;

	%THE FOLLOWING ARE THE PARAMETERS TO NAMDEF() %

	BIND
		ARRYDEF = 0,	!ARRAY DEFINITION
		ARRYDEFT = 1,	!ARRAY IN TYPE STATEMENT
		STFNDEF = 2,	!STATEMENT FUNCTION
		EXTDEF = 3,	! EXTERNAL STATEMENT
		NMLSTDEF = 4,	!NAMELIST NAME
		VARARY = 5,	!VARIABLE OR ARRAY
		IDDEFT = 6,	!IDENTIFIER IN TYPE STATEMENT
		IDDEFINE = 7,	!IDENTIFIER DEFINITION
		ENTRYDEF = 8,	!ENTRY POINT IE. FUNCTION, SUBROUTINE,ENTRY,PROGRAM
		EXTDEFS = 9,	!FUNCTION IN EXTERNAL STATEMENT PRECEEDED BY &/*
		CMNBLK = 10,	!COMMON BLOCK NAME
		PARADEF = 11,	!PARAMETER NAME DEFINITION
		NMLSTITM = 12,	!NAMELIST ITEM
%1514%		INTRSCDEF = 13;	!Function in INTRINSIC statement

	% THE FOLLOWING ARE PARAMETERS TO NAMREF/SET() WHICH DEFINE THE TYPE OF THE GIVEN NAME%

	BIND
		VARYREF = 0,	! VARIABLE OR ARRAY
!		VARIABL1 = 1,	!VARIABLE
!		ARRAYNM1 = 2,	!ARRAY NAME
!		FNNAME1 = 3,	!FUNCTION NAME
		NMLSTREF = 4,	!NAMELIST NAME
		PARAREF = 5;	!PARAMETER NAME REFERENCE
				!(NOTE THAT THIS VALUE IS USED DIRECTLY IN
				! LEXICAL  )


	% THE FOLLOWING ARE USED TO SET TYPE FOR I/O STATEMENT PROCESSING AND DATA STATEMENTS %

	BIND
		DATALST = 0,	!DATA STATEMENT LIST
		NORMAL = 1,
		READD = 3,	!INPUT
		WRITEE = 4;	!OUTPUT


	% THE FOLLOWING ARE USED TO SET THE SETUSE FLAG FOR BLDVAR %
	BIND
		SETT = 0,  USE =1;