Added types, status of functions, cleaned up output of summarize.

This commit is contained in:
Joel Sherrill
1998-03-16 22:43:37 +00:00
parent 3349409381
commit 2a087f30a4
9 changed files with 316 additions and 229 deletions

View File

@@ -13,8 +13,8 @@
@subsection Get Process and Parent Process IDs @subsection Get Process and Parent Process IDs
@example @example
getpid(), Function getpid(), Function, Dummy Implementation
getppid(), Function getppid(), Function, Dummy Implementation
@end example @end example
@section User Identification @section User Identification
@@ -92,7 +92,7 @@ struct tms, Type,
times(), Function, Implemented times(), Function, Implemented
@end example @end example
NOTE: times() always returns 0 for tms_stime, tms_cutime, and NOTE: @code{times} always returns 0 for tms_stime, tms_cutime, and
tms_cstime fields of the @code{struct tms} returned. tms_cstime fields of the @code{struct tms} returned.
@section Environment Variables @section Environment Variables
@@ -115,8 +115,8 @@ ctermid(), Function, Unimplemented
@example @example
ttyname(), Function, Untested Implementation, assumes directory services ttyname(), Function, Untested Implementation, assumes directory services
ttyname_r(), Unimplemented ttyname_r(), Function, Unimplemented
isatty(), Function, Dummy Implementation isatty(), Function, Partial Implementation
@end example @end example
@section Configurable System Variables @section Configurable System Variables

View File

@@ -15,11 +15,12 @@
@subsection Directory Operations @subsection Directory Operations
@example @example
opendir(), Function struct dirent, Type, Unimplemented
readdir(), Function opendir(), Function, Untested Implementation, assumes directory services
readdir_r(), Function readdir(), Function, Untested Implementation, assumes directory services
rewinddir(), Function readdir_r(), Function, Untested Implementation, assumes directory services
closedir(), Function rewinddir(), Function, Untested Implementation, assumes directory services
closedir(), Function, Untested Implementation, assumes directory services
@end example @end example
@section Working Directory @section Working Directory
@@ -27,13 +28,13 @@ closedir(), Function
@subsection Change Current Working Directory @subsection Change Current Working Directory
@example @example
chdir(), Function chdir(), Function, Unimplemented
@end example @end example
@subsection Get Working Directory Pathname @subsection Get Working Directory Pathname
@example @example
getcwd(), Function getcwd(), Function, Untested Implementation, assumes directory services
@end example @end example
@section General File Creation @section General File Creation
@@ -41,25 +42,25 @@ getcwd(), Function
@subsection Open a File @subsection Open a File
@example @example
open(), Function open(), Function, Implemented, requires rework for directory services
@end example @end example
@subsection Create a New File or Rewrite an Existing One @subsection Create a New File or Rewrite an Existing One
@example @example
creat(), Function creat(), Function, Untested Implementation
@end example @end example
@subsection Set File Creation Mask @subsection Set File Creation Mask
@example @example
umask(), Function umask(), Function, Unimplemented
@end example @end example
@subsection Link to a File @subsection Link to a File
@example @example
link(), Function link(), Function, Dummy Implementation
@end example @end example
@section Special File Creation @section Special File Creation
@@ -67,13 +68,13 @@ link(), Function
@subsection Make a Directory @subsection Make a Directory
@example @example
mkdir(), Function mkdir(), Function, Unimplemented, assumes directory services
@end example @end example
@subsection Make a FIFO Special File @subsection Make a FIFO Special File
@example @example
mkfifo(), Function mkfifo(), Function, Unimplemented
@end example @end example
@section File Removal @section File Removal
@@ -81,68 +82,73 @@ mkfifo(), Function
@subsection Remove Directory Entries @subsection Remove Directory Entries
@example @example
unlink(), Function unlink(), Function, Dummy Implementation
@end example @end example
@subsection Remove a Directory @subsection Remove a Directory
@example @example
rmdir(), Function rmdir(), Function, Unimplemented
@end example @end example
@subsection Rename a File @subsection Rename a File
@example @example
rename(), Function rename(), Function, Untested Implementation, assumes link/unlink
@end example @end example
@section File Characteristics @section File Characteristics
@subsection File Characteristics Header and Data Structure @subsection File Characteristics Header and Data Structure
@example
struct stat, Type, Untested Implementation
@end example
@subsection Get File Status @subsection Get File Status
@example @example
stat(), Function stat(), Function, Partial Implementation
fstat(), Function fstat(), Function, Partial Implementation
@end example @end example
@subsection Check File Accessibility @subsection Check File Accessibility
@example @example
access(), Function access(), Function, Unimplemented
@end example @end example
@subsection Change File Modes @subsection Change File Modes
@example @example
chmod(), Function chmod(), Function, Unimplemented
fchmod(), Function fchmod(), Function, Unimplemented
@end example @end example
@subsection Change Owner and Group of a File @subsection Change Owner and Group of a File
@example @example
chown(), Function chown(), Function, Unimplemented
@end example @end example
@subsection Set File Access and Modification Times @subsection Set File Access and Modification Times
@example @example
utime(), Function struct utimbuf, Type,
utime(), Function, Unimplemented
@end example @end example
@subsection Truncate a File to a Specified Length @subsection Truncate a File to a Specified Length
@example @example
ftruncate(), Function ftruncate(), Function, Unimplemented
@end example @end example
@section Configurable Pathname Variable @section Configurable Pathname Variable
@example @example
pathconf(), Function pathconf(), Function, Unimplemented
fpathconf(), Function fpathconf(), Function, Unimplemented
@end example @end example
@subsection Get Configurable Pathname Variables @subsection Get Configurable Pathname Variables

