musing around with the compiler

stéphane ducasse ducasse at iam.unibe.ch
Thu Feb 17 18:29:04 UTC 2005


Hi boris

> As you mentioned a new compiler, I do not feel myself
> motivated to fix the old one - I would rather wish to test
> and perhaps to review the new one.

Yes this would be great to build a group to help marcus
and to prepare the migration. For example, error handling
if not really supported and this should be added using Smacc.

> Nevertheless, I want to add these remarks:
>
> Our current code maintains a distinction between interactive
> and non-interactive use of the compiler. A use is considered
> an interactive one when you provide a ParagraphEditor as
> receiver of possible notifications. Anything else is considered
> a non-interactive use.

Yes I saw.

> I think that this is not the complete image: In fact we know
> about three different use cases:
>
> 1. 'File In':
> During file in of code we write a message into the Transcript
> and continue. This is an appropriate approach as it allows us
> to detect a lot of errors at a time.
>
> 2. 'Interactive':
> We have a notification receiver that is required to understand
> the protocol of a ParagraphEditor. The notification receiver is
> expected to display a piece of text. The parser (yes, regrettably
> the parser!) displays a menu and processes the user's response.
> The menu offers some proposals to fix a bug.
>
> 3. 'Direct call of the compiler'
> This is what you did. For 'direct compiler call' you expect
> to get an exception when things went wrong.


But some of the logic is defined in ....Browser :)

> Currently the use cases 'File In' and 'Direct Call' are
> both considered non-interactive uses of the compiler.
>
> When we incorporate exception handling into the compiler,
> we can say that the use cases have the responsibility to
> provide appropriate exception handlers. The required
> handlers are:
>
> Use case 'File In':
> Handler to write a message into the Transcript and to resume
> parsing.
>
> Use case 'Interactive'
> Handler to highlight a portion of text, to display a menu
> and to process the user's response.
>
> Use case 'Direct compiler call':
> No handlers required; Exceptions will be handled by the
> caller or will show up in a notifier.
>
> Is all this done in the new compiler or should we review
> it once again?

I do not know but as I say if would be really nice that a group of
people can help marcus because he did a lot already and when I saw the 
old
compiler then I think that the new one is important.

Stef




More information about the Squeak-dev mailing list