    class
    	SCANNING

    General
    	cluster: lex
    	description: "Mechanisms for building and using lexical analyzers. This class may be used as ancestor by classes needing its facilities."
    	create: make_extended, make

    Ancestors
    	METALEX

    Queries
    	Ack: INTEGER_32
    	additional_space: INTEGER_32
    	all_default: BOOLEAN
    	Ampersand: INTEGER_32
    	analyzer: LEXICAL
    	area: SPECIAL [LINKED_LIST [INTEGER_32]]
    	Back_space: INTEGER_32
    	Backslash: INTEGER_32
    	Bar: INTEGER_32
    	Bel: INTEGER_32
    	Blank: INTEGER_32
    	Break: INTEGER_32
    	Bs: INTEGER_32
    	Buf_overflow: INTEGER_32
    	Can: INTEGER_32
    	capacity: INTEGER_32
    	Carriage_return: INTEGER_32
    	Case_diff: INTEGER_32
    	case_sensitive: BOOLEAN
    	categories_table: ARRAY [INTEGER_32]
    	changeable_comparison_criterion: BOOLEAN
    	Character_set_size: INTEGER_32
    	Circumflex: INTEGER_32
    	Closing_brace: INTEGER_32
    	Colon: INTEGER_32
    	Comma: INTEGER_32
    	Commercial_at: INTEGER_32
    	count: INTEGER_32
    	Cr: INTEGER_32
    	Ctrl_a: INTEGER_32
    	Ctrl_b: INTEGER_32
    	Ctrl_backslash: INTEGER_32
    	Ctrl_c: INTEGER_32
    	Ctrl_circumflex: INTEGER_32
    	Ctrl_d: INTEGER_32
    	Ctrl_e: INTEGER_32
    	Ctrl_f: INTEGER_32
    	Ctrl_g: INTEGER_32
    	Ctrl_h: INTEGER_32
    	Ctrl_i: INTEGER_32
    	Ctrl_j: INTEGER_32
    	Ctrl_k: INTEGER_32
    	Ctrl_l: INTEGER_32
    	Ctrl_lbracket: INTEGER_32
    	Ctrl_m: INTEGER_32
    	Ctrl_n: INTEGER_32
    	Ctrl_o: INTEGER_32
    	Ctrl_p: INTEGER_32
    	Ctrl_q: INTEGER_32
    	Ctrl_questmark: INTEGER_32
    	Ctrl_r: INTEGER_32
    	Ctrl_rbracket: INTEGER_32
    	Ctrl_s: INTEGER_32
    	Ctrl_t: INTEGER_32
    	Ctrl_u: INTEGER_32
    	Ctrl_underlined: INTEGER_32
    	Ctrl_v: INTEGER_32
    	Ctrl_w: INTEGER_32
    	Ctrl_x: INTEGER_32
    	Ctrl_y: INTEGER_32
    	Ctrl_z: INTEGER_32
    	cursor: INTEGER_32
    	Dc1: INTEGER_32
    	Dc2: INTEGER_32
    	Dc3: INTEGER_32
    	Dc4: INTEGER_32
    	Del: INTEGER_32
    	description: STRING_8
    	dfa: FIXED_DFA
    	Dle: INTEGER_32
    	Dollar: INTEGER_32
    	Dot: INTEGER_32
    	Doublequote: INTEGER_32
    	Down_arrow: INTEGER_32
    	Eight: INTEGER_32
    	Em: INTEGER_32
    	Enq: INTEGER_32
    	entry (i: INTEGER_32): LINKED_LIST [INTEGER_32]
    	Eot: INTEGER_32
    	Equal_sign: INTEGER_32
    	Error_list: ERROR_LIST
    	Esc: INTEGER_32
    	Etb: INTEGER_32
    	Etx: INTEGER_32
    	Exclamation: INTEGER_32
    	extendible: BOOLEAN
    	final_array: ARRAY [INTEGER_32]
    	First_printable: INTEGER_32
    	Five: INTEGER_32
    	for_all (test: FUNCTION [ANY, TUPLE [LINKED_LIST [INTEGER_32]], BOOLEAN]): BOOLEAN
    	Four: INTEGER_32
    	Fs: INTEGER_32
    	full: BOOLEAN
    	Grave_accent: INTEGER_32
    	Greaterthan: INTEGER_32
    	greatest_input: INTEGER_32
    	Growth_percentage: INTEGER_32
    	Gs: INTEGER_32
    	has (v: LINKED_LIST [INTEGER_32]): BOOLEAN
    	has_letters: BOOLEAN
    	Home_arrow: INTEGER_32
    	Ht: INTEGER_32
    	index_set: INTEGER_INTERVAL
    	infix "@" (i: INTEGER_32): LINKED_LIST [INTEGER_32]
    	initialized: BOOLEAN
    	input_array: ARRAY [FIXED_INTEGER_SET]
    	is_empty: BOOLEAN
    	is_equal (other: [like Current] SCANNING): BOOLEAN
    	is_inserted (v: LINKED_LIST [INTEGER_32]): BOOLEAN
    	keyword_h_table: HASH_TABLE [INTEGER_32, STRING_8]
    	keywords_case_sensitive: BOOLEAN
    	keywords_list: LINKED_LIST [STRING_8]
    	Last_ascii: INTEGER_32
    	last_character_code: INTEGER_32
    	last_created_tool: INTEGER_32
    	Last_printable: INTEGER_32
    	Lbracket: INTEGER_32
    	Lcurly: INTEGER_32
    	Left_arrow: INTEGER_32
    	Lessthan: INTEGER_32
    	Letter_layout: INTEGER_32
    	lexical_frozen: BOOLEAN
    	Line_feed: INTEGER_32
    	linear_representation: LINEAR [LINKED_LIST [INTEGER_32]]
    	lower: INTEGER_32
    	Lower_a: INTEGER_32
    	Lower_b: INTEGER_32
    	Lower_c: INTEGER_32
    	Lower_d: INTEGER_32
    	Lower_e: INTEGER_32
    	Lower_f: INTEGER_32
    	Lower_g: INTEGER_32
    	Lower_h: INTEGER_32
    	Lower_i: INTEGER_32
    	Lower_j: INTEGER_32
    	Lower_k: INTEGER_32
    	Lower_l: INTEGER_32
    	Lower_m: INTEGER_32
    	Lower_n: INTEGER_32
    	Lower_o: INTEGER_32
    	Lower_p: INTEGER_32
    	Lower_q: INTEGER_32
    	Lower_r: INTEGER_32
    	Lower_s: INTEGER_32
    	Lower_t: INTEGER_32
    	Lower_u: INTEGER_32
    	Lower_v: INTEGER_32
    	Lower_w: INTEGER_32
    	Lower_x: INTEGER_32
    	Lower_y: INTEGER_32
    	Lower_z: INTEGER_32
    	Minimal_increase: INTEGER_32
    	Minus: INTEGER_32
    	Nak: INTEGER_32
    	nb_states: INTEGER_32
    	Nine: INTEGER_32
    	Nl: INTEGER_32
    	No_token: INTEGER_32
    	Np: INTEGER_32
    	Nul: INTEGER_32
    	Number_sign: INTEGER_32
    	object_comparison: BOOLEAN
    	occurrences (v: LINKED_LIST [INTEGER_32]): INTEGER_32
    	One: INTEGER_32
    	Opening_brace: INTEGER_32
    	Overflow: INTEGER_32
    	pdfa_item (i: INTEGER_32): LINKED_LIST [INTEGER_32]
    	Percent: INTEGER_32
    	Plus: INTEGER_32
    	prunable: BOOLEAN
    	Questmark: INTEGER_32
    	Rbracket: INTEGER_32
    	Rcurly: INTEGER_32
    	recognize (s: STRING_8): INTEGER_32
    	resizable: BOOLEAN
    	Right_arrow: INTEGER_32
    	Rs: INTEGER_32
    	same_items (other: [like Current] SCANNING): BOOLEAN
    	selected_tools: LINKED_LIST [INTEGER_32]
    	Semicolon: INTEGER_32
    	Seven: INTEGER_32
    	Si: INTEGER_32
    	Singlequote: INTEGER_32
    	Six: INTEGER_32
    	Slash: INTEGER_32
    	So: INTEGER_32
    	Soh: INTEGER_32
    	Sp: INTEGER_32
    	Star: INTEGER_32
    	start_number: INTEGER_32
    	Stx: INTEGER_32
    	Sub: INTEGER_32
    	subarray (start_pos, end_pos: INTEGER_32): ARRAY [LINKED_LIST [INTEGER_32]]
    	Syn: INTEGER_32
    	Tabulation: INTEGER_32
    	there_exists (test: FUNCTION [ANY, TUPLE [LINKED_LIST [INTEGER_32]], BOOLEAN]): BOOLEAN
    	Three: INTEGER_32
    	Tilde: INTEGER_32
    	to_cil: NATIVE_ARRAY [LINKED_LIST [INTEGER_32]]
    	to_special: SPECIAL [LINKED_LIST [INTEGER_32]]
    	token_type_list: LINKED_LIST [INTEGER_32]
    	tool_list: LINKED_LIST [PDFA]
    	tool_names: LINKED_LIST [STRING_8]
    	Two: INTEGER_32
    	Underlined: INTEGER_32
    	Up_arrow: INTEGER_32
    	upper: INTEGER_32
    	Upper_a: INTEGER_32
    	Upper_b: INTEGER_32
    	Upper_c: INTEGER_32
    	Upper_d: INTEGER_32
    	Upper_e: INTEGER_32
    	Upper_f: INTEGER_32
    	Upper_g: INTEGER_32
    	Upper_h: INTEGER_32
    	Upper_i: INTEGER_32
    	Upper_j: INTEGER_32
    	Upper_k: INTEGER_32
    	Upper_l: INTEGER_32
    	Upper_m: INTEGER_32
    	Upper_n: INTEGER_32
    	Upper_o: INTEGER_32
    	Upper_p: INTEGER_32
    	Upper_q: INTEGER_32
    	Upper_r: INTEGER_32
    	Upper_s: INTEGER_32
    	Upper_t: INTEGER_32
    	Upper_u: INTEGER_32
    	Upper_v: INTEGER_32
    	Upper_w: INTEGER_32
    	Upper_x: INTEGER_32
    	Upper_y: INTEGER_32
    	Upper_z: INTEGER_32
    	Us: INTEGER_32
    	valid_index (i: INTEGER_32): BOOLEAN
    	valid_index_set: BOOLEAN
    	Vt: INTEGER_32
    	Zero: INTEGER_32

    Commands
    	add_keyword (word: STRING_8)
    	add_word (s: STRING_8; n: INTEGER_32)
    	analyze (input_file_name: STRING_8)
    	any_character
    	any_printable
    	append (p, s: INTEGER_32)
    	append_optional (p, s: INTEGER_32)
    	array_make (min_index, max_index: INTEGER_32)
    	associate (t, n: INTEGER_32)
    	automatic_grow
    	begin_analysis
    	build (store_file_name, grammar_file_name: STRING_8)
    	build_dollar_any
    	build_dollar_b
    	build_dollar_n
    	build_dollar_p
    	build_dollar_r
    	build_dollar_z
    	case_insensitive (c: INTEGER_32)
    	clear_all
    	compare_objects
    	compare_references
    	conservative_resize (min_index, max_index: INTEGER_32)
    	construct_dfa
    	copy (other: [like Current] SCANNING)
    	delete_transition (source, input_doc, target: INTEGER_32)
    	difference (r: INTEGER_32; c: CHARACTER_8)
    	discard_items
    	distinguish_case
    	do_a_token (read_token: TOKEN)
    	do_all (action: PROCEDURE [ANY, TUPLE [LINKED_LIST [INTEGER_32]]])
    	do_if (action: PROCEDURE [ANY, TUPLE [LINKED_LIST [INTEGER_32]]]; test: FUNCTION [ANY, TUPLE [LINKED_LIST [INTEGER_32]], BOOLEAN])
    	end_analysis
    	enter (v: [like pdfa_item] LINKED_LIST [INTEGER_32]; i: INTEGER_32)
    	fill (other: CONTAINER [LINKED_LIST [INTEGER_32]])
    	force (v: [like pdfa_item] LINKED_LIST [INTEGER_32]; i: INTEGER_32)
    	grow (i: INTEGER_32)
    	ignore_case
    	include (fa: PDFA; shift: INTEGER_32)
    	initialize
    	interval (b, e: CHARACTER_8)
    	iteration (c: INTEGER_32)
    	iteration1 (c: INTEGER_32)
    	iteration_n (n, c: INTEGER_32)
    	keywords_distinguish_case
    	keywords_ignore_case
    	make
    	make_analyzer
    	make_extended (char_code: INTEGER_32)
    	make_from_array (a: ARRAY [LINKED_LIST [INTEGER_32]])
    	make_from_cil (na: NATIVE_ARRAY [[like pdfa_item] LINKED_LIST [INTEGER_32]])
    	optional (c: INTEGER_32)
    	pdfa_make (n, i: INTEGER_32)
    	pdfa_put (v: [like pdfa_item] LINKED_LIST [INTEGER_32]; i: INTEGER_32)
    	prepend_optional (p, s: INTEGER_32)
    	prune_all (v: LINKED_LIST [INTEGER_32])
    	put_expression (s: STRING_8; n: INTEGER_32; c: STRING_8)
    	put_keyword (s: STRING_8; exp: INTEGER_32)
    	put_nameless_expression (s: STRING_8; n: INTEGER_32)
    	read_grammar (token_file_name: STRING_8)
    	remove
    	remove_case_sensitiveness
    	retrieve_analyzer (file_name: STRING_8)
    	select_tool (i: INTEGER_32)
    	set_e_transition (source, target: INTEGER_32)
    	set_final (s, r: INTEGER_32)
    	set_letters
    	set_start (n: INTEGER_32)
    	set_transition (source, input_doc, target: INTEGER_32)
    	set_word (word: STRING_8)
    	store_analyzer (file_name: STRING_8)
    	subcopy (other: ARRAY [[like pdfa_item] LINKED_LIST [INTEGER_32]]; start_pos, end_pos, index_pos: INTEGER_32)
    	trace
    	union (a, b: INTEGER_32)
    	union2 (a, b: INTEGER_32)
    	up_to (word: STRING_8)