View File

@@ -13,7 +13,7 @@
@subsection Create an Inter-Process Channel @subsection Create an Inter-Process Channel
@example @example
pipe(), Function pipe(), Function, Unimplemented
@end example @end example
@section File Descriptor Manipulation @section File Descriptor Manipulation
@@ -21,8 +21,8 @@ pipe(), Function
@subsection Duplicate an Open File Descriptor @subsection Duplicate an Open File Descriptor
@example @example
dup(), Function dup(), Function, Unimplemented
dup2(), Function dup2(), Function, Unimplemented
@end example @end example
@section File Descriptor Deassignment @section File Descriptor Deassignment
@@ -30,7 +30,7 @@ dup2(), Function
@subsection Close a File @subsection Close a File
@example @example
close(), Function close(), Function, Partial Implementation
@end example @end example
@section Input and Output @section Input and Output
@@ -38,13 +38,13 @@ close(), Function
@subsection Read from a File @subsection Read from a File
@example @example
read(), Function read(), Function, Partial Implementation
@end example @end example
@subsection Write to a File @subsection Write to a File
@example @example
write(), Function write(), Function, Partial Implementation
@end example @end example
@section Control Operations on Files @section Control Operations on Files
@@ -54,13 +54,14 @@ write(), Function
@subsection File Control @subsection File Control
@example @example
fcntl(), Function struct flock, Type, Unimplemented
fcntl(), Function, Unimplemented
@end example @end example
@subsection Reposition Read/Write File Offset @subsection Reposition Read/Write File Offset
@example @example
lseek(), Function lseek(), Function, Partial Implementation
@end example @end example
@section File Synchronization @section File Synchronization
@@ -68,64 +69,68 @@ lseek(), Function
@subsection Synchronize the State of a File @subsection Synchronize the State of a File
@example @example
fsync(), Function fsync(), Function, Unimplemented
@end example @end example
@subsection Synchronize the Data of a File @subsection Synchronize the Data of a File
@example @example
fdatasync(), Function fdatasync(), Function, Unimplemented
@end example @end example
@section Asynchronous Input and Output @section Asynchronous Input and Output
@subsection Data Definitions for Asynchronous Input and Output @subsection Data Definitions for Asynchronous Input and Output
@example
struct aiocb, Type, Dummy Implementation
@end example
@subsection Asynchronous Read @subsection Asynchronous Read
@example @example
aio_read(), Function aio_read(), Function, Dummy Implementation
@end example @end example
@subsection Asynchronous Write @subsection Asynchronous Write
@example @example
aio_write(), Function aio_write(), Function, Dummy Implementation
@end example @end example
@subsection List Directed I/O @subsection List Directed I/O
@example @example
aio_listio(), Function lio_listio(), Function, Dummy Implementation
@end example @end example
@subsection Retrieve Error Status of Asynchronous I/O Operation @subsection Retrieve Error Status of Asynchronous I/O Operation
@example @example
aio_error(), Function aio_error(), Function, Dummy Implementation
@end example @end example
@subsection Retrieve Return Status of Asynchronous I/O Operation @subsection Retrieve Return Status of Asynchronous I/O Operation
@example @example
aio_return(), Function aio_return(), Function, Dummy Implementation
@end example @end example
@subsection Cancel Asynchronous I/O Request @subsection Cancel Asynchronous I/O Request
@example @example
aio_cancel(), Function aio_cancel(), Function, Dummy Implementation
@end example @end example
@subsection Wait for Asynchronous I/O Request @subsection Wait for Asynchronous I/O Request
@example @example
aio_suspend(), Function aio_suspend(), Function, Dummy Implementation
@end example @end example
@subsection Asynchronous File Synchronization @subsection Asynchronous File Synchronization
@example @example
aio_fsync(), Function aio_fsync(), Function, Dummy Implementation
@end example @end example

