Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-07 - decus/20-0172/toktyp.req
There is 1 other file named toktyp.req in the archive. Click here to see a list.
!<BLF/lowercase_user>
!<BLF/uppercase_key>

!++
!
!
!	TOKTYP.REQ
!
!
!	This REQUIRE file contains all the definitions 
!	relating to the global block "token".
!
!
! REVISION HISTORY
!
!	12-Oct-81	TT	Added s_empty to list of valid token types.
!				This makes us look more like the 10/20.
!				This will be used in the future for parsing
!				empty lexical functions.
!
!	18-Jan-82	TT	Added %require as s_p_require. Note that
!				Bliss syntax says that %REQUIRE is not a
!				declaration.
!
! END OF REVISION HISTORY
!--

COMPILETIME
    _next_type_ = 0;

MACRO
    next (a) =
	LITERAL a = _next_type_;
	%ASSIGN (_next_type_, _next_type_ + 1);
	%;

!
!	Field definitions for token block.
!

FIELD
    tokk =
	SET
	tok_len = [0, 0, %BPVAL, 0],
	tok_cp = [1, 0, %BPVAL, 0],
	tok_type = [2, 0, %BPVAL, 0]
	TES;

MACRO
    tok_block =
	BLOCK [3] FIELD (tokk) %;

!<BLF/page>
next (s_end_of_file);
!+
! Delimiters and operators
!-

LITERAL
    first_delop = _next_type_;

next (s_lparen);
next (s_rparen);
next (s_multiply);
next (s_plus);
next (s_minus);
next (s_mod);
next (s_comma);
next (s_dot);
next (s_divide);
next (s_colon);
next (s_semicolon);
next (s_langle);
next (s_equal);
next (s_rangle);
next (s_lbracket);
next (s_rbracket);
next (s_circumflex);
next (s_percent);
next (s_begin);
next (s_end);
next (s_from);
next (s_to);
next (s_by);
next (s_set);
next (s_tes);
next (s_of);
next (s_eqv);
next (s_xor);
next (s_or);
next (s_and);
next (s_not);
next (s_eql);
next (s_neq);
next (s_lss);
next (s_leq);
next (s_gtr);
next (s_geq);
next (s_eqlu);
next (s_nequ);
next (s_lssu);
next (s_lequ);
next (s_gtru);
next (s_gequ);
next (s_eqla);
next (s_neqa);
next (s_lssa);
next (s_leqa);
next (s_gtra);
next (s_geqa);
next (s_plit);
next (s_uplit);
next (s_codecomment);

LITERAL
    last_delop = _next_type_ - 1;

!+
! Comments
!-

LITERAL
    first_comment = _next_type_;

next (remark);
next (start_embedded);
next (mid_embedded);
next (end_embedded);
next (start_block_com);
next (mid_block_com);
next (end_block_com);
next (full_line_com);

LITERAL
    last_comment = _next_type_ - 1;

!+
! Miscellany
!-
next (s_byte);
next (s_word);
next (s_long);
next (s_name);
next (s_string);
next (s_numeric);
next (s_percent_if);
next (s_percent_then);
next (s_percent_else);
next (s_percent_fi);
next (s_p_quote);
next (s_empty);							! TT  12-Oct-81
next (s_p_compiler);
next (s_p_require);
next (s_p_subtitle);
next (s_p_title);
next (s_initial);
!+
! Declarators
!-

LITERAL
    first_decl = _next_type_;

next (s_global);
next (s_local);
next (s_external);
next (s_literal);
next (s_stacklocal);
next (s_register);
next (s_map);
next (s_forward);
next (s_label);
next (s_builtin);
next (s_psect);
next (s_own);
next (s_linkage);
next (s_structure);
next (s_require);
next (s_library);
next (s_bind);
next (s_routine);
next (s_switches);
next (s_macro);
next (s_keywordmacro);
next (s_enable);
next (s_field);
next (s_compiletime);
next (s_undeclare);
next (s_module);

LITERAL
    last_decl = _next_type_ - 1;

!+
! Not quite declarations
!-
next (s_eludom);
!+
! Symbols which start control expressions
!-

LITERAL
    first_control = _next_type_;

next (s_if);
next (s_case);
next (s_select);
next (s_selectone);
next (s_selectu);
next (s_selectoneu);
next (s_selecta);
next (s_selectonea);
next (s_incr);
next (s_incra);
next (s_incru);
next (s_decr);
next (s_decra);
next (s_decru);
next (s_while);
next (s_until);
next (s_do);
next (s_leave);
next (s_exitloop);
next (s_return);

LITERAL
    last_control = _next_type_ - 1;

!+
! More miscellany
!-
next (s_then);
next (s_else);
next (s_rep);
next (s_with);
next (s_newline);
next (s_newpage);
next (null_symbol);

LITERAL
    max_sym = _next_type_ - 1;

!
!
!	... End of require file 'TOKTYP.REQ' ...