[#16113] Strange idea... exporting from a scope — "Hal E. Fulton" <hal9000@...>

Hello...

33 messages 2001/06/01

[#16364] Re: Garbage Collection? — Michael Davis <mdavis@...>

Windows 2000 and linux (RedHat 6.2). I have run these tests on both OSs.

12 messages 2001/06/09

[#16400] Symbolic Computation III — Mathieu Bouchard <matju@...>

14 messages 2001/06/11

[#16502] Playing with Ruby Syntax (was: Initial thoughts about Ruby From a Smalltalk Programmer) — jweirich@...

Michael> Hi Everyone, I have to say I'm utterly fascinated by Ruby

9 messages 2001/06/15

[#16661] Problem running irb with Ruby 1.6.4 under FreeBSD 4.0 — Bob Alexander <balexander@...>

I've installed Ruby 1.6.4 on a FreeBSD 4.0 machine, and get the

11 messages 2001/06/20

[#16686] opening db files made by apache dbmmanage — Fritz Heinrichmeyer <fritz.heinrichmeyer@...>

14 messages 2001/06/21

[#16801] rb_define_class() vs Class.new() — Kero van Gelder <kero@...4050.upc-d.chello.nl>

Hi,

18 messages 2001/06/23
[#16802] Re: rb_define_class() vs Class.new() — ts <decoux@...> 2001/06/23

>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:

[#16841] RE: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...>

Next week I'll try to rebuild Ruby with Unicode strings. But it would be

15 messages 2001/06/25
[#16842] Re: national characters is strings — matz@... (Yukihiro Matsumoto) 2001/06/25

Hi,

[#16843] Re: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...> 2001/06/25

That's good enough. But I'm afraid this could ( not would ) cause string

[#16868] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>

As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've

14 messages 2001/06/25
[#16873] RE: Something strange with Ruby's inheritance mechanism — "Aleksei Guzev" <aleksei.guzev@...> 2001/06/26

[#16879] Re: Something strange with Ruby's inheritance mechanism — Mathieu Bouchard <matju@...> 2001/06/26

On Tue, 26 Jun 2001, Aleksei Guzev wrote:

[#16869] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>

As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've

12 messages 2001/06/25

[#16881] — "Aleksei Guzev" <aleksei.guzev@...>

32 messages 2001/06/26
[#16916] Re: Method overloading (option) Was: Re: — "Wayne Blair" <wayne.blair@...> 2001/06/26

[#16920] Re: Method overloading (option) Was: Re: — matz@... (Yukihiro Matsumoto) 2001/06/26

Hi,

[#16888] finalizers, destructors and whatnot — "David Leal" <david@...>

Hi all,

16 messages 2001/06/26

[#17037] keeping an Exception object alive — David Alan Black <dblack@...>

Hello --

19 messages 2001/06/28
[#17055] Re: keeping an Exception object alive — matz@... (Yukihiro Matsumoto) 2001/06/29

Hi,

[#17066] RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/06/29

Hello --

[#17076] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — matz@... (Yukihiro Matsumoto) 2001/06/29

Hi,

[#17079] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/06/29

Hello --

[#17138] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — matz@... (Yukihiro Matsumoto) 2001/07/02

Hi,

[#17141] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/07/02

Hello --

[#17142] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — ts <decoux@...> 2001/07/02

>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:

[ruby-talk:16400] Symbolic Computation III

From: Mathieu Bouchard <matju@...>
Date: 2001-06-11 05:39:35 UTC
List: ruby-talk #16400


This third installment departs from the former two [ruby-talk:16383],
[ruby-talk:16387] in a major way. Those two were just play-dough to get
started. Why play with Ruby numeric exprs when you could deal with the
whole source code?



Now I'm going to request the attention of:

	Ruby-in-Ruby parser folks,

	Ruby-in-Java interpreter folks.



There needs to be a interface between a parser and an interpreter. Often
it's an AST system or a bytecode system. Matz has chosen the AST way with
his Ruby interpreter. Now our job is to make something similar to Matz'
AST system. But I want it like this:

1. It has to be expressed in Ruby, not in C.

2. *All* parser details go in the parser.

3. *All* interp details go in the interp.

4. The AST system must be a common middleground that allows for writing
parsers, unparsers, interpreters, compilers, decompilers, optimizers,
analyzers, refactorers, classbrowsers, obfuscators, deobfuscators,
highlighters, lintcheckers, indenters, whatevers.

5. It Must Make It Simple. I mean Simple. That's Simple to read,
understand, recite, encode in, decode out, process, transform, use in a
contorted fashion, use in an unintended fashion, extend, modify, rewrite,
extend, hack, butcher. Now to satisfy all of that at once it should do its
job, it should not do others' job, it should allow others to do their job,
there should be nothing to add, and nothing to remove. This is my kind of
Simple.

6. Therefore:

6.1. It shall be to Ruby source what DOM is to XML.

6.2. Structure of valid Ruby trees shall be expressed as a schema:
basically, a few dozen classes.

6.3. That schema should contain less rules than Matz' AST system.

6.4. Meta-types (Struct/Tuple, Choice, Array/List, Union) shall
describe how the schema is built (naming and typing), what it means, and
provide means to verify validity (as structures are created/modified, or
in a single pass when request, at choice).

6.5. Parsers will build such trees; interpreters, compilers, will read
them; optimisers will modify them; indenters will traverse them and follow
the annotations.



I am publishing a rough draft that is as broken as are any of my first
releases (see ArrayMixin/MetaRuby, RubyX11). That's called "pseudo-code" 
as in "It Doesn't Work (yet)". Even worse, it was loosely translated from
Ruby 1.4 pseudo-BNF grammar. So you are warned. (the version I gave out on
IRC was 0.0) 



	http://hostname.2y.net/~matju/MetaRuby/RubyAST-0.1.rb



matju

In This Thread

Prev Next