View File

@@ -36,7 +36,11 @@
@subsection Parameters That Can Be Set @subsection Parameters That Can Be Set
@subsubsection termios Structure @subsubsection @code{termios} Structure
@example
struct termios, Type, Partial Implementation
@end example
@subsubsection Input Modes @subsubsection Input Modes
@@ -52,6 +56,13 @@
@subsubsection Baud Rate Functions @subsubsection Baud Rate Functions
@example
cfgetospeed(), Function, Unimplemented
cfsetospeed(), Function, Unimplemented
cfgetispeed(), Function, Unimplemented
cfsetispeed(), Function, Unimplemented
@end example
@subsubsection Synopsis @subsubsection Synopsis
@subsubsection Description @subsubsection Description
@@ -67,28 +78,28 @@
@subsection Get and Set State @subsection Get and Set State
@example @example
tcgetattr(), Function tcgetattr(), Function, Implemented
tcsetattr(), Function tcsetattr(), Function, Implemented
@end example @end example
@subsection Line Control Functions @subsection Line Control Functions
@example @example
tcsendbreak(), Function tcsendbreak(), Function, Unimplemented
tcdrain(), Function tcdrain(), Function, Unimplemented
tcflush(), Function tcflush(), Function, Unimplemented
tcflow(), Function tcflow(), Function, Unimplemented
@end example @end example
@subsection Get Foreground Process Group ID @subsection Get Foreground Process Group ID
@example @example
tcgetprgrp(), Function tcgetprgrp(), Function, Unimplemented
@end example @end example
@subsection Set Foreground Process Group ID @subsection Set Foreground Process Group ID
@example @example
tcsetprgrp(), Function tcsetprgrp(), Function, Unimplemented
@end example @end example

View File

