|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T
Length: 12295 (0x3007)
Types: TextFile
Names: »TOUT«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
└─⟦d65440be7⟧ »DATA«
└─⟦this⟧
---------------------------------
-- aflex.a
---------------------------------
-- TITLE aflex - main program
--
-- AUTHOR: John Self (UCI)
-- DESCRIPTION main subprogram of aflex, calls the major routines in order
-- $Header: /co/ua/self/arcadia/aflex/ada/src/RCS/aflex.a,v 1.11 90/10/15 20:00:40 self Exp Locker: self $
--***************************************************************************
-- aflex
-- version 1.1c
--***************************************************************************
--
-- Arcadia Project
-- Department of Information and Computer Science
-- University of California
-- Irvine, California 92717
--
-- Send requests for aflex information to alex-info@ics.uci.edu
--
-- Send bug reports for aflex to alex-bugs@ics.uci.edu
--
-- Copyright (c) 1990 Regents of the University of California.
-- All rights reserved.
--
-- This software was developed by John Self of the Arcadia project
-- at the University of California, Irvine.
--
-- Redistribution and use in source and binary forms are permitted
-- provided that the above copyright notice and this paragraph are
-- duplicated in all such forms and that any documentation,
-- advertising materials, and other materials related to such
-- distribution and use acknowledge that the software was developed
-- by the University of California, Irvine. The name of the
-- University may not be used to endorse or promote products derived
-- from this software without specific prior written permission.
-- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
--
-- This program is based on the flex program written by Vern Paxson.
--
-- The following is the copyright notice from flex, from which aflex is
-- derived.
-- Copyright (c) 1989 The Regents of the University of California.
-- All rights reserved.
--
-- This code is derived from software contributed to Berkeley by
-- Vern Paxson.
--
-- The United States Government has rights in this work pursuant to
-- contract no. DE-AC03-76SF00098 between the United States Department of
-- Energy and the University of California.
--
-- Redistribution and use in source and binary forms are permitted
-- provided that the above copyright notice and this paragraph are
-- duplicated in all such forms and that any documentation,
-- advertising materials, and other materials related to such
-- distribution and use acknowledge that the software was developed
-- by the University of California, Berkeley. The name of the
-- University may not be used to endorse or promote products derived
-- from this software without specific prior written permission.
-- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
--
--***************************************************************************
-- History
-- 14-Jun-1991 Rolf EBERT
-- changed to a parameterless procedure; in the error case the exit
-- status is set by the compiler dependent procedure (Alsys)
-- 'Set_Exit_Status'.
with MAIN_BODY, DFA, GEN, MISC_DEFS, TEXT_IO, MISC;
with TSTRING, TEMPLATE_MANAGER, EXTERNAL_FILE_MANAGER; use MISC_DEFS, TEXT_IO,
TSTRING, EXTERNAL_FILE_MANAGER;
with System_Environment;
use System_Environment;
--function AFLEX return INTEGER is
procedure Aflex is
copyright : constant string :=
"@(#) Copyright (c) 1990 Regents of the University of California.";
copyright2 : constant string :=
"All rights reserved.";
begin
MAIN_BODY.AFLEXINIT;
MAIN_BODY.READIN;
if (SYNTAXERROR) then
MAIN_BODY.AFLEXEND(1);
end if;
if (PERFORMANCE_REPORT) then
if (INTERACTIVE) then
TEXT_IO.PUT_LINE(STANDARD_ERROR,
"-I (interactive) entails a minor performance penalty");
end if;
end if;
if (VARIABLE_TRAILING_CONTEXT_RULES) then
MISC.AFLEXERROR("can't handle variable trailing context rules");
end if;
-- convert the ndfa to a dfa
DFA.NTOD;
-- generate the Ada state transition tables from the DFA
GEN.MAKE_TABLES;
TEMPLATE_MANAGER.GENERATE_IO_FILE;
TEMPLATE_MANAGER.GENERATE_DFA_FILE;
MAIN_BODY.AFLEXEND(0);
-- return 0;
exception
when MAIN_BODY.AFLEX_TERMINATE =>
-- return MAIN_BODY.TERMINATION_STATUS;
Set_Exit_Status(Exit_Status(Main_Body.Termination_Status));
end AFLEX;
-------------------------------
-- command_lineB.a
-------------------------------
-- Copyright (c) 1990 Regents of the University of California.
-- All rights reserved.
--
-- This software was developed by John Self of the Arcadia project
-- at the University of California, Irvine.
--
-- Redistribution and use in source and binary forms are permitted
-- provided that the above copyright notice and this paragraph are
-- duplicated in all such forms and that any documentation,
-- advertising materials, and other materials related to such
-- distribution and use acknowledge that the software was developed
-- by the University of California, Irvine. The name of the
-- University may not be used to endorse or promote products derived
-- from this software without specific prior written permission.
-- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-- TITLE command line interface
-- AUTHOR: John Self (UCI)
-- DESCRIPTION command line interface body for use with the VERDIX VADS system.
-- NOTES this file is system dependent
-- $Header: /co/ua/self/arcadia/aflex/ada/src/RCS/command_lineB.a,v 1.3 90/01/12 15:19:44 self Exp Locker: self $
-- History
-- 14-Jun-1991 Rolf EBERT
-- use of the Alsys predefinded package 'System_Environment'.
with Tstring; use Tstring;
--with A_STRINGS; use A_STRINGS;
--with COMMAND_LINE;
with System_Environment;
package body Command_Line_Interface is
procedure Initialize_Command_Line is
begin
Argc := System_Environment.Arg_Count;
for I in 0 .. Argc loop
Argv(I) := Vstr(System_Environment.Arg_Value(I));
end loop;
end Initialize_Command_Line;
end Command_Line_Interface;
--------------------------
-- file_managerB.a
--------------------------
-- Copyright (c) 1990 Regents of the University of California.
-- All rights reserved.
--
-- This software was developed by John Self of the Arcadia project
-- at the University of California, Irvine.
--
-- Redistribution and use in source and binary forms are permitted
-- provided that the above copyright notice and this paragraph are
-- duplicated in all such forms and that any documentation,
-- advertising materials, and other materials related to such
-- distribution and use acknowledge that the software was developed
-- by the University of California, Irvine. The name of the
-- University may not be used to endorse or promote products derived
-- from this software without specific prior written permission.
-- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-- TITLE external_file_manager
-- AUTHOR: John Self (UCI)
-- DESCRIPTION opens external files for other functions
-- NOTES This package opens external files, and thus may be system dependent
-- because of limitations on file names.
-- This version is for the VADS 5.5 Ada development system.
-- $Header: /co/ua/self/arcadia/aflex/ada/src/RCS/file_managerB.a,v 1.5 90/01/12 15:19:58 self Exp Locker: self $
-- History
-- 14-Jun-1991 Rolf EBERT
-- added body of Standard_Error.
-- declaration of Ada_Suffix as a constant String.
with MISC_DEFS, TSTRING, TEXT_IO, MISC; use MISC_DEFS, TSTRING, TEXT_IO, MISC;
package body EXTERNAL_FILE_MANAGER is
-- FIX comment about compiler dependent
-- subtype SUFFIX_TYPE is STRING(1 .. 1);
--
-- function ADA_SUFFIX return SUFFIX_TYPE is
-- begin
-- return "a";
-- end ADA_SUFFIX;
Ada_Suffix : constant String := "a"; -- isn't it easier?
Std_Err : File_Type;
function Standard_Error return File_Type is
begin
return Std_Err;
end Standard_Error;
procedure GET_IO_FILE(F : in out FILE_TYPE) is
begin
if (LEN(INFILENAME) /= 0) then
CREATE(F, OUT_FILE, STR(MISC.BASENAME) & "_io." & ADA_SUFFIX);
else
CREATE(F, OUT_FILE, "aflex_yy_io." & ADA_SUFFIX);
end if;
exception
when USE_ERROR | NAME_ERROR =>
MISC.AFLEXFATAL("could not create IO package file");
end GET_IO_FILE;
procedure GET_DFA_FILE(F : in out FILE_TYPE) is
begin
if (LEN(INFILENAME) /= 0) then
CREATE(F, OUT_FILE, STR(MISC.BASENAME) & "_dfa." & ADA_SUFFIX);
else
CREATE(F, OUT_FILE, "aflex_yy_dfa." & ADA_SUFFIX);
end if;
exception
when USE_ERROR | NAME_ERROR =>
MISC.AFLEXFATAL("could not create DFA package file");
end GET_DFA_FILE;
procedure GET_SCANNER_FILE(F : in out FILE_TYPE) is
OUTFILE_NAME : VSTRING;
begin
if (LEN(INFILENAME) /= 0) then
-- give out infile + ada_suffix
OUTFILE_NAME := MISC.BASENAME & "." & ADA_SUFFIX;
else
OUTFILE_NAME := VSTR("aflex_yy." & ADA_SUFFIX);
end if;
CREATE(F, OUT_FILE, STR(OUTFILE_NAME));
SET_OUTPUT(F);
exception
when NAME_ERROR | USE_ERROR =>
MISC.AFLEXFATAL("can't create scanner file " & OUTFILE_NAME);
end GET_SCANNER_FILE;
procedure GET_BACKTRACK_FILE(F : in out FILE_TYPE) is
begin
CREATE(F, OUT_FILE, "aflex.backtrack");
exception
when USE_ERROR | NAME_ERROR =>
MISC.AFLEXFATAL("could not create backtrack file");
end GET_BACKTRACK_FILE;
procedure Initialize_Files is
begin
Create(Std_Err, Out_File, "/dev/tty");
exception
when Use_Error | Name_Error =>
Misc.Aflexfatal("could not create standard_error as /dev/tty");
end Initialize_Files;
end EXTERNAL_FILE_MANAGER;
---------------------------------
-- file_managerS.a
---------------------------------
-- Copyright (c) 1990 Regents of the University of California.
-- All rights reserved.
--
-- This software was developed by John Self of the Arcadia project
-- at the University of California, Irvine.
--
-- Redistribution and use in source and binary forms are permitted
-- provided that the above copyright notice and this paragraph are
-- duplicated in all such forms and that any documentation,
-- advertising materials, and other materials related to such
-- distribution and use acknowledge that the software was developed
-- by the University of California, Irvine. The name of the
-- University may not be used to endorse or promote products derived
-- from this software without specific prior written permission.
-- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-- TITLE external_file_manager
-- AUTHOR: John Self (UCI)
-- DESCRIPTION opens external files for other functions
-- NOTES This package opens external files, and thus may be system dependent
-- because of limitations on file names.
-- This version is for the VADS 5.5 Ada development system.
-- $Header: /co/ua/self/arcadia/aflex/ada/src/RCS/file_managerS.a,v 1.4 90/01/12 15:20:00 self Exp Locker: self $
-- History
-- 14-Jun-1991 Rolf EBERT
-- added the function Standard_Error.
with TEXT_IO; use TEXT_IO;
package EXTERNAL_FILE_MANAGER is
function Standard_Error return File_Type;
-- added as proposed by 'PORTING'
-- should always be defined here (!), thus, changes were only in the body
procedure GET_IO_FILE(F : in out FILE_TYPE);
procedure GET_DFA_FILE(F : in out FILE_TYPE);
procedure GET_SCANNER_FILE(F : in out FILE_TYPE);
procedure GET_BACKTRACK_FILE(F : in out FILE_TYPE);
procedure INITIALIZE_FILES;
end EXTERNAL_FILE_MANAGER;