1-- Copyright (c) 1990 Regents of the University of California. 2-- All rights reserved. 3-- 4-- The primary authors of ayacc were David Taback and Deepak Tolani. 5-- Enhancements were made by Ronald J. Schmalz. 6-- 7-- Send requests for ayacc information to ayacc-info@ics.uci.edu 8-- Send bug reports for ayacc to ayacc-bugs@ics.uci.edu 9-- 10-- Redistribution and use in source and binary forms are permitted 11-- provided that the above copyright notice and this paragraph are 12-- duplicated in all such forms and that any documentation, 13-- advertising materials, and other materials related to such 14-- distribution and use acknowledge that the software was developed 15-- by the University of California, Irvine. The name of the 16-- University may not be used to endorse or promote products derived 17-- from this software without specific prior written permission. 18-- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 19-- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 20-- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 22-- Module : lexical_analyzer.ada 23-- Component of : ayacc 24-- Version : 1.2 25-- Date : 11/21/86 12:30:26 26-- SCCS File : disk21~/rschm/hasee/sccs/ayacc/sccs/sxlexical_analyzer.ada 27 28-- $Header: lexical_analyzer.a,v 0.1 86/04/01 15:05:14 ada Exp $ 29-- $Log: lexical_analyzer.a,v $ 30-- Revision 0.1 86/04/01 15:05:14 ada 31-- This version fixes some minor bugs with empty grammars 32-- and $$ expansion. It also uses vads5.1b enhancements 33-- such as pragma inline. 34-- 35-- 36-- Revision 0.0 86/02/19 18:36:57 ada 37-- 38-- These files comprise the initial version of Ayacc 39-- designed and implemented by David Taback and Deepak Tolani. 40-- Ayacc has been compiled and tested under the Verdix Ada compiler 41-- version 4.06 on a vax 11/750 running Unix 4.2BSD. 42-- 43 44with Source_File; 45package Lexical_Analyzer is 46 47 48 function Get_Lexeme_Text return String; -- Scanned text. 49 50 51 type Ayacc_Token is 52 (Token, Start, 53 Left, Right, Nonassoc, Prec, 54 With_Clause, Use_Clause, 55 Identifier, Character_Literal, 56 Comma, Colon, Semicolon, Vertical_Bar, Left_Brace, 57 Mark, Eof_Token); 58 59 60 function Get_Token return Ayacc_Token; 61 62 63 function Line_Number return Natural; -- Current line of source file 64 65 66 procedure Handle_Action(Rule, Rule_Length : Integer); 67 68 69 procedure Print_Context_Lines renames Source_File.Print_Context_Lines; 70 71 72 procedure Dump_Declarations; 73 74 75 Illegal_Token : exception; 76 77 78end Lexical_Analyzer; 79