@@ -13,158 +13,160 @@
ANSI C Section 4.2 --- Diagnostics ANSI C Section 4.2 --- Diagnostics
@example @example
assert(), Function assert(), Function, Implemented
@end example @end example
ANSI C Section 4.3 --- Character Handling ANSI C Section 4.3 --- Character Handling
@example @example
isalnum(), Function isalnum(), Function, Implemented
isalpha(), Function isalpha(), Function, Implemented
iscntrl(), Function iscntrl(), Function, Implemented
isdigit(), Function isdigit(), Function, Implemented
isgraph(), Function isgraph(), Function, Implemented
islower(), Function islower(), Function, Implemented
isprint(), Function isprint(), Function, Implemented
ispunct(), Function ispunct(), Function, Implemented
isspace(), Function isspace(), Function, Implemented
isupper(), Function isupper(), Function, Implemented
isxdigit(), Function isxdigit(), Function, Implemented
tolower(), Function tolower(), Function, Implemented
toupper(), Function toupper(), Function, Implemented
@end example @end example
ANSI C Section 4.4 --- Localization ANSI C Section 4.4 --- Localization
@example @example
setlocale(), Function setlocale(), Function, Partial Implementation
@end example @end example
ANSI C Section 4.5 --- Mathematics ANSI C Section 4.5 --- Mathematics
@example @example
acos(), Function acos(), Function, Implemented
asin(), Function asin(), Function, Implemented
atan(), Function atan(), Function, Implemented
atan2(), Function atan2(), Function, Implemented
cos(), Function cos(), Function, Implemented
sin(), Function sin(), Function, Implemented
tan(), Function tan(), Function, Implemented
cosh(), Function cosh(), Function, Implemented
sinh(), Function sinh(), Function, Implemented
tanh(), Function tanh(), Function, Implemented
exp(), Function exp(), Function, Implemented
frexp(), Function frexp(), Function, Implemented
ldexp(), Function ldexp(), Function, Implemented
log(), Function log(), Function, Implemented
log10(), Function log10(), Function, Implemented
modf(), Function modf(), Function, Implemented
pow(), Function pow(), Function, Implemented
sqrt(), Function sqrt(), Function, Implemented
ceil(), Function ceil(), Function, Implemented
fabs(), Function fabs(), Function, Implemented
floor(), Function floor(), Function, Implemented
fmod(), Function fmod(), Function, Implemented
@end example @end example
ANSI C Section 4.6 --- Non-Local Jumps ANSI C Section 4.6 --- Non-Local Jumps
@example @example
setjmp(), Function setjmp(), Function, Implemented
longjmp(), Function longjmp(), Function, Implemented
@end example @end example
ANSI C Section 4.9 --- Input/Output ANSI C Section 4.9 --- Input/Output
@example @example
clearerr(), Function clearerr(), Function, Implemented
fclose(), Function fclose(), Function, Implemented
feof(), Function feof(), Function, Implemented
ferror(), Function ferror(), Function, Implemented
fflush(), Function fflush(), Function, Implemented
fgetc(), Function fgetc(), Function, Implemented
fgets(), Function fgets(), Function, Implemented
fopen(), Function fopen(), Function, Implemented
fputc(), Function fputc(), Function, Implemented
fputs(), Function fputs(), Function, Implemented
fread(), Function fread(), Function, Implemented
freopen(), Function freopen(), Function, Implemented
fseek(), Function fseek(), Function, Implemented
ftell(), Function ftell(), Function, Implemented
fwrite(), Function fwrite(), Function, Implemented
getc(), Function getc(), Function, Implemented
getchar(), Function getchar(), Function, Implemented
gets(), Function gets(), Function, Implemented
perror(), Function perror(), Function, Implemented
printf(), Function printf(), Function, Implemented
fprintf(), Function fprintf(), Function, Implemented
sprintf(), Function sprintf(), Function, Implemented
putc(), Function putc(), Function, Implemented
putchar(), Function putchar(), Function, Implemented
puts(), Function puts(), Function, Implemented
remove(), Function remove(), Function, Implemented
rename(), Function rename(), Function, Implemented
rewind(), Function rewind(), Function, Implemented
scanf(), Function scanf(), Function, Implemented
fscanf(), Function fscanf(), Function, Implemented
sscanf(), Function sscanf(), Function, Implemented
setbuf(), Function setbuf(), Function, Implemented
tmpfile(), Function tmpfile(), Function, Implemented
tmpnam(), Function tmpnam(), Function, Implemented
ungetc(), Function ungetc(), Function, Implemented
@end example @end example
ANSI C Section 4.10 --- General Utilities ANSI C Section 4.10 --- General Utilities
@example @example
abs(), Function abs(), Function, Implemented
atof(), Function atof(), Function, Implemented
atoi(), Function atoi(), Function, Implemented
atol(), Function atol(), Function, Implemented
rand(), Function rand(), Function, Implemented
srand(), Function srand(), Function, Implemented
calloc(), Function calloc(), Function, Implemented
free(), Function free(), Function, Implemented
malloc(), Function malloc(), Function, Implemented
realloc(), Function realloc(), Function, Implemented
abort(), Function abort(), Function, Implemented
exit(), Function exit(), Function, Implemented
getenv(), Function getenv(), Function, Implemented
bsearch(), Function bsearch(), Function, Implemented
qsort(), Function qsort(), Function, Implemented
@end example @end example
ANSI C Section 4.11 --- String Handling ANSI C Section 4.11 --- String Handling
@example @example
strcpy(), Function strcpy(), Function, Implemented
strncpy(), Function strncpy(), Function, Implemented
strcat(), Function strcat(), Function, Implemented
strncat(), Function strncat(), Function, Implemented
strcmp(), Function strcmp(), Function, Implemented
strncmp(), Function strncmp(), Function, Implemented
strchr(), Function strchr(), Function, Implemented
strcspn(), Function strcspn(), Function, Implemented
strpbrk(), Function strpbrk(), Function, Implemented
strrchr(), Function strrchr(), Function, Implemented
strspn(), Function strspn(), Function, Implemented
strstr(), Function strstr(), Function, Implemented
strtok(), Function strtok(), Function, Implemented
strlen(), Function strlen(), Function, Implemented
@end example @end example
ANSI C Section 4.12 --- Date and Time Handling ANSI C Section 4.12 --- Date and Time Handling
@example @example
time(), Function time(), Function, Implemented
asctime(), Function asctime(), Function, Implemented
ctime(), Function ctime(), Function, Implemented
gmtime(), Function gmtime(), Function, Implemented
localtime(), Function localtime(), Function, Implemented
mktime(), Function mktime(), Function, Implemented
strftime(), Function strftime(), Function, Implemented
@end example @end example
NOTE: RTEMS has no notion of time zones.
@subsection Extensions to Time Functions @subsection Extensions to Time Functions
@subsection Extensions to @code{setlocale} Function @subsection Extensions to @code{setlocale} Function
@@ -174,13 +176,13 @@ strftime(), Function
@subsection Map a Stream Pointer to a File Descriptor @subsection Map a Stream Pointer to a File Descriptor
@example @example
fileno(), Function fileno(), Function, Implemented
@end example @end example
@subsection Open a Stream on a File Descriptor @subsection Open a Stream on a File Descriptor
@example @example
fdopen(), Function fdopen(), Function, Implemented
@end example @end example
@subsection Interactions of Other FILE-Type C Functions @subsection Interactions of Other FILE-Type C Functions
@@ -192,18 +194,18 @@ fdopen(), Function
@subsection Stdio Locking Functions @subsection Stdio Locking Functions
@example @example
flockfile(), Function flockfile(), Function, Unimplemented
ftrylockfile(), Function ftrylockfile(), Function, Unimplemented
funlockfile(), Function funlockfile(), Function, Unimplemented
@end example @end example
@subsection Stdio With Explicit Client Locking @subsection Stdio With Explicit Client Locking
@example @example
getc_unlocked(), Function getc_unlocked(), Function, Unimplemented
getchar_unlocked(), Function getchar_unlocked(), Function, Unimplemented
putc_unlocked(), Function putc_unlocked(), Function, Unimplemented
putchar_unlocked(), Function putchar_unlocked(), Function, Unimplemented
@end example @end example
@section Other C Language Functions @section Other C Language Functions
@@ -211,50 +213,49 @@ putchar_unlocked(), Function
@subsection Nonlocal Jumps @subsection Nonlocal Jumps
@example @example
sigsetjmp(), Function sigsetjmp(), Function, Unimplemented
siglongjmp(), Function siglongjmp(), Function, Unimplemented
@end example @end example
@subsection Set Time Zone @subsection Set Time Zone
@example @example
tzset(), Function tzset(), Function, Unimplemented
@end example @end example
@subsection Find String Token @subsection Find String Token
@example @example
strtok_r(), Function strtok_r(), Function, Implemented
@end example @end example
@subsection ASCII Time Representation @subsection ASCII Time Representation
@example @example
asctime_r(), Function asctime_r(), Function, Implemented
@end example @end example
@subsection Current Time Representation @subsection Current Time Representation
@example @example
ctime_r(), Function ctime_r(), Function, Implemented
@end example @end example
@subsection Coordinated Universal Time @subsection Coordinated Universal Time
@example @example
gmtime_r(), Function gmtime_r(), Function, Implemented
@end example @end example
@subsection Local Time @subsection Local Time
@example @example
localtime_r(), Function localtime_r(), Function, Implemented
@end example @end example
@subsection Pseudo-Random Sequence Generation Functions @subsection Pseudo-Random Sequence Generation Functions
@example @example
rand_r(), Function rand_r(), Function, Implemented
@end example @end example

