[net.unix-wizards] /usr/lib/dag questions

bill@milford.UUCP (bill) (01/16/86)

I noticed an executable file in /usr/lib of our SYS V's called 'dag'
that wasn't in the manuals. Maybe this stands for Data Access Graph?
It seems to read c programs from stdin and reports to stdout the last
values assigned to variables by the program by some ordering.
The only option I could find was a -d# where # is a number, but this
didn't alter the behavior of the program in any apparent way.

Does anyone know what /usr/lib/dag does? Can an ordinary user be able
to put it to any use?

We only have Binary licenses; the machines are NCR Towers.

guy@sun.uucp (Guy Harris) (01/16/86)

> I noticed an executable file in /usr/lib of our SYS V's called 'dag'
> that wasn't in the manuals. Maybe this stands for Data Access Graph?
> It seems to read c programs from stdin and reports to stdout the last
> values assigned to variables by the program by some ordering.
> The only option I could find was a -d# where # is a number, but this
> didn't alter the behavior of the program in any apparent way.
> 
> Does anyone know what /usr/lib/dag does? Can an ordinary user be able
> to put it to any use?

No, 'dag' stands for Douglas A. Gwyn; ask him whatever questions you have.
:-) :-) :-)

It actually stands, probably, for "directed acyclic graph", which is what
'dag' usually stands for in computer parlance.  (It's basically like a tree,
only you can have branches joining as well as splitting.)  As far as I know,
the only thing D. A. Gwyn had to do with it are putting it up under 4.2BSD
and possibly fixing bugs or running it through "lint", as part of the BRL
System V compatibility package.

It's a part of the "cflow" utility in System V, which prints out a control
flow graph of a C program, indicating what routines call other routines.  It
is *NOT* intended for use as a standalone program!  It is run by "cflow",
which is a shell script.

By and large, the answer to the question "Can an ordinary user be able to
put '/usr/lib/<something>' to any use?" is "no".  If it could be put to use,
it wouldn't be in "/usr/lib".   Programs in "/usr/lib" are generally either
components of utilities like "lint", or a compiler, or things like that,
where a "driver" program or shell script runs several "worker" programs, or
they are specialized system utilities like "sendmail".

	Guy Harris

geoff@ISM780B.UUCP (01/17/86)

> I noticed an executable file in /usr/lib of our SYS V's called 'dag'
> that wasn't in the manuals. Maybe this stands for Data Access Graph?
> The only option I could find was a -d# where # is a number, but this
> didn't alter the behavior of the program in any apparent way.

/usr/lib/dag is part of cflow(1), I don't know if a user can put it
to any good use (but be creative).  It usually gets it's input from some
other part of the cflow package (either nmf or lpfx, I think).  The -d#
limits the depth of the graph.  The source is, um, interesting... aside from
the copyright notice at the top, there are no comments whatsoever.

dbw@ariel.UUCP (DAVE B. WOOD) (01/17/86)

> I noticed an executable file in /usr/lib of our SYS V's called 'dag'

/usr/lib/dag is one of the utilities used by cflow in
reformatting its output.  (see the shell script /usr/bin/cflow)

Dave Wood

mats@fortune.UUCP (Mats Wichmann) (01/17/86)

/usr/lib/dag:

dag == Draw A Graph

Used by cflow. You don't invoke it manually.


    Mats Wichmann
    Fortune Systems
    {ihnp4,hplabs,dual}!fortune!mats