Looking for tools for support of theoretical informatics research

Hannes Hirzel hannes.hirzel.squeaklist at bluewin.ch
Fri Jul 11 15:11:50 UTC 2003


Hi Zbyněk

Zbyněk Křivka wrote:

> Hi, I'm quiet new Squeaker but I decided to try to create some
> collection of classes for support of research of languages and
> automatas (theoretical informatics).
Welcome! We could definitively use more in this area for teaching purposes.
...

> So I would like you to let me know about some classes (which can be
> used for free of course:-) and maybe interested people and so on.

MIT and Squeak License...
Basically all the things which have been written and are more or less
actively maintained are on the SqueakMap catalogue. So if you don't find
what you want there and in the image it does not exist (at least
it is not perceived by the Squeak community).


> What interest me and what are my targets with this project:

 > 1) models and data structures of grammars for context-free languages,
    context languages, L0 language

I think we could need thins in this area.


 > 2) automatas (push-down automata, finite-state automata,
    turing machine

AFAIK we could use some packages which illustrate these issues.
Ned Konz once wrote that he had been working on a SFM implementation
to use together with his Connectors package. The idea is to draw a state
diagram and animate it and generate algorithms from it.


 >3) algorithms for working with grammars, for generating parsers for
> grammars, for generating tables for synthactical analysis, basic
> algorithms of theoretical informatics (evaluating of sets FIRST and
> FOLLOW, generating derivation-tree and similar), etc.
There is SmaCC a Squeak Compiler-Compiler
http://map1.squeakfoundation.org/sm/package/890450b1-e943-4147-9a47-b0ab537288c3




>  - I would like to program set of classes which can be used for
> experiments with new/modified method of parsing of languages (not
> only context-free and regular). So it should be easier to create
> experimental programs using existing collection (I expect fight
> between theory and practical programming:-).

A straightforward thing which comes into mind is to use the parser classes
already contained in Squeak which parse Smalltalk. Dan Ingalls once came
up with alternate syntax views.

However the problem with these classes is  that they are not cleaned up, 
they contain a lot of additional things which somehow obfuscate the 
parsing algorithm used.

Anthony Hannan did a clean-up work on the parser classes one or two 
years ago (it took him months to do it) but unfortunately that work is 
still one hold AFAIK, because of VM changes which have to be made before 
and that involves changing the image format. People have been reluctant 
to change the image format so far. I do not understand that as I always 
keep a VM together with the images it works on. However so it is a the 
moment.

Tim Rowledge and of course Anthony can answer questions about this issue 
much better.

The nice thing to go for would be to have Anthonys work folded into
the main release, to discuss and perhaps enhance it and come up with 
subclasses for various other types of syntaxes and languages.

In this context it might be noted that Anthony began a little subproject 
called Squid which could be very
interesting from a theoretical point of view as well; just search the
mail archive for 'Squid' (and perhaps ask him for a status report).


Regards

Hannes Hirzel




More information about the Squeak-dev mailing list