View File

@@ -15,18 +15,20 @@
@subsection Group Database Access @subsection Group Database Access
@example @example
getgrgid(), Function struct group, Type,
getgrgid_r(), Function getgrgid(), Function, Unimplemented
getgrname(), Function getgrgid_r(), Function, Unimplemented
getgrnam_r(), Function getgrname(), Function, Unimplemented
getgrnam_r(), Function, Unimplemented
@end example @end example
@subsection User Database Access @subsection User Database Access
@example @example
getpwuid(), Function struct passwd, Type,
getpwuid_r(), Function getpwuid(), Function, Untested Implemented, assumes /etc/passwd exists
getpwnam(), Function getpwuid_r(), Function, Unimplemented
getpwnam_r(), Function getpwnam(), Function, Untested Implemented, assumes /etc/passwd exists
getpwnam_r(), Function, Unimplemented
@end example @end example

View File

@@ -12,7 +12,15 @@
@subsection Extended tar Format @subsection Extended tar Format
@example
tar format, Type,
@end example
@subsection Extended cpio Format @subsection Extended cpio Format
@example
cpio format, Type,
@end example
@subsection Multiple Volumes @subsection Multiple Volumes

View File

@@ -15,50 +15,50 @@
@subsection Initialize an Unnamed Semaphore @subsection Initialize an Unnamed Semaphore
@example @example
sem_init(), Function sem_init(), Function, Untested Implementation
@end example @end example
@subsection Destroy an Unnamed Semaphore @subsection Destroy an Unnamed Semaphore
@example @example
sem__destroy(), Function sem_destroy(), Function, Untested Implementation
@end example @end example
@subsection Initialize/Open a Named Semaphore @subsection Initialize/Open a Named Semaphore
@example @example
sem_open(), Function sem_open(), Function, Untested Implementation
@end example @end example
@subsection Close a Named Semaphore @subsection Close a Named Semaphore
@example @example
sem_close(), Function sem_close(), Function, Untested Implementation
@end example @end example
@subsection Remove a Named Semaphore @subsection Remove a Named Semaphore
@example @example
sem_unlink(), Function sem_unlink(), Function, Untested Implementation
@end example @end example
@subsection Lock a Semaphore @subsection Lock a Semaphore
@example @example
sem_wait(), Function sem_wait(), Function, Untested Implementation
sem_trywait(), Function sem_trywait(), Function, Untested Implementation
@end example @end example
@subsection Unlock a Semaphore @subsection Unlock a Semaphore
@example @example
sem_post(), Function sem_post(), Function, Untested Implementation
@end example @end example
@subsection Get the Value of a Semaphore @subsection Get the Value of a Semaphore
@example @example
sem_getvalue(), Function sem_getvalue(), Function, Untested Implementation
@end example @end example
@section Mutexes @section Mutexes

