[#13436] Re: Using Antlr for Ruby? (was RE: Re: why won't "( a) = 1" parse?) — Christophe Broult <cbroult@...>
> -----Original Message-----
On Mon, 2 Apr 2001, Christophe Broult wrote:
On Mon, 02 Apr 2001 21:29:26 +0900, Robert Feldt wrote:
[#13450] Asking ruby to provide valid list of signals. — Lloyd Zusman <ljz@...>
Is it possible to somehow retrieve the names of all the signals that
[#13479] Method and Proc equality — Eric Crampton <EricCrampton@...>
I'm using ruby 1.6.3 (2001-03-19) [i686-linux]. Given the following
Eric Crampton <EricCrampton@worldnet.att.net> writes:
On Wed, 4 Apr 2001, Dave Thomas wrote:
Robert Feldt <feldt@ce.chalmers.se> writes:
[#13491] formatting source code — "Luthy Craig" <LuthyCraig@...>
Hi,
[#13500] Ruby web hosting requirements — james@... ("James Britt")
I've been looking for a web hosting company that provides Ruby (as well
[#13510] Re: BUG?: HP-UX 10.20 and IO#gets followed by IO#puts — ts <decoux@...>
>>>>> "S" == SHULTZ,BARRY (HP-Israel,ex1) <barry_shultz@hp.com> writes:
[#13553] array question — Tjabo Kloppenburg <tk@...>
hi,
[#13568] persistent ruby? — Phil Mitchell <philmi@...>
[#13570] ruby-talk volume info? — Robert Feldt <feldt@...>
Hi,
Robert Feldt wrote:
[#13571] basic UNIX command and Ruby — Yoshinari Fujino <y.fujino@...>
Dear Rubyists
[#13589] All In A Row? — "John Kaurin" <jkaurin@...>
I thought I saw something like this in my early readings on Ruby, but I
[#13618] Re: No such file to load -- net/ftp (LoadError) — ts <decoux@...>
>>>>> "J" == John Cook <john.cook@bjss.co.uk> writes:
[#13620] resolver class — meredith <msnomer@...>
Has anyone written one? If not, is anyone up to writing one? I've never
[#13646] Re: operator + — ts <decoux@...>
>>>>> "L" == Luigi Ballabio <luigi.ballabio@riskmap.net> writes:
[#13676] interating for separate values... — "Seo ji won" <skidrow@...>
I know that in ruby I can do this..
[#13703] Ruby on a JVM - good or bad idea? — Stefan Matthias Aust <sma@3plus4.de>
Hi!
On Monday 16 April 2001 10:11, Stefan Matthias Aust wrote:
[#13706] Re: methods and types — "Jish Karoshi" <karoshijish@...>
Bernd Lorbach wrote:
[#13716] Ruby threading implementation docs? — "Lyle Johnson" <ljohnson@...>
Has anything been written down (in English) about Ruby's threads
[#13735] RCR: trivial but useful add-ons — "Guy N. Hurst" <gnhurst@...>
Hi,
[#13775] Problems with racc rule definitions — Michael Neumann <neumann@...>
Hi,
Minero Aoki wrote:
Minero Aoki wrote:
Hi,
[#13784] Web Applications — "Erich Schubert" <newsgroups@...>
Has someone made a framework for web applications?
[#13811] Re: IOWA Re: Web Applications — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From Avi Bryant <avi@beta4.com> =====
> It depends very much on what your goals are. Yes, there is a need for
[#13812] Re: local vars in case — ts <decoux@...>
>>>>> "T" == Thomas Junier <tjunier@pcisrec-d402b.unil.ch> writes:
[#13818] Re: winoldap — "Conrad Schneiker" <schneik@...>
Jonathan Conway wrote,
[#13845] number to string to number — Robert Najlis <rnajlis@...>
Am I doing something wrong (maybe - I am pretty new to Ruby)? it seems
[#13849] BlackAdder for Ruby (scintilla rules) — Wyss Clemens <WYS@...>
Shawn,
[#13852] Re: Ruby on a JVM - good or bad idea? — ts <decoux@...>
>>>>> "M" == Mathieu Bouchard <matju@sympatico.ca> writes:
[#13860] use strict + nested data structures in Ruby — tarael200@... (Tarael200)
Hello,
[#13902] Ruby/GUI option: Ruby/Apollo (Delphi VCL) — "Conrad Schneiker" <schneik@...>
Some time ago, Hal Fulton had some good things to say about Apollo:
[#13911] Re: Net::HTTP basic authentication — ts <decoux@...>
>>>>> "d" == dsharp2@nc rr com <dsharp2@nc.rr.com> writes:
[#13921] File permissions — Farrel Lifson <flifson@...>
Hi all,
[#13934] [ANN] xmlrpc4r 1.6.1 — Michael Neumann <neumann@...>
[#13940] From Guido, with love... — Dave Thomas <Dave@...>
On Sun, 22 Apr 2001 04:38:04 +0900, "Mitch Vincent" <mitch@venux.net>
#
-----BEGIN PGP SIGNED MESSAGE-----
[#13953] regexp — James Ponder <james@...>
Hi, I'm new to ruby and am coming from a perl background - therefore I
I'm interrested in this question, too:
[#13957] Bug? retry not working properly in 1.6.3 — Truls Alexander Tangstad <trulsat@...>
From the example in "Ruby User's Guide", section 9, "Iterators", there is an
>>>>> "D" == Dave Thomas <Dave@PragmaticProgrammer.com> writes:
Hi,
I'm having a strange problem with Apache and some Ruby
[#14002] Visual SlickEdit — "John Kaurin" <jkaurin@...>
I have been using Visual SlickEdit (VSE) with Ruby since I began programming in Ruby
[#14033] Distributed Ruby and heterogeneous networks — harryo@... (Harry Ohlsen)
I wrote my first small distributed application yesterday and it worked
In article <3ae3323d.134494793@news-server>,
On Mon, 23 Apr 2001, Phil Tomson wrote:
[#14040] RCR: getClassFromString method — ptkwt@...1.aracnet.com (Phil Tomson)
It would be nice to have a function that returns a class type given a
On Sun, 22 Apr 2001 21:24:52 GMT, ptkwt@shell1.aracnet.com (Phil
In article <988034673.396094.26164.nullmailer@ev.netlab.zetabits.com>,
[#14052] OO — James Ponder <james@...>
I'm new to Ruby, and am just starting my first app - coming from a C and
[#14092] Ruby module for AOLserver. — Chiriac Petrica Clement <clement@...>
Hi,
[#14100] Re: RCR, strange things in $: — "Benjamin J. Tilly" <ben_tilly@...>
ts <decoux@moulon.inra.fr> wrote:
[#14101] I have crossed the Rubicon! — as646@... (John Robson)
[#14103] Re: Negative Reviews for Ruby and ProgrammingRuby — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From Paul Prescod <paulp@ActiveState.com> =====
[#14106] How does one interpret a RUBY.EXE.stackdump file? — ptkwt@...1.aracnet.com (Phil Tomson)
I got the following message running a ruby script on Win98:
> I got the following message running a ruby script on Win98:
In article <000101c0cc3d$74141b40$0201a8c0@NATHANIELS7500>,
[#14130] Re: Ruby mascot proposal — "Conrad Schneiker" <schneik@...>
Guy N. Hurst wrote:
On Tue, 24 Apr 2001, Conrad Schneiker wrote:
Hi,
On Tuesday 24 April 2001 23:02, Yukihiro Matsumoto wrote:
On Wed, 25 Apr 2001, W. Kent Starr wrote:
[#14138] Re: python on the smalltalk VM — Conrad Schneiker <schneik@...>
FYI: Thought this might be of interest to the JRuby and Ruby/GUI folks.
Conrad Schneiker <schneik@austin.ibm.com> writes:
Hello.
Ok, this may be a dumb question, but, is it possible to insert into an
Jim Freeze <jim@freeze.org> writes:
I have an array where I need to delete several entries.
At Wed, 25 Apr 2001 01:28:36 +0900,
Hi,
On Fri, Apr 27, 2001 at 11:26:37PM +0900, Yukihiro Matsumoto wrote:
Chris Moline wrote:
[#14187] Re: the alternative proposal is way cooler; — "Conrad Schneiker" <schneik@...>
I wrote:
[#14189] Re: Ruby mascot proposal — "Conrad Schneiker" <schneik@...>
Matz wrote:
Hi,
[#14221] An or in an if. — Tim Pettman <tjp@...>
Hi there,
On Wed, 25 Apr 2001, Tim Pettman wrote:
Why do I get the following output
Hi,
On Thu, Apr 26, 2001 at 01:13:47AM +0900, Yukihiro Matsumoto wrote:
[#14222] Re: Ruby mascot proposal — John Tobler <jtobler@...>
spwhite@chariot.net.au wrote:
[#14236] Ruby vs. Tcl input/output question — bw <donotreply@...>
[I am new to ruby]
[#14246] converting some 'eval's from perl — ptkwt@...1.aracnet.com (Phil Tomson)
[#14262] Ruby on Windows problem — Karl Lopes <karl_lopes@...>
Hello,
Hello Karl,
Yes, all those paths are set. When I try to start irb,
[#14266] how change instances class — "Henning VON ROSEN" <hvrosen@...>
Sorry, din't find it in pickaxe:
[#14267] Re: Ruby mascot proposal — "Conrad Schneiker" <schneik@...>
Danny van Bruggen,
My 2 cents:
[#14274] Re: Ruby mascot proposal — John Tobler <jtobler@...>
Phil (ptkwt@shell1.aracnet.com) wrote:
[#14281] basic socket question — "R. Mark Volkmann" <volkmann2@...>
This should be an easy one for anyone that has successfully used sockets in
[#14298] Re: Ruby mascot proposal. Will this end ? — "Conrad Schneiker" <schneik@...>
Q: "Ruby mascot proposal. Will this end?"
[#14330] The Ruby Programming Language Book by Matz — as646@... (John Robson)
[#14334] Immutable Arrays? — Johann Hibschman <johannh@...>
Hi folks,
[#14339] gtk and Float/to_f — Thomas Lundqvist <thomasl@...>
Hi! I experience the following strange behavior:
[#14341] array as index to array — jonas <jonas.bulow@...>
Hello list! :-)
[#14359] Where for art thou, rdtool for Win9x? — "J J" <jj5412@...>
Can anyone tell me where I can get a functional rdtool for Win9x? I scoured
[#14387] Re: Whither SmallScript? (was Re: Integer micro-benchmarks) — "David Simmons" <pulsar@...>
"Andrew Hunt" <andy@toolshed.com> wrote in message
[#14390] [REPOST] Retrieving current signal handler without altering it — Lloyd Zusman <ljz@...>
[ Note: I posted this question a couple weeks ago, but I'm not
[#14399] Ruby Conference T-shirt — "Guy N. Hurst" <gnhurst@...>
[#14417] Embedded Ruby w/ Apache: Forbidden error — "J J" <jj5412@...>
Hi,
[#14448] How to do it the Ruby-way 2 — Stefan Matthias Aust <sma@3plus4.de>
Hi again,
[#14452] How to do it the Ruby-way 3 — Stefan Matthias Aust <sma@3plus4.de>
First a question: Why is
Hi:
Hi:
Hi,
On Wed, 2 May 2001, Yukihiro Matsumoto wrote:
[ruby-talk:13627] Re: Parser? (a bit long)
Robert,
Cool! I anticipate the major release of this rockit Ruby parser
generator very much. A couple of questions: does it resemble Perl's
parse::recdescent in any way? (if you happen to know about it.) Is it
a top-down or bottom-up design? Is the grammar LL(n) or non-LL?
Thanks,
Eric
On Fri, 16 Mar 2001 23:07:59 +0900, Robert Feldt
<feldt@ce.chalmers.se> wrote:
>On Fri, 16 Mar 2001 jjthrash@pobox.com wrote:
>
>> If I may ask, what does your parser allow/do?
>>
>Short answer: Parses Ruby code in a string to an abstract syntax tree
>(AST) without you having to build the tree by hand.
>
>Long answer:
>The Ruby parser is one example in rockit (Ruby Object-oriented Compiler
>construction toolKIT), a lib of compilation-related classes I started
>develop as a part of RubyVM (see previous posts on this). Rockit will take
>a textual description of your grammar and give you back a parser (or the
>Ruby code for a parser). This is much like yacc, bison etc. but you don't
>need to write action code; the parser will give you back an abstract
>syntax tree (using a special way to specify the AST in the grammar). This
>is good when compiling since you will want to make multiple passes over
>some tree structure; the parser can as well build it for you as you having
>to do it by hand. It's flexible even if it will not be the fastest
>approach if you have a specific "translation" goal in mind.
>
>Current status is that the parser generator in rockit bootstraps itself
>and works correctly with some small grammars (couple of calculators and a
>minibasic interpreter). It doesn't work correctly with the Ruby
>grammar since I haven't implemented any conflict resolution
>(precendence and associativity for operators most notably). So this is
>still vaporware ;-), with some decision to be taken and some code to be
>written. So I won't make it more vaporish by telling you whats planned
>after that... :-)
>
>Below you'll find an example of a grammar and interpreter for minibasic
>(well it can handle Bignum's so just a tad more powerful than traditional
>Basic... :-)) together with example basic code. Sorry for the long lines
>wreaking up to formatting.
>
>Regards,
>
>Robert
>
>----------------------------------
>Rockit grammar for minibasic:
>----------------------------------
>Tokens
> blank = /(( )|(\t)|(\v))+/ [:IGNORE]
> identifier = /[A-Z]([A-Z]|\d)*/
> number = /\d+/
> string = /"[^\r\n]*"/
> new_line = /(\r\n)|(\r)|(\n)/
>
>Productions
> statements -> statement+ [Statements: statements]
> statement -> 'IF' condition 'THEN' new_line
> statements
> optional_else?
> 'ENDIF' new_line
>
>[If: _,condition,_,_,statements,optelse,_,_]
> | 'FOR' identifier ':=' expression 'TO' expression new_line
> statements
> 'NEXT' new_line
>
>[For: _,ident,_,from,_,to,_,statements,_,_]
> | 'READ' identifier new_line
> [Read: _,ident,_]
> | 'PRINT' expression new_line
> [PrintExp: _,expression,_]
> | 'PRINT' string new_line
> [PrintString: _,string,_]
> | 'PRINTLN' new_line [PrintLn]
> | identifier ':=' expression new_line
> [Assignment: ident,_,expression,_]
> optional_else -> 'ELSE' new_line statements
> [Else: _,_,statements]
> condition -> expression '<' expression
> [LessThan: left,_,right]
> | expression '>' expression
> [GreaterThan: left,_,right]
> | expression '=' expression
> [Equal: left,_,right]
> expression -> value [Value: val]
> | value '+' value [Plus: left,_,right]
> | value '-' value [Minus: left,_,right]
> | value '*' value [Mul: left,_,right]
> | value '/' value [Div: left,_,right]
> | value 'MOD' value [Mod: left,_,right]
> value -> number [Constant: num]
> | identifier [Identifier: ident]
> | '(' expression ')' [Paran: _,expr,_]
>
>----------------------------------
>Minbasic interpreter in Ruby:
>----------------------------------
>require 'minibasic_parser'
>parser = MiniBasic.parser
>$vars = Hash.new(0) # For variables and their values. Default value is 0.
>
>def mb_eval(ast)
> case ast.node_name
> when "Statements"
> ast.statements.each {|statement| mb_eval(statement)}
> when "If"
> if mb_eval(ast.condition) # What is true and false in basic?
> mb_eval(ast.statements)
> elsif ast.optelse
> mb_eval(ast.optelse)
> end
> when "For"
> from, to = mb_eval(ast.from), mb_eval(ast.to)
> (from..to).each do |i|
> $vars[ast.ident.lexeme] = i
> mb_eval(ast.statements)
> end
> when "Read"
> print "? "; STDOUT.flush
> $vars[ast.ident.lexeme] = STDIN.gets.to_i # Error catching?!
> when "PrintExp"
> print mb_eval(ast.expression).inspect; STDOUT.flush
> when "PrintString"
> print ast.string.lexeme[1..-2]; STDOUT.flush
> when "PrintLn"
> print "\n"; STDOUT.flush
> when "Assignment"
> $vars[ast.ident.lexeme] = mb_eval(ast.expression)
> when "Else"
> mb_eval(ast.statements)
> when "LessThan"
> mb_eval(ast.left) < mb_eval(ast.right)
> when "GreaterThan"
> mb_eval(ast.left) > mb_eval(ast.right)
> when "Equal"
> mb_eval(ast.left) == mb_eval(ast.right)
> when "Value"
> mb_eval(ast.val)
> when "Plus"
> mb_eval(ast.left) + mb_eval(ast.right)
> when "Minus"
> mb_eval(ast.left) - mb_eval(ast.right)
> when "Mul"
> mb_eval(ast.left) * mb_eval(ast.right)
> when "Div"
> mb_eval(ast.left) / mb_eval(ast.right) # Catch div by 0?
> when "Mod"
> mb_eval(ast.left) % mb_eval(ast.right) # Catch mod by 0?
> when "Constant"
> ast.num.lexeme.to_i
> when "Identifier"
> $vars[ast.ident.lexeme]
> when "Paran"
> mb_eval(ast.expr)
> end
>end
>
>File.open(ARGV[0], "r") do |bf|
> ast = delete_unnamed_nodes(parser.parse(bf.read))
> mb_eval(ast)
>end
>
>------------------------
>Minibasic example:
>------------------------
>PRINT "I can sum even numbers."
>PRINTLN
>PRINT "At what number should I start summing"
>READ START
>PRINT "At what number should I stop"
>READ STOP
>SUM := 0
>FOR I := START TO STOP
> IF (I MOD 2) = 0 THEN
> SUM := (SUM + I)
> ENDIF
>NEXT
>PRINT "The sum of all even numbers between "
>PRINT START
>PRINT " and "
>PRINT STOP
>PRINT " is = "
>PRINT SUM
>
>