next up previous contents
Next: Yn-Yz Up: Linux Software Encyclopedia Previous: Xn-Xz   Contents

Ya-Ym

Last checked or modified: Feb. 4, 1999

[home / linux ]


CATEGORIES | NEW
Aa-Am | An-Az | Ba-Bm | Bn-Bz | Ca-Cm | Cn-Cz | Da-Dm | Dn-Dz | Ea-Em | En-Ez | Fa-Fm | Fn-Fz | Ga-Gm | Gn-Gz | Ha-Hm | Hn-Hz | Ia-Im | In-Iz | Ja-Jm | Jn-Jz | Ka-Km | Kn-Kz | La-Lm | Ln-Lz | Ma-Mm | Mn-Mz | Na-Nm | Nn-Nz | Oa-Om | On-Oz | Pa-Pm | Pn-Pz | Qa-Qm | Qn-Qz | Ra-Rm | Rn-Rz | Sa-Sm | Sn-Sz | Ta-Tm | Tn-Tz | Ua-Um | Un-Uz | Va-Vm | Vn-Vz | Wa-Wm | Wn-Wz | Xa-Xm | Xn-Xz | Ya-Ym | Yn-Yz | Za-Zm | Zn-Zz |


Y
A structured, general purpose programming language intended for use in simple system programming applications. It is syntactically similar to Ratfor and semantically similar to C although it doesn't support either structures or pointers. It was designed to replace Ratfor and has also been used as an experimental vehicle for research in program portability and code optimization. The compiler is a simple, one-pass compiler which parses its input using a recursive descent parser and produces assembly or object code. It is composed of a machine-independent top half which includes the storage manager, lexical analyzer, parser, and symbol table manager, and a machine-dependent bottom half which includes the code generator. This bottom half consists of global variables and 18 procedures, with porting the compiler being a matter of rewriting these procedures (e.g. generating a jump instruction). This is definitely a project for someone since I don't see the *86 processor as being one to which this has already been ported. The package is documented in a series of guides written in some sort of *roff format which translates reasonably well using Groff.

