Columns


CUG New Releases

Improved Vi, AISEARCH, and WTWG Update

Victor R. Volkman


Victor R. Volkman received a BS in Computer Science from Michigan Technological University. He has been a frequent contributor to C/C++ Users Journal since 1987. He is currently employed as Senior Analyst at H.C.I.A. of Ann Arbor, Michigan. He can be reached by dial-in at the HAL 9000 BBS (313) 663-4173 or by Usenet mail to sysop@hal9k.com.

Update to CUG #328 WTWG 2.0

The Windows Text/Windows Graphics Windows (or WTWG) windows system, by David Blum (Phoenix, AZ), offers a complete a user-interface system for MS-DOS applications. WTWG allows you to write C programs that use modern interface features including the mouse, windows, and menus. In addition, WTWG frees you from worrying about PC hardware specifics, such as video modes, display pages, and enhanced keyboards. WTWG includes memory management (expanded memory and disk-swapping virtual memory) and error handling. WTWG version 2.0 (released 1/1/93) represents a major update for CUG Library #328.

A major improvement to WTWG 2.0 is data collection by C++ forms. With this feature, input can come from files, command-line arguments, or user input on-screen, and data can be displayed or written to a file. WTWG can now automatically validate data. Using C++ virtual functions, you can extend the library to provide validated input of any custom data type.

Programming in WTWG is easy, as most of its fancy options can be entirely ignored and you can use just a few high-level functions to do all the work. WTWG programs are small and fast, especially compared to other windowing systems. WTWG works identically at the source code level in standard DOS, 386-protected mode DOS, text mode, or graphics mode.

New Acquisitions

CUG 411: VIM — Vi Improved Editor

For CUG Volume 411, Bram Moolenaar (Venlo, Netherlands) contributes his Vi Improved editor (Vim) that supports MS-DOS, Amiga, and most forms of UNIX. Vim claims near 100% of the functionality of the classic vi UNIX editor. Vim also includes many embellishments to the original features of vi

Vim supplies extensive documentation in many forms including the following: a UNIX man page, UNIX man source file, quick reference card, platform-specific implementation notes, Vim and vi difference list, and an extensive 70-page ASCII reference manual. For those not familiar with vi's distinctive user interface, Vim provides tutorial files to get you up and running fast.

Vim's improvements are perhaps the best reason to try this innovative text editor. Here's an abbreviated list of some of Moolenaar's enhancements over the original vi:

The CUG Library edition includes full source in as well as pre-built executables for MS-DOS. Vim version 2.0, as released 12/14/93, is now available as CUG #411.

CUG 412: AISEARCH — Artificial Intelligence Search Class

For CUG volume #412, Peter M. Bouthoorn (Groningen University, Netherlands) submits his C++ search class library with artificial intelligence capabilities. AISEARCH is a tool for developing problem-solving software. The library offers the programmer a set of search algorithms that solve all kinds of different problems. AISEARCH is based on the principle that when developing problem-solving software, the programmer should only have to concentrate on the representation of the problem to be solved, not the implementation of the search algorithm used. You can incorporate these search classes in other software through C++ derivation and inheritance.

AISEARCH implements the following search algorithms:

To use a search method in your own programs you just derive a class from the desired search class and fill in the necessary parts. The library helps standardize source code development because it requires that certain functions be used (these virtual functions are called by several routines in the search library).

Although this package is a tool for developing problem-solving software, it is not just for programmers familiar with the concept of problem representation and search techniques. For those who are unfamiliar, the document accompanying this package briefly describes the theory of problem solving in AI and explains how to use the search class library. Since this package includes richly-commented source code and demo programs, it is useful to people who want to get acquainted with the subject of problem solving and search algorithms.

AISEARCH can be built in MS-DOS with Borland C++ or MS C++, and on UNIX using GNU C++. AISEARCH, as released on 02/10/94, is immediately available as CUG #412.