OGDL examples


Example 1

The following 4 examples are equivalent, i.e., they produce the same graph:

libraries
    foo.so
    bar.so
libraries foo.so
    bar.so

libraries 
    foo.so, bar.so

libraries ( foo.so, bar.so )


In graphic form:


Example 2

The following 5 examples are equivalent:

libraries
    foo.so
        version 1.2
    bar.so
        version 2.3
libraries
    foo.so version 1.2
    bar.so version 2.3


libraries
    ( foo.so version 1.2, bar.so version 2.3 )





libraries
    foo.so
        version 
            1.2
    bar.so
        version 
            2.3
libraries ( foo.so version 1.2, bar.so version 2.3 )

In graphic form:


Example 3. Cycles

node1 -{1}
  node2
  node3 +{1}

In graphic form:


More examples

# Lists are comma separated nodes
libraries ( foo.so, bar.so )


# OGDL includes comments in its grammar
# This is a comment, but
#1 'that one is not'

# strings with spaces must be quoted
names
    'Mary O\'Connor', "Mary O'Connor"

# two ways of writing a block of text

description
   "Order is significant, and duplicate nodes 
    are allowed. Per definition, each node is
    accesible thru a path. To distinguish between
    duplicated nodes, indexes can be used."

description \
    Order is significant, and duplicate nodes 
    are allowed. Per definition, each node is
    accesible thru a path. To distinguish between
    duplicated nodes, indexes can be used.
#  HTML and XML can be embedded or included in 
#  OGDL as is; no need to escape the < and >
#  characters. 

header
    <html><body>

Alternative lilo.conf

boot    /dev/hda
lba32
prompt
timeout 500
delay   500
vga     normal
root    current

images
  linux-devfs
    kernel  /pkg/kernel/bzImage

  linux-reiser
    kernel  /pkg/kernel/bz-2.2.19-devfs-reiser

  install
    kernel  /pkg/kernel/bz-2.2.19-devfs-ram
    initrd  /pkg-src/sorcerer-linux/initrd
    append  root=/dev/ram0

Busybox output made OGDL parseable

version 0.60.4
compiled 2002.10.07-14:12+0000
see www.busybox.net

usage \
    busybox [function] [arguments]...
    or: [function] [arguments]...

description \
    BusyBox is a multi-call binary that combines many common Unix
    utilities into a single executable.  Most people will create a
    link to busybox for each function they wish to use, and BusyBox
    will act like whatever it was invoked as.

functions
    [, ash, basename, busybox, cat, chgrp, chmod, chown, chroot,
    chvt, clear, cp, cut, date, dd, df, dirname, dmesg, du, echo,
    env, false, find, free, grep, gunzip, gzip, halt, head, id,
    init, kill, killall, klogd, linuxrc, ln, logger, ls, lsmod,
    mkdir, mknod, mkswap, modprobe, more, mount, mv, pidof, poweroff,
    ps, pwd, reboot, reset, rm, rmdir, sed, sh, sleep, sort, swapoff,
    swapon, sync, syslogd, tail, tar, test, touch, true, tty, umount,
    uname, uniq, uptime, wc, which, whoami, xargs, yes, zcat

Ifconfig output made OGDL parseable

eth0      
          physical 'Ethernet', HWaddr 00:10:5A:F1:79:41
          ip 192.168.106.201, bcast 192.168.106.255, mask 255.255.255.0
          flags ( UP, BROADCAST, RUNNING, MULTICAST )
          MTU 1500, Metric 1
          rx ( packets 20123, bytes 6333249, errors 0, dropped 0, overruns 0, frame 0 )
          tx ( packets 3528, bytes 439192, errors 0, dropped 0, overruns 0, frame 0 )
          collisions 0, txqueuele 100
          interrupt 11, base_address 0xdc00

OGDL format added to df (coreutils patch here)

# df -G -B M
rootfs
  fstype rootfs
  total 5908 M
  used 5112 M
  available 497 M
  mount_point /
/dev/root
  fstype ext2
  total 5908 M
  used 5112 M
  available 497 M
  mount_point /




ogdl.org / R. Veen, 5 March 2004