sarge  ] [  etch  ] [  etch-m68k  ] [  lenny  ] [  sid  ]
[ Source: kimwitu++  ]

Package: kimwitu++ (2.3.12-1)

A (syntax-)tree-handling tool (term processor)

Kimwitu++ is a system that supports the construction of programs that use trees or terms as their main data structure. It allows you to define, store and operate on trees with typed nodes. Each type of node has a specific number of sons, and expects these sons to have specific types. The most popular example of such trees are syntax trees.

The nodes are defined in a Yacc-like fashion. The tree can be unparsed (ie. treewalk) and rewritten (ie. term substitution). Kimwitu++ gives you powerful pattern matching for specifying unparse and rewrite rules.

Kimwitu++ is an extension to C++. It introduces Yacc-like node definitions, the unparse and rewrite rules, and extensions for pattern matching within functions. It will translate its input files into pure C++.

To build the tree you might use a parser generated with Bison, but you are free to use other tools. There also exists Kimwitu (also packaged for Debian) which interfaces with C instead of C++ which can also be used in C++ projects, but Kimwitu++ has some extensions one might consider useful.

Tags: Software Development: Code Generation, C++ Development, User Interface: Command Line, Role: Program, Scope: Utility

Other Packages Related to kimwitu++

  • depends
  • recommends
  • suggests
  • dep: libc0.1 (>= 2.7-1) [kfreebsd-amd64, kfreebsd-i386]
    GNU C Library: Shared libraries
    also a virtual package provided by libc0.1-udeb
  • dep: libc0.3 (>= 2.7-1) [hurd-i386]
    GNU C Library: Shared libraries
    also a virtual package provided by libc0.3-udeb
  • dep: libc6 (>= 2.5-5) [m68k]
    GNU C Library: Shared libraries
    also a virtual package provided by libc6-udeb
    dep: libc6 (>= 2.7-1) [not alpha, hurd-i386, ia64, kfreebsd-amd64, kfreebsd-i386, m68k]
  • dep: libc6.1 (>= 2.7-1) [alpha, ia64]
    GNU C Library: Shared libraries
    also a virtual package provided by libc6.1-udeb
  • dep: libgcc1 (>= 1:4.1.1-21) [not arm, armel, hppa, hurd-i386, kfreebsd-amd64, kfreebsd-i386, m68k]
    GCC support library
    dep: libgcc1 (>= 1:4.2.1) [hurd-i386]
    dep: libgcc1 (>= 1:4.3) [arm, armel, kfreebsd-amd64, kfreebsd-i386]
  • dep: libgcc2 (>= 4.2.1-1) [m68k]
    GCC support library
  • dep: libgcc4 (>= 4.1.1-21) [hppa]
    GCC support library
  • dep: libstdc++6 (>= 4.1.1-21) [not armel, hurd-i386, kfreebsd-amd64, kfreebsd-i386]
    The GNU Standard C++ Library v3
    dep: libstdc++6 (>= 4.2.1) [hurd-i386]
    dep: libstdc++6 (>= 4.3) [armel, kfreebsd-amd64, kfreebsd-i386]
  • dep: libunwind7 (>= 0.98.5-6) [ia64]
    A library to determine the call-chain of a program - runtime
  • sug: bison
    A parser generator that is compatible with YACC
    or byacc
    public domain Berkeley LALR Yacc parser generator
    or btyacc
    Backtracking parser generator based on byacc

Download kimwitu++

Download for all available architectures
Architecture Package Size Installed Size Files
alpha 287.4 kB1188 kB [list of files]
amd64 263.0 kB916 kB [list of files]
arm 228.3 kB820 kB [list of files]
armel 235.3 kB892 kB [list of files]
hppa 390.9 kB1392 kB [list of files]
hurd-i386 238.9 kB820 kB [list of files]
i386 229.8 kB784 kB [list of files]
ia64 324.4 kB1920 kB [list of files]
kfreebsd-amd64 (unofficial port) 263.2 kB914 kB [list of files]
kfreebsd-i386 (unofficial port) 238.9 kB818 kB [list of files]
m68k 239.6 kB876 kB [list of files]
mips 374.9 kB1772 kB [list of files]
mipsel 366.4 kB1772 kB [list of files]
powerpc 249.6 kB1000 kB [list of files]
s390 266.5 kB988 kB [list of files]
sparc 243.6 kB924 kB [list of files]