[ftp://ftp.cs.princeton.edu/pub/packages/]

Yabasic
Yet Another BASIC is a language which implements the most common and simple elements of BASIC plus some Grafic facilities. The code is available and can be installed and used on most generic UNIX platforms.

[http://www.online.de/home/ihm/basic.htm]

Yacas
Yet Another Computer Algebra System is a small and highly flexible computer algebra language that uses an infix-operator grammar parser. It includes a small library of mathematical functions as well as a language in which symbolic manipulation algorithms can be written. The features include:
  • arbitrary precision arithmetic;
  • a small HTTP server and Web interface for doing interactive calculations;
  • coded in portable C++;
  • usable in standalone or embeddable modes;
  • native support for variables and user-defined functions;
  • rational numerica, vector, complex and matrix computations (including inverses and determinants and solving matrix equations);
  • derivatives;
  • Taylor series; and
  • numerical solution procedures including Newton's method.
A source code disribution is freely available for commercial and non-commercial use.

[http://www.xs4all.nl/~apinkus/yacas.html]

yacc
Yet Another Compiler Compiler is a tool used in the creation of new languages. It recognizes patterns in a source file and associates actions (e.g. C procedures) with each pattern. The patterns yacc can recognize define the class of LALR(1) grammars which is sufficiently powerful to define almost all programming languages. The first version of yacc was written by Steve Johnson at Bell Labs in the 1970s. Many other improved versions of this tool are currently available, including the GNU Bison package. See Levine et al. (1992) and Schreiner and Friedman, Jr. (1985).

YACL
Yet Another Class Library is a C++ class library that offers high-level abstractions for common programming problems. Its class protocols are designed to be application centered and making programming with them easier, make good use of inherent C++ features, and provide adequate hooks for easy extensibility. The class protocols are platform independent so porting them is only a matter of recompiling on a new platform.

YACL includes two kinds of core classes (data types and container classes) as well as data storage and graphical user interface classes. The GUI library features include:

  • portable abstractions for building GUIs based on the MVC (model view controller) paradigm,
  • use of the native API for the given platform's look and feel,
  • GUI objects well integrated with the base libraries,
  • standard objects or widgets (e.g. menus, dialogs, buttons, etc.),
  • graphic resource objects (e.g. cursors, fonts, pens, colors, etc.),
  • graphic objects (e.g. bitmaps, ellipses, 3-D graphics, etc.),
  • easy composition of basic objects, high reusability, and
  • many demo programs.

YACL will compile and run on Windows 3.1 and NT, IBM OS/2, SGI IRIX, Sun Solaris, and several other UNIX platforms with X Windows and Motif using GNU C++ 2.6.1 or later. The latter platforms include Linux boxes. The documentation is the expensive part of this freely available class library. It is contained in the book Building Portable C++ Applications with YACL by M. A. Sridhar, the author of the package.

[http://www.cs.sc.edu/~sridhar/yacl/]

YAFL
A research language covering the design and implementation of a new object-oriented language as well as several attached programming tools. The project was begun to provide a higher-level development system such UNIX-like platforms that provide an assembler and a low-level language like C as part of the distribution system. YAFL is an object-oriented language system that represents the world as a network of connected objects with messages moving between the objects. Significant features of YAFL include:
  • compiler support wherein, as part of its standard library, it provides the classes and methods needed for compilation, i.e. the intermediate compilation states are usable as documneted YAFL structures and the compilation passes as YAFL methods;
  • a full-featured garbage collector; and
  • a three pass compilation processes starting with a hand-written and modularized parser, proceeding to a tagger which performs the semantic checks and tree transformations needed to ready the parser output for code generation, and finishing with the code generator which detects panic conditions.
A source code distribution is available. It is written in C and designed to compile on most standard UNIX systems.

[http://www.phidani.be/yafl/index.html]

yagIRC
Yet Another GTK IRC client is a graphical IRC client based on the GTK library. It supports multiple concurrent server connections, DCC, ircII-style layering of dialogs, multiple windows, GNOME, etc. It can be run with a GUI, a text-based interface, or without an interface as a bot. It is also fully scriptable using Perl. A source code distribution is available which requires GTK and Imlib for compilation and Perl for the scripting capabilities.

[http://www.elpaso.net/~spoon/yagirc/]

YAP
A program for the display of 2D slices of a 3D rectangular grid. It is written in C, menu driven, and requires the Motif library for compilation and use. It reads ASCII files in the GSLIB format or in a YAP specific format. The 2D slices can be visualized on screen or output to PostScript format files, either in grey scale or color. The program also compiles some simple statistics, e.g. means and standard deviations, and can display a histogram of the slice or of the entire 3D volume. The source code is available as well as a 25+ page manual in PostScript format.

[ftp://banach.stanford.edu/graphlib/yap]

Yard
A suite of Perl scripts for creating rescue disks, i.e. single floppy disks with a kernel, a filesystem, and other programs such as hard disk diagnosis and manipulation utilities needed to reboot a system. The features include:
  • building rescue disks from a list of file specifications;
  • automatic determination of needed libraries and loaders;
  • stripping of binaries and libraries during copying;
  • automatic regeneration of ld.so.cache;
  • checking for broken symlinks;
  • checking /etc/(fstab,inittab,termcap) for common problems;
  • checking user directories and files mentioned in /etc/passwd;
  • checking command files for missing binaries and interpreters;
  • automatic filesystem compression and copying;
  • can be used with or without LILO;
  • making single of double disk rescue sets; and
  • extensive checking of user choices and execution errors.
A source code distribution is available.

[http://www.croftj.net/~fawcett/yard/]

YaRET
Yet another Ripper-Encoder-Tagger is a Perl script that automatics the ripping, encoding and tagging of audio CDs.

[http://lorien.intranet-team.it/~mnencia/yaret/]

YASP
Yet Another SGML Parser is, as the name suggests, a parser for SGML documents.

[ftp://ftp.edf.fr/pub/SGML/YASP/]

YAZ
Yet Another Z39.50 Toolkit is a toolkit for implementing the Z39.50v3 protocol. It supports both the Z39.50 and ISO10163SR protocols as well as the TCP/IP transport method and the OSI upper-layers (using a separate XTI/mOSI implementation) over RFC-1006. Both the Origin (client) and Target (server) roles of the protocol are supported. A sample client and server are included in the distribution.

The YAZ toolkit offers several different levels of access to the Z39.50 and SR protocols. The basic level consists of three primary interfaces: ASN, which provides a C representation of the Z39.50/SR protocol packages; ODR, which encodes and decodes the packages according to the BER specification; and COMSTACK, which exchanges the encoded packages with a peer process over a network. These combined interfaces comprise the service level API which closely models the Z39.50/SR service/protocol definition and provide unlimited access to all fields and facilities of the protocol definitions.

The YAZ package is written in ANSI C and designed for portability. It is documented in a user's guide available in PostScript, ASCII, and HTML formats. YAZ provides the Z39.50/SR interface for the IrTcl system.

[http://www.indexdata.dk/yaz.html]

Ygl
A graphics library that emulates SGI's OpenGL routines under the X Window system. It includes most of the 2-D graphics routines, the queue device routines, some query routines, doublebuffering, RGB mode with dithering and some window attribute routines. On at least one machine Ygl is up to twenty times faster than GL, and 2-D graphics will run on non-GL hardware and on remote X servers. Ygl has interfaces for both C and Fortran.

Ygl uses several environment variables to control such behavior as specifying private colormaps, adjusting graphics pipeline flushing times, controlling the parent window, controlling dithering in RGB mode, etc. It also supports doublebuffering. The routines supported by Ygl include:

  • GL window related routines (e.g. minsize, maxsize, gconfig, winmove, winpop, swinopen, etc.);
  • color related routines (e.g. RGBmode, RGBcolor, mapcolor, getplanes, getcolor, c3s, etc.);
  • device related routines (e.g. qdevice, qreset, qread, etc.);
  • menu routines (defpup, newpup, dopup, etc.);
  • font routines (e.g. loadXfont, font, strwidth, etc.);
  • doublebuffer routines (e.g. doublebuffer, swapbuffers, etc.);
  • miscellaneous routines (e.g. gversion, rectcopy, readpixels, getgdesc, etc.), coordinate transformation routines (viewport, ortho2, getmatrix, etc.); and
  • drawing routines (pnt2s, circ, endline, sbox, rects, etc.).
It also has some routine not included in standard GL.

The source code is available and is known to compile under AIX, HP-UX, Linux, SunOS, ConvexOS and others. An ANSI-C compiler (such as GCC) is needed. I've compiled it successfully on my Linux box. The documentation is mostly online in hypertext format as well as in the manuals for the standard GL that Ygl replicates.

[http://www.thp.uni-duisburg.de/Ygl/ReadMe.html]

yman2html
A program that converts man pages into HTML format. It can be used as a CGI script or as a standalone program. In addition to the basic conversion, it can also generate a table of contents, link to other man pages and info files, and make mailto:, http: and ftp: links. This Perl script is available under the GPL.

[http://www.toetsch.at/en/tips/linux/99/26.htm]

YMODEM
A file transfer protocol used for the transmission of text and binary files over asynchronous communications lines, e.g. phone lines. YMODEM is basically the earlier XMODEM protocol with various enhancements such as batch transmission capabilities, with some of the enhancements also originally used as XMODEM protocol extensions. The extensions to XMODEM were developed because of weaknesses in the original protocol including:
  • a short block length that hindered throughput when used with timesharing systems, packet switched networks, satellite circuits and buffered modems;
  • an 8-bit arithmetic checksum that hindered dependable and accurate transfers in the presence of line impairments;
  • sending only one file per command; and
  • loss of the modification date of files.
An enhanced version called YMODEM-g was introduced with provided more efficient batch file transfers and preserved exact file length and modification date. This was ultimately superseded by the ZMODEM protocol.


next up previous contents
Next: Yn-Yz Up: Linux Software Encyclopedia Previous: Xn-Xz   Contents
Manbreaker Crag 2001-03-08