View File

@@ -14,32 +14,69 @@ echo
wc2() wc2()
{ {
grep "$1" $2 | wc -l pattern=$1
shift
grep "${pattern}" $* | wc -l
} }
wc3() wc3()
{ {
grep "$1" $2 | grep "$3" | wc -l pattern=$1
filter=$2
shift ; shift
grep "${pattern}" $* | grep "${filter}" | wc -l
}
# adds the numbers passed on the command line
addit()
{
sumx=0
for x in $*
do
sumx=`expr $sumx + $x`
done
echo $sumx
} }
summarize_chapter() summarize_chapter()
{ {
echo
# takes at least 3.0 inches for each generated section
echo "@need 3000"
if [ $# -eq 1 ] ; then
grep "^@chapter" $1 | \ grep "^@chapter" $1 | \
sed -e "s/^.chapter/@section/" \ sed -e "s/^.chapter/@section/" \
-e "s/$/ Chapter/" -e "s/$/ Chapter/"
else
echo "@section Overall Summary"
fi
echo echo
functions_total=`wc2 "()" $1 ` functions_total=`wc2 "()" $*`
functions_implemented=`wc3 "()" $1 "Implemented"` functions_implemented=` wc3 "()" "Implemented" $*`
functions_unimplemented=`wc3 "()" $1 "Unimplemented"` functions_unimplemented=` wc3 "()" "Unimplemented" $*`
functions_unmplementable=`wc3 "()" $1 "Unimplementable"` functions_unmplementable=`wc3 "()" "Unimplementable" $*`
functions_dummy=`wc3 "()" $1 "Dummy Implementation"` functions_partial=` wc3 "()" "Partial Implementation" $*`
functions_untested=`wc3 "()" $1 "Untested Implementation"` functions_dummy=` wc3 "()" "Dummy Implementation" $*`
functions_untested=` wc3 "()" "Untested Implementation" $*`
datatypes_total=`grep "Type," $1 | wc -l` functions_sum=`addit ${functions_implemented} \
datatypes_implemented=`grep "Type," $1 | grep Implemented | wc -l` ${functions_unimplemented} ${functions_unmplementable} \
datatypes_unimplemented=`grep "Type," $1 | grep Unimplemented | wc -l` ${functions_partial} ${functions_dummy} \
datatypes_unmplementable=`grep "Type," $1 | grep Unimplementable | wc -l` ${functions_untested}`
datatypes_total=`wc2 "Type," $*`
datatypes_implemented=` wc3 "Type," "Implemented" $*`
datatypes_unimplemented=` wc3 "Type," "Unimplemented" $*`
datatypes_unmplementable=`wc3 "Type," "Unimplementable" $*`
datatypes_partial=` wc3 "Type," "Partial Implementation" $*`
datatypes_dummy=` wc3 "Type," "Dummy Implementation" $*`
datatypes_sum=`addit ${datatypes_implemented} \
${datatypes_unimplemented} ${datatypes_unmplementable} \
${datatypes_partial} ${datatypes_dummy} \
${datatypes_untested}`
echo "@example" echo "@example"
echo "Functions:" echo "Functions:"
@@ -47,10 +84,16 @@ summarize_chapter()
echo " Implemented : ${functions_implemented}" echo " Implemented : ${functions_implemented}"
echo " Unimplemented : ${functions_unimplemented}" echo " Unimplemented : ${functions_unimplemented}"
echo " Unimplementable : ${functions_unmplementable}" echo " Unimplementable : ${functions_unmplementable}"
echo " Working Dummies: ${functions_dummy}" echo " Partial : ${functions_partial}"
echo " Dummy : ${functions_dummy}"
echo " Untested : ${functions_untested}" echo " Untested : ${functions_untested}"
echo "@end example" echo "@end example"
echo echo
if [ ${functions_sum} -ne ${functions_total} ] ; then
echo "@sp"
echo "@center{@b{FUNCTION COUNTS DO NOT ADD UP!!}}"
echo "@sp"
fi
echo "@example" echo "@example"
echo "Data Types:" echo "Data Types:"
@@ -58,17 +101,28 @@ summarize_chapter()
echo " Implemented : ${datatypes_implemented}" echo " Implemented : ${datatypes_implemented}"
echo " Unimplemented : ${datatypes_unimplemented}" echo " Unimplemented : ${datatypes_unimplemented}"
echo " Unimplementable : ${datatypes_unmplementable}" echo " Unimplementable : ${datatypes_unmplementable}"
echo " Partial : ${datatypes_partial}"
echo " Dummy : ${datatypes_dummy}"
echo "@end example" echo "@end example"
echo echo
if [ ${datatypes_sum} -ne ${datatypes_total} ] ; then
echo "@sp"
echo "@center{@b{DATA TYPE COUNTS DO NOT ADD UP!!}}"
echo "@sp"
fi
} }
chapters="ch01.t ch02.t ch03.t ch04.t ch05.t ch06.t ch07.t ch08.t \ chapters="ch01.t ch02.t ch03.t ch04.t ch05.t ch06.t ch07.t ch08.t \
ch09.t ch10.t ch11.t ch12.t ch13.t ch14.t ch15.t ch16.t ch17.t ch18.t" ch09.t ch10.t ch11.t ch12.t ch13.t ch14.t ch15.t ch16.t ch17.t ch18.t"
# go through the chapters one at a time
for chapter in ${chapters} for chapter in ${chapters}
do do
summarize_chapter $chapter summarize_chapter $chapter
done done
# now generate the overall summary
summarize_chapter ${chapters}