* Seek LOC Count Software in Pub Domain
@ 1993-07-07 15:13 Michael Hann
0 siblings, 0 replies; 5+ messages in thread
From: Michael Hann @ 1993-07-07 15:13 UTC (permalink / raw)
I am seeking public domain software which performs an accurate count of Ada sou
rce
lines-of-code. Can anyone direct me to a source? Thanks.
--------------------------------------------------------------
"There are no misfortunes from which the adroit cannot take some
profit and no boon from which the imprudent cannot take some harm."
- LaRochefoucauld
mikeh@ssd.fsi.com
--------------------------------------------------------------
--
---------------------------------------------------------
"We borrow according to our hopes;
we lend according to our fears."
- LaRochefoucauld
mikeh@ssd.fsi.com
---------------------------------------------------------
--
---------------------------------------------------------
"We borrow according to our hopes;
we lend according to our fears."
- LaRochefoucauld
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Seek LOC Count Software in Pub Domain
@ 1993-07-07 22:56 Logicon RDA
0 siblings, 0 replies; 5+ messages in thread
From: Logicon RDA @ 1993-07-07 22:56 UTC (permalink / raw)
Michael Hann (mikeh@fsi-ssd.csg.ssd.fsi.com) wrote:
: I am seeking public domain software which performs an accurate count of Ada s
ource
: lines-of-code. Can anyone direct me to a source? Thanks.
Here is what I have always used:
grep ";" *.a | wc
For most purposes (averaged over lots of code) it is good enough.
-- Chris Albertson pasadena@netcom.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Seek LOC Count Software in Pub Domain
@ 1993-07-09 15:14 Wuyts Jan
0 siblings, 0 replies; 5+ messages in thread
From: Wuyts Jan @ 1993-07-09 15:14 UTC (permalink / raw)
Here is a simple awk program that gives you some information about
LOCode and LOComments. It looks for -- in the input and everthing
not behind a -- is considered a LOCode
--------------next is first line--------------
BEGIN { comment_line=0; total_comment=0;
lines_with_comment=0; total_lines_with_comment=0;
blank_comment=0; total_blank_comment=0;
blank_line=0; total_blank=0; old_NR=1;
current_file=FILENAME;
print "File\t\t\t\tComment_lines\tBlank_lines\tCode_lines\tTot
al\n";
}
FILENAME != current_file {
printf("%-26.26s\t%d\t(%d)\t%d\t\t%d\t(%d)\t%d\n", current_fi
le, comment_line, blank_comment, blank_line, NR+1-old_NR-comment_line-blank_lin
e,lines_with_comment-comment_line,NR+1-old_NR);
current_file=FILENAME;
total_comment=total_comment+comment_line;
comment_line=0;
total_lines_with_comment=total_lines_with_comment+lines
_with_comment;
lines_with_comment=0;
total_blank=total_blank+blank_line;
blank_line=0;
total_blank_comment=total_blank_comment+blank_comment;
blank_comment=0;
old_NR=NR;
}
/^[ ]*--/ { comment_line++;
}
/[ ]*--/ { lines_with_comment++;
}
/^[ ]*--[ ]*$/ { blank_comment++;
}
/^[ ]*$/ { blank_line++;
}
END {
printf("%-26.26s\t%d\t(%d)\t%d\t\t%d\t(%d)\t%d\n", current_fi
le, comment_line, blank_comment, blank_line, NR+1-old_NR-comment_line-blank_lin
e,lines_with_comment-comment_line,NR+1-old_NR);
total_comment=total_comment+comment_line;
total_lines_with_comment=total_lines_with_comment+lines_with_
comment;
total_blank=total_blank+blank_line;
total_blank_comment=total_blank_comment+blank_comment;
printf("\nGrand total\t\t\t%d\t(%d)\t%d\t\t%d\t(%d)\t%d\n", t
otal_comment, total_blank_comment, total_blank, NR-total_comment-total_blank, t
otal_lines_with_comment-total_comment,NR);
}
--------------previous is last line--------------
Put this in a file, say count.awk
Count the lines with:
awk -f count.awk *.a
It gives per file a line indicating
filename, #comment_lines (#empty comments), #blank_lines, #code_lines (#comment
ed_code_lines). It also gives you a grand total.
Hope this is of any help
Jan Wuyts
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Seek LOC Count Software in Pub Domain
@ 1993-07-09 17:16 Step he Leake
0 siblings, 0 replies; 5+ messages in thread
From: Step he Leake @ 1993-07-09 17:16 UTC (permalink / raw)
I just spent about 10 minutes FTP'ing around on the Public Ada Library, which
has received a lot of press in this newsgroup recently. It's at
wuarchive.wustl.edu. This was my first time on this archive, so I'm not taking
advantage of previous experience. I found a line counter in
`/languages/ada/ASR/tools/cas.*'.
Please use the resources available, before simply asking for help!
Stephen Leake NASA Goddard Robotics Lab
internet : nbssal@robots.gsfc.nasa.gov
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Seek LOC Count Software in Pub Domain
@ 1993-07-09 20:40 cis.ohio-state.edu!math.ohio-state.edu!darwin.sura.net!source.asset.com!v
0 siblings, 0 replies; 5+ messages in thread
From: cis.ohio-state.edu!math.ohio-state.edu!darwin.sura.net!source.asset.com!v @ 1993-07-09 20:40 UTC (permalink / raw)
-------------------------CUT HERE-----------------------------
-- This file contains the following logical files and Ada compilation units:
--
-- This introductory text
-- An overview (README) file for the utility COUNT
-- package LINES_OF_CODE
-- package FILE_SPECIFICATION
-- package WILD_CARD
-- procedure COUNT_ADA_STATEMENTS
-- package body FILE_SPECIFICATION
-- package body LINES_OF_CODE
-- package body WILD_CARD
--
-- Each logical file and compilation unit is demarked by a line of the
-- following form to simplify separation of the compilation units
----------------CUT HERE TO SEPARATE COMPILATION UNITS-----------------------
--
-- COUNT UTILITY
--
-- This utility operates on any IBM PC clone under MS-DOS.
--
-- It is used to count Ada source.
--
--
-- It will count the NCNB lines,
-- Ada statements, Comment Lines, and Total
-- lines in one or more files in a DOS directory.
-- The software was developed under Meridian v4.1.4 and will execute in any
-- DOS environemt.
-- The Usage is: COUNT FILE1 .. FILEN
-- where FILEi is any string which can be interpreted
-- as one or more DOS filenames
-- e.g. COUNT *.ads *.adb c:\ada\*.ada
-- will report on all .ads and .adb files in the
-- current directory and all .ada files in c:\ada
-- The Ada Statements are measured by counting the semicolon statement
-- terminators, after excluding:
--
-- comments
-- separators in formal parameter lists (by excluding parenthesized items)
-- string literals (set off by " or %)
-- character literals (i.e. ';')
-- comments
-- This software is based, in part, on a similar set by Bill Whittaker which
-- is available from the SIMTEL20 repository.
-- When rehosting this utility to a non MS-DOS environment, alternatives
-- to the following Meridian packages must be found/made:
-- TEXT_HANDLER; - a variable length string package
-- ARG; - reports DOS command line arguments
--
-- WILD_CARD and FILE_SPECIFICATION by L. Van Dolsen are specific to
-- DOS file naming conventions and "with" a variety of DOS-specific
-- Meridian packages.
--
-- DISK, DISK_TYPES, DIRECTORY, ERRORS, FILE_IO
----------------CUT HERE TO SEPARATE COMPILATION UNITS-----------------------
package LINES_OF_CODE is
--| This function calculates the Ada statements and comments of a valid
--| Ada fragment specified by a FILE_NAME string parameter.
--| It need not be a complete compilation unit but it must have closed
--| all open parentheses and string delimiters.
--| The Ada statement is defined by a semicolon terminator
--| outside of comments, parentheses, or string or character literals
--| This definition is insensitive to formatting or layout of the source
--| William A. Whitaker WIS JPMO 3 March 1984
--| Modified rh 17 May 1986
--| Modified emery 18 MAR 87
--| Modified Van Dolsen - Paramax - Fri Feb 05, 1993
--| Adapted to Meridian Ada v4.1.4
--| and fixed emery hack (it counted one line in all cases)
--| Modified Van Dolsen - Fri Feb 26, 1993
--| Added computation of NCNB lines.
type LINES is
record
-- vandolsen hack
NCNB : NATURAL; -- NCNB LINES
-- end hack
AS : NATURAL; -- Ada statements
CMNTS : NATURAL; -- Comments
LFS : NATURAL; -- lines (newlines)
end record;
function LOC(FILE_NAME : in STRING) return LINES;
end LINES_OF_CODE;
----------------CUT HERE TO SEPARATE COMPILATION UNITS-----------------------
package FILE_SPECIFICATION is
-- This package interprets/sets disk and path
-- LAURENCE VAN DOLSEN - Paramax - 12 FEB 1993
function CURRENT return STRING; -- d:\pathname
function SET(TO : in STRING) return BOOLEAN;
function PARSE(ARG : in STRING) return STRING;
-- Constructs a useable filespec from a command line argument
-- *.* becomes d:\currentpath\*.*
-- If it can't interpret the argument, it returns the current path
end FILE_SPECIFICATION;
----------------CUT HERE TO SEPARATE COMPILATION UNITS-----------------------
package WILD_CARD is
-- This package takes a file specification string, including wildcard
-- characters, and returns the file name.
-- LAURENCE VAN DOLSEN - Paramax - 12 FEB 1993
type STR_PTR is access STRING;
procedure GET_FIRST(ARG : in STRING;
PATH : out STR_PTR;
FILE : out STR_PTR);
procedure GET_NEXT(ARG : in STRING;
PATH : out STR_PTR;
FILE : out STR_PTR);
end WILD_CARD;
----------------CUT HERE TO SEPARATE COMPILATION UNITS-----------------------
with TEXT_IO;
with ARG; -- a Meridian package for DOS aruguments
with LINES_OF_CODE; -- a function developed by BILL WHITTAKER
with WILD_CARD; use WILD_CARD; -- a filespec interpreter by LVD
procedure COUNT_ADA_STATEMENTS is
-- This procedure drives the function LOC to find Ada Statements, Comments,
-- and total lines in Ada files. (See package LINES_OF_CODE)
-- The Usage is: COUNT FILE1 .. FILEN
-- where FILEi is any string which can be interpreted
-- as one or more DOS filenames
-- e.g. COUNT *.ads *.adb c:\ada\*.ada
-- will report on all .ads and .adb files in the
-- current directory and all .ada files in c:\ada
-- See comments in package LINES_OF_CODE for background
-- The original version was written by BILL WHITTAKER
-- LAURENCE VAN DOLSEN Fri Feb 05, 1993 - Paramax
-- The changes included modifications
-- required to run under Meridian v4.1.4
-- and use the Meridian ARG package and
-- WILD_CARD package to handle wildcard
-- file descriptors.
-- LAURENCE VAN DOLSEN Fri Feb 26, 1993 - Paramax
-- modified to use NCNB version of LINES_OF_CODE
package NATURAL_IO is
new TEXT_IO.INTEGER_IO(NATURAL);
NCNB_POSN : TEXT_IO.POSITIVE_COUNT := 35;
STMTS_POSN : TEXT_IO.POSITIVE_COUNT := 45;
CMTS_POSN : TEXT_IO.POSITIVE_COUNT := 55;
LS_POSN : TEXT_IO.POSITIVE_COUNT := 65;
LINE_LEN : POSITIVE := 79;
DASHES : STRING(1 .. LINE_LEN) := (others => '_');
USAGE : constant STRING := "Usage: COUNT file1 .. filen ";
PATH : STR_PTR;
FILE : STR_PTR;
TOTALS : LINES_OF_CODE.LINES := (0, 0, 0, 0);
THIS_COUNT : LINES_OF_CODE.LINES;
procedure PRINT_ENTRY(PATH : in STRING := "";
FILE : in STRING := "";
L : in LINES_OF_CODE.LINES) is
NEXT_COL : POSITIVE;
begin
if PATH /= "" then
for I in reverse 1 .. PATH'LAST loop
if PATH(I) /= ' ' then
TEXT_IO.PUT(PATH(1 .. I));
TEXT_IO.PUT('\');
exit;
end if;
end loop;
end if;
TEXT_IO.PUT(FILE);
TEXT_IO.SET_COL(NCNB_POSN);
NATURAL_IO.PUT(L.NCNB);
TEXT_IO.SET_COL(STMTS_POSN);
NATURAL_IO.PUT(L.AS);
TEXT_IO.SET_COL(CMTS_POSN);
NATURAL_IO.PUT(L.CMNTS);
TEXT_IO.SET_COL(LS_POSN);
NATURAL_IO.PUT(L.LFS);
TEXT_IO.NEW_LINE;
end PRINT_ENTRY;
procedure PRINT_HEADER is
use TEXT_IO;
begin
TEXT_IO.PUT("File Name");
TEXT_IO.SET_COL(NCNB_POSN + 2);
TEXT_IO.PUT("NCNB");
TEXT_IO.SET_COL(STMTS_POSN);
TEXT_IO.PUT("Ada STMTS");
TEXT_IO.SET_COL(CMTS_POSN + 2);
TEXT_IO.PUT("Comments");
TEXT_IO.SET_COL(LS_POSN + 1);
TEXT_IO.PUT("Line Feeds");
TEXT_IO.NEW_LINE;
TEXT_IO.PUT_LINE(DASHES);
end PRINT_HEADER;
begin
if ARG.COUNT <= 1 then
TEXT_IO.PUT_LINE(USAGE);
else
PRINT_HEADER;
for I in 2 .. ARG.COUNT loop
if (I mod 52 = 0) then
PRINT_HEADER;
TEXT_IO.NEW_PAGE;
end if;
WILD_CARD.GET_FIRST(ARG.DATA(I), PATH, FILE);
loop
if FILE /= null then
THIS_COUNT := LINES_OF_CODE.LOC(FILE.all);
TOTALS.NCNB := TOTALS.NCNB + THIS_COUNT.NCNB;
TOTALS.AS := TOTALS.AS + THIS_COUNT.AS;
TOTALS.CMNTS := TOTALS.CMNTS + THIS_COUNT.CMNTS;
TOTALS.LFS := TOTALS.LFS + THIS_COUNT.LFS;
PRINT_ENTRY(PATH => PATH.all, FILE => FILE.all, L => THIS_COUNT);
WILD_CARD.GET_NEXT(ARG.DATA(I), PATH, FILE);
else
exit;
end if;
end loop;
end loop;
TEXT_IO.PUT_LINE(DASHES);
TEXT_IO.NEW_LINE;
TEXT_IO.PUT(" ***** TOTALS ******");
PRINT_ENTRY(L => TOTALS);
end if;
end COUNT_ADA_STATEMENTS;
----------------CUT HERE TO SEPARATE COMPILATION UNITS-----------------------
with DISK;
with DISK_TYPES;
with DIRECTORY;
with ERRORS;
with TEXT_HANDLER;
with TEXT_IO; use DISK_TYPES; use ERRORS; use TEXT_HANDLER;
package body FILE_SPECIFICATION is
-- This package interprets/sets disk and path
-- LAURENCE VAN DOLSEN - Paramax - 12 FEB 1993
package DNUM is
new TEXT_IO.ENUMERATION_IO(DISK_TYPES.DRIVE_ID);
type STR_PTR is access STRING;
LAST_VALID_CHAR : NATURAL;
PATH_NAME : DIRECTORY.PATHNAME;
DRIVE : DISK_TYPES.DRIVE_ID := C;
DS : STRING(1 .. 1);
FULL_PATH : TEXT(100);
function CURRENT return STRING is
ERR : ERRORS.EXTENDED_ERRORS;
begin
DRIVE := DISK.GET_DEFAULT;
DIRECTORY.CURRENT_NAME(FOR_DRIVE => DRIVE, NAME => PATH_NAME, LAST =>
LAST_VALID_CHAR, ERROR => ERR);
DNUM.PUT(TO => DS, ITEM => DRIVE);
SET(OBJECT => FULL_PATH, VALUE => (TO_TEXT(DS) & TO_TEXT(':') & TO_TEXT(
PATH_NAME(1 .. LAST_VALID_CHAR))));
return VALUE(FULL_PATH);
end CURRENT;
function SET(TO : in STRING) return BOOLEAN is
ERR : ERRORS.EXTENDED_ERRORS;
CNT : DISK_TYPES.LOGICAL_DRIVE_COUNT;
POSINT : POSITIVE;
begin
DNUM.GET(FROM => TO(1 .. 1), ITEM => DRIVE, LAST => POSINT);
CNT := DISK.SET_DEFAULT(TO_DRIVE => DRIVE);
if TO'LAST = 2 then
-- change to a root directory
ERR := DIRECTORY.CHANGE_TO(" ");
else
ERR := DIRECTORY.CHANGE_TO(TO(3 .. TO'LAST));
end if;
return ERR = OK;
end SET;
function PARSE(ARG : in STRING) return STRING is
DRIVEP, PATHP, BOTHP : STR_PTR := null;
IX : POSITIVE := 1;
RETP : STR_PTR := null;
begin
if (ARG(1) in 'A' .. 'Z' or ARG(1) in 'a' .. 'z') and ARG(2 .. 3) = ":\"
then
DRIVEP := new STRING'(ARG(1 .. 2));
IX := 3;
else
DRIVEP := new STRING'(CURRENT(1 .. 2));
end if;
for I in reverse IX .. ARG'LAST loop
if ARG(I) = '\' then
if I > 1 then
PATHP := new STRING'(ARG(IX .. I - 1));
else
PATHP := new STRING'(" ");
end if;
SET(OBJECT => FULL_PATH, VALUE => (TO_TEXT(DRIVEP.all) & TO_TEXT(PATHP.
all)));
BOTHP := new STRING'((VALUE(FULL_PATH)));
exit;
end if;
end loop;
if PATHP = null then
if IX = 3 then
BOTHP := DRIVEP;
else
BOTHP := new STRING'(CURRENT);
end if;
end if;
return BOTHP.all;
end PARSE;
end FILE_SPECIFICATION;
----------------CUT HERE TO SEPARATE COMPILATION UNITS-----------------------
with TEXT_IO; use TEXT_IO;
package body LINES_OF_CODE is
--| William A. Whitaker WIS JPMO 3 March 1984
--| Modified rh 17 May 1986
--| Modified emery 18 MAR 87
--| Modified Van Dolsen - Paramax - Fri Feb 05, 1993
--| Adapted to Meridian Ada v4.1.4
--| and fixed emery hack (it counted one line in all cases)
--| Modified Van Dolsen - Fri Feb 26, 1993
--| Added computation of NCNB lines.
function LOC(FILE_NAME : in STRING) return LINES is
INPUT : FILE_TYPE;
C : CHARACTER := ' ';
-- van dolsen hack
PREVIOUS_C : CHARACTER := ' ';
NCNB_COUNT : NATURAL := 0;
-- end hack
LINE_COUNT : NATURAL := 0;
COMMENT_COUNT : NATURAL := 0;
LEVEL : NATURAL := 0;
-- emery hack
NEW_LINES : NATURAL := 0;
-- end hack
begin
-- van dolsen hack
TEXT_IO.OPEN(INPUT, IN_FILE, FILE_NAME);
-- FIRST PASS IS TO COUNT NCNB LINES - ADDED BY LVD
while not TEXT_IO.END_OF_FILE(INPUT) loop
TEXT_IO.GET(INPUT, C);
if C /= ' ' then
if C /= '-' then
NCNB_COUNT := NCNB_COUNT + 1;
TEXT_IO.SKIP_LINE(INPUT);
elsif PREVIOUS_C = '-' then
TEXT_IO.SKIP_LINE(INPUT);
PREVIOUS_C := ' ';
end if;
PREVIOUS_C := C;
end if;
end loop;
TEXT_IO.CLOSE(INPUT);
-- end hack
TEXT_IO.OPEN(INPUT, IN_FILE, FILE_NAME);
-- SECOND PASS COUNTS EVERYTHING ELSE PER WHITTAKER'S FUNCTION
loop
TEXT_IO.GET(INPUT, C);
-- Check for comment on the line
if C = '-' then
TEXT_IO.GET(INPUT, C);
-- Which is signaled by the '-' following a '-'
if C = '-' then
COMMENT_COUNT := COMMENT_COUNT + 1;
-- and then just skip the rest of the line and go to the next
TEXT_IO.SKIP_LINE(INPUT);
end if;
end if;
-- Check for one of the characters which introduce code constructs
-- like string or character literal or formal parameter list
-- within which a ';' does not terminate a statement
if C = '(' or C = '"' or C = '%' or C = ''' then
-- Check for opening parentheses
-- Every ';' within is in a formal parameter list
if C = '(' then
-- Count the number of levels of parentheses
LEVEL := LEVEL + 1;
-- Read ahead until the whole construct is closed, LEVEL = 0
while LEVEL > 0 loop
TEXT_IO.GET(INPUT, C);
if C = '(' then
-- Increase the level if another '(' is found
LEVEL := LEVEL + 1;
elsif C = ')' then
-- Decrease the level if a ')' is found
LEVEL := LEVEL - 1;
end if;
end loop;
-- Now check for string brackets of either kind, " or %
elsif C = '"' or C = '%' then
-- Treat them in parallel, one must lead off
if C = '"' then
loop
TEXT_IO.GET(INPUT, C);
-- Loop until the close comes
-- If there is a doubled character it just starts again
exit when C = '"';
end loop;
-- The '%' is handled exactly the same way as '"'
elsif C = '%' then
loop
TEXT_IO.GET(INPUT, C);
exit when C = '%';
end loop;
end if;
-- Character literals are just three characters long including '
elsif C = ''' then
TEXT_IO.GET(INPUT, C);
TEXT_IO.GET(INPUT, C);
end if;
-- Any ';' that can be found at this point after all exclusions
-- must be a valid "line of code" terminator
elsif C = ';' then
LINE_COUNT := LINE_COUNT + 1;
end if;
-- vandolsen hack
NEW_LINES := INTEGER(TEXT_IO.LINE(INPUT));
-- end hack
end loop;
exception
-- Return through exception since the end of file may be encountered
-- at several levels in the function and in any case it stops and returns
-- Otherwise one would use END_OF_FILE but here it would have to appear
-- in a number of places to no advantage
-- and would cause multiple exits or returns
-- This is much cleaner
when END_ERROR =>
-- emery hack
TEXT_IO.CLOSE(INPUT);
return (NCNB_COUNT, LINE_COUNT, COMMENT_COUNT, NEW_LINES);
-- end hack
end LOC;
end LINES_OF_CODE;
----------------CUT HERE TO SEPARATE COMPILATION UNITS-----------------------
with TEXT_IO; use TEXT_IO;
with FILE_IO;
with FILE_SPECIFICATION;
with ERRORS; use ERRORS;
with DIRECTORY;
with DISK;
with DISK_TYPES; use DISK_TYPES;
package body WILD_CARD is
-- This package takes a file specification string, including wildcard
-- characters, and returns the file name.
-- LAURENCE VAN DOLSEN - Paramax - 12 FEB 1993
package DNUM is
new TEXT_IO.ENUMERATION_IO(DISK_TYPES.DRIVE_ID);
STARTED : BOOLEAN := FALSE;
START_PATH, NEW_PATH : STR_PTR;
SEARCH_DATA : FILE_IO.TRANSFER_DATA;
INFORMATION : FILE_IO.FILE_DATA;
ERR : ERRORS.EXTENDED_ERRORS;
DRIVE : DISK_TYPES.DRIVE_ID;
POSINT : POSITIVE;
CNT : DISK_TYPES.LOGICAL_DRIVE_COUNT;
function START return BOOLEAN is
begin
START_PATH := new STRING'(FILE_SPECIFICATION.CURRENT);
NEW_PATH := START_PATH;
STARTED := START_PATH /= null;
return STARTED;
end START;
procedure CHECK(ERR : in ERRORS.EXTENDED_ERRORS;
PATH, FILE : out STR_PTR) is
begin
if ERR = NO_MORE_FILES then
DNUM.GET(FROM => START_PATH.all(1 .. 1), ITEM => DRIVE, LAST => POSINT);
CNT := DISK.SET_DEFAULT(DRIVE);
if DIRECTORY.CHANGE_TO(START_PATH.all) = OK then
PATH := START_PATH;
end if;
else
FILE := new STRING'(INFORMATION.NAME);
PATH := NEW_PATH;
end if;
end CHECK;
procedure GET_FIRST(ARG : in STRING;
PATH : out STR_PTR;
FILE : out STR_PTR) is
begin
PATH := null;
FILE := null;
ERR := NO_MORE_FILES;
if STARTED or else START then
NEW_PATH := new STRING'(FILE_SPECIFICATION.PARSE(ARG));
if FILE_SPECIFICATION.SET(TO => NEW_PATH.all) then
FILE_IO.FIND_FIRST(NAME_TEMPLATE => ARG, TRANSFER_AREA => SEARCH_DATA,
FILE_INFO => INFORMATION, ERROR => ERR);
end if;
CHECK(ERR, PATH, FILE);
end if;
end GET_FIRST;
procedure GET_NEXT(ARG : in STRING;
PATH : out STR_PTR;
FILE : out STR_PTR) is
begin
PATH := null;
FILE := null;
FILE_IO.FIND_NEXT(TRANSFER_AREA => SEARCH_DATA, FILE_INFO => INFORMATION,
ERROR => ERR);
CHECK(ERR, PATH, FILE);
end GET_NEXT;
end WILD_CARD;
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~1993-07-09 20:40 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1993-07-09 20:40 Seek LOC Count Software in Pub Domain cis.ohio-state.edu!math.ohio-state.edu!darwin.sura.net!source.asset.com!v
-- strict thread matches above, loose matches on Subject: below --
1993-07-09 17:16 Step he Leake
1993-07-09 15:14 Wuyts Jan
1993-07-07 22:56 Logicon RDA
1993-07-07 15:13 Michael Hann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox