From: Mathieu Bouchard Date: 2002-01-18T06:23:18+09:00 Subject: Re: this ruby-parser On Wed, 16 Jan 2002, markus liedl wrote: > > On Sun, 13 Jan 2002, Mathieu Bouchard wrote: > Do you want to be the new ruby-parser maintainer? Oh boy. I actually waited half a year for someone else to do the work because I didn't want to mess with parsers. I guess I can do some maintenance on it (getting cvs commit perms)... > I'm currently spending each free minute on a Ruby VM, and I will keep doing > so, so that I can relase something (yet again pre-alpha) in a few weeks. Can you give me more information on that Ruby VM ? is it Robert's project or your own project ? What are its main design principles ? (didn't we talk about this particular project in the past?) > You said that RubySchema should be the 'meaning-conveying parts'. `$_' and > `$some_global_var' have different meaning, especially in a multithreaded > environment. I'd prefer VarSpecial, or SVar. Global vars are very much *special* vars; they're the only real variables that can be traced (Kernel.#trace_var). I guess the $ can be considered as a slashed S where S stands for special. I want you to note that although many $-vars with non-text names have special scoping, many others don't, and in addition some $-vars with text names have special scoping (e.g. $SAFE). I'm not too sure I want to separate those cases in the parser. Maybe it would become like that one day, but for now I'd prefer to keep them together. BTW is it normal that "alias" on global vars appears exactly the same as assignment, except with the more special vars? $foo=42 $bar=210 alias $foo $bar $foo #==> 210 $foo = :hello $bar #==> 210 alias $foo $_ $foo #==> nil $_ = 42 $foo #==> 42 $foo = :blah $_ #==> :blah > Removing Statment,Expr,Arg,Literal > Would be absolutely no problem for me. thanks for your opinion. > `%c{}' `%u{}' > I dislike the syntax; (even `%w'; it's handy, but not nice;) looks too > much like Perl. "Looks too much like Perl" is a real bad excuse and I don't want to hear it. > Couldn't one borrow the syntax from Lisp Macros? You really don't want to do that. Even though Lisp list-interpolation does it more nicely than my Perl-looking constructs, they rely on the fact that Lisp doesn't have many special characters; Ruby is full of special characters. You know what the Lisp syntax is for that? Backtick for a semi-quote (that's %c{}), comma for an interpolation (that's %u{}). Comma! is there any other Ruby char less overloadable than the comma? > Using % to mean 'quote' is ok, but then the single character... w does not > really imply word. Please explain. ________________________________________________________________ Mathieu Bouchard http://hostname.2y.net/~matju