Tycho is an object-oriented syntax manager with
an underlying heterogeneous technical rationale.
It provides a number of editors and graphical widgets
in an extensible, reusable framework.
The editors for textual syntaxes are modeled after
emacs in
the sense the emacs key bindings are used when possible.
Editors for visual syntaxes will be more diverse.
The system documentation is integrated, using a hypertext
system compatible with the worldwide web.
Tycho has been designed primarily for use with the
Ptolemy system, a heterogeneous design environment
from U.C. Berkeley, but it is also useful on its own.
Version 0.1 is the first public release of Tycho as a stand-alone system.
It runs under the vanilla Itcl 2.0 and 2.1 with no changes to the executable.
It also runs under the Ptolemy system, a design environment distributed
by the same group that developed Tycho.
The editor capabilities are currently limited to textual syntaxes; although
we have considerable work in progress on graphical editors, that code
is not ready for release yet.
Tycho0.1 can be obtained from
http://ptolemy.eecs.berkeley.edu/tycho/Tycho.html
Here is a summary of the capabilities:
Tycho Kernel
-
A family of dialog windows, including basic message windows
(both modal and non-modal), yes-no queries, queries for text entry,
and queries with radio buttons.
-
A list browser and derived file browser and index browser.
These browsers support pattern-based search.
-
An Emacs-like text editing widget that significantly extends
the capabilities of the Tk text widget, including a sophisticated
search capability, undo/redo, text filling, and carefully designed menus
and key bindings.
-
A shell-like console for interacting with Tcl with a thorough
history mechanism fashioned after the Unix tcsh.
-
An integrated documentation system based on HTML with automatic
index generation and an index search mechanism.
-
Support for hyperlinks from any Tycho editor or display to any other Tycho
editor or display.
-
A context-sensitive spelling checker (for example, it checks the spelling
only in comments when editing code).
-
Interfaces to SCCS and RCS revision control systems.
-
A font management system that includes an interactive dialog for
selecting fonts.
-
Error handling with a stack display.
-
Auto-save and crash recovery (although the crash recovery
will only work with modifications to the executable, currently
only available with the Ptolemy distribution).
-
Some elementary data structures: Stack, CircularList, Graph,
DirectedAcyclicGraph, Forest.
Editors and Shells
In addition to the basic emacs-like text editor described above
and the Tcl shell, a number of additional editors and shells have been designed.
The editors provide capabilities similar to those of emacs modes,
although the potential goes beyond what emacs can do because of
the future inclusion of graphical elements.
The editors and shells included in release 0.1 are:
-
C and C++ editors. These
color and fill comments and handle indentation.
-
HTML editor. This editor parses HTML commands, supports
hyperlinks, and provides a command to check the validity of hyperlinks.
-
Itcl and Tcl editors.
These editors color and fill comments, handle indentation, and color class,
procedure, and method names. They also support "evaluate" commands,
where either a selected region or the entire file can be evaluated.
-
Makefile editor.
This editor colors comments, variable definitions, variable
references, rules, and various directives.
-
Ptlang editor.
This is an editor for designing blocks in Ptolemy.
-
Matlab and Mathematica consoles. These will only appear if
the appropriate Tcl extensions for interaction with Matlab and
Mathematica have been installed.
tydoc
- The Tycho documentation system
Tycho0.1 also includes tydoc
, a script that converts itcl to html.
Tycho 0.1 Limitations and Bugs
Up to: Tycho Introduction -
Previous: Release Notes -
Next: Installing Tycho -
Tycho Home Page
Copyright © 1996, The Regents of the University of California.
All rights reserved.
Last updated: 96/12/12,
comments to: tycho@eecs.berkeley.edu