[#18436] [ANN] Ruby 1.9.1 feature freeze — "Yugui (Yuki Sonoda)" <yugui@...>
Hi all,
On Tue, Sep 2, 2008 at 3:09 PM, Yugui (Yuki Sonoda) <yugui@yugui.jp> wrote:
Michael Fellinger schrieb:
On 12/09/2008, Michael Neumann <mneumann@ntecs.de> wrote:
Hi,
Hi, Yusuke
Hi,
Ryan Davis wrote:
Dave Thomas wrote:
Jim Weirich wrote:
On Wed, Oct 8, 2008 at 3:05 AM, Ryan Davis <ryand-ruby@zenspider.com> wrote=
On Wed, Oct 08, 2008 at 09:28:22PM +0900, Austin Ziegler wrote:
2008/10/8 Paul Brannan <pbrannan@atdesk.com>:
T24gV2VkLCBPY3QgOCwgMjAwOCBhdCA0OjM4IFBNLCBQaXQgQ2FwaXRhaW4gPHBpdC5jYXBpdGFp
Trans wrote:
Hi,
Hi,
NARUSE, Yui wrote:
On Fri, Oct 3, 2008 at 12:01 AM, David Flanagan <david@davidflanagan.com> wrote:
[#18437] Class as second-generation singleton class — "David A. Black" <dblack@...>
Hi --
[#18444] [PATCH] remove timer signal after last ruby thread has died — Joe Damato <ice799@...>
Hi -
Hi,
[#18446] Global constants and other magic in 1.9 stdlib — "Michal Suchanek" <hramrach@...>
Hello
On Thu, Sep 4, 2008 at 05:01, Michal Suchanek <hramrach@centrum.cz> wrote:
[#18447] useless external functions — SASADA Koichi <ko1@...>
Hi,
[#18452] [ANN] Ruby 1.9.1 feature freeze — "Roger Pack" <rogerpack2005@...>
Would it be possible to have a few patches applied before freeze [if
Hi,
Hi,
Hi,
[#18454] WEBrick issue - HTTP/1.1 and IO objects — Brian Candler <B.Candler@...>
I am wondering if the following is a bug in WEBrick.
[#18486] Ruby 1.9 strings & character encoding — "Michael Selig" <michael.selig@...>
Firstly, I apologise if I am going over old ground here - I haven't been
Hi,
On Mon, 08 Sep 2008 19:45:36 +1000, Yukihiro Matsumoto
Hi,
On Sep 8, 2008, at 10:43 AM, NARUSE, Yui wrote:
# First off, I'm neutral to this issue
On Sep 8, 2008, at 9:06 PM, Urabe Shyouhei wrote:
In article <3119E5AB-AEC8-4FEE-B2FA-8C75482E0E9D@sun.com>,
At 18:07 08/09/10, Manfred Stienstra wrote:
In article <6.0.0.20.2.20080916184943.08a281f0@localhost>,
On 16/09/2008, Tanaka Akira <akr@fsij.org> wrote:
In article <a5d587fb0809170303x71ebde31r8adae082b82af182@mail.gmail.com>,
On Tue, 09 Sep 2008 03:43:54 +1000, NARUSE, Yui <naruse@airemix.jp> wrote:
In article <op.ug6ubske9245dp@kool>,
In article <9888DBB2-0FE8-4C5C-8EF0-02D7C30157FA@pragprog.com>,
[#18513] Make irb start a new line on EOF — "Daniel Luz" <dev@...>
Other interactive interpreters (namely `python`, `lua`, `psh`, and
[#18522] Warning for trailing comma in method declarations — Kornelius Kalnbach <murphy@...>
hello!
[#18525] Ruby for OS/2 Maintainer — "Brendan Oakley" <gentux2@...>
Hello.
[#18532] Ruby 1.9 string performance — "Michael Selig" <michael.selig@...>
I would like to submit the attached patch to string.c which substantially
[#18535] [Bug #557] Regexp does not match longest string — Wim Yedema <redmine@...>
Bug #557: Regexp does not match longest string
Wim Yedema schrieb:
2008/9/10 Wolfgang N=E1dasi-Donner <ed.odanow@wonado.de>:
Robert Klemme schrieb:
[#18572] Working on CSV's Encoding Support — James Gray <james@...>
I'm trying to get the standard CSV library ready for m17n in Ruby
On Sat, Sep 13, 2008 at 6:32 PM, James Gray <james@grayproductions.net> wrote:
On Sep 13, 2008, at 5:44 PM, Gregory Brown wrote:
On Sep 13, 2008, at 5:39 PM, James Gray wrote:
On Sep 13, 2008, at 11:55 PM, James Gray wrote:
At 00:43 08/09/15, James Gray wrote:
On Sun, 14 Sep 2008 14:48:47 +1000, James Gray <james@grayproductions.net>
On Sep 14, 2008, at 2:49 AM, Michael Selig wrote:
On Mon, 15 Sep 2008 04:51:55 +1000, James Gray <james@grayproductions.net>
On Sep 14, 2008, at 6:48 PM, Michael Selig wrote:
On Mon, 15 Sep 2008 10:45:52 +1000, James Gray <james@grayproductions.net>
On Sep 14, 2008, at 8:42 PM, Michael Selig wrote:
[#18594] [Bug #564] Regexp fails on UTF-16 & UTF-32 character encodings — Michael Selig <redmine@...>
Bug #564: Regexp fails on UTF-16 & UTF-32 character encodings
In article <48cddb5533ad_8725cd9524342@redmine.ruby-lang.org>,
On Mon, 15 Sep 2008 18:08:14 +1000, Tanaka Akira <akr@fsij.org> wrote:
[#18600] [Bug #566] String encoding error messages are inconsistent — Michael Selig <redmine@...>
Bug #566: String encoding error messages are inconsistent
[#18631] Request: File.binread (Or File.read_binary) — "Gregory Brown" <gregory.t.brown@...>
Just incase it got lost in the other thread, I'd like to recommend the
Hi,
On Wed, Sep 17, 2008 at 12:35 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
On Sep 17, 2008, at 09:48 AM, Gregory Brown wrote:
On Sep 18, 2008, at 6:56 PM, Eric Hodel wrote:
[#18637] Reading non-ascii compatible files — "Michael Selig" <michael.selig@...>
Hi,
Hi,
[#18640] Character encodings - a radical suggestion — "Michael Selig" <michael.selig@...>
Hi,
On Sep 16, 2008, at 8:20 PM, Michael Selig wrote:
On Sep 16, 2008, at 8:20 PM, Michael Selig wrote:
On Wed, 17 Sep 2008 12:51:14 +1000, James Gray <james@grayproductions.net>
On Sep 16, 2008, at 11:21 PM, Michael Selig wrote:
Hi,
On 9/17/2008 3:39 PM, NARUSE, Yui wrote:
Hi,
Hi,
On Sep 17, 2008, at 9:45 AM, NARUSE, Yui wrote:
At 00:01 08/09/18, Yukihiro Matsumoto wrote:
Hi,
On Fri, 19 Sep 2008 18:24:41 +1000, Yukihiro Matsumoto
Oops, I misfired my mail reader; the following is the right one:
On Fri, 19 Sep 2008 19:52:30 +1000, Yukihiro Matsumoto
Hi,
On Sun, 21 Sep 2008 02:05:30 +1000, Yukihiro Matsumoto
Hello Michael,
On Sep 21, 2008, at 9:35 PM, Martin Duerst wrote:
On Mon, 22 Sep 2008 12:35:49 +1000, Martin Duerst <duerst@it.aoyama.ac.jp>
At 12:25 08/09/22, Michael Selig wrote:
On Sep 21, 2008, at 9:35 PM, Martin Duerst wrote:
Hi,
Hi,
----- Original Message -----
On Sep 17, 2008, at 9:32 PM, Michael Selig wrote:
On Sep 17, 2008, at 8:43 PM, James Gray wrote:
[#18698] Next design meeting — Evan Phoenix <evan@...>
Hi everyone,
[#18710] Encoding Safe Regexp.escape() — James Gray <james@...>
As part of my ongoing process to make CSV m17n savvy, I'm needing an =20
[#18750] M17N Inspect Messages — James Gray <james@...>
What is the correct way to handle inspect() with regards to M17N? Do
[#18762] [Feature #578] add method to disassemble Proc objects — Roger Pack <redmine@...>
Feature #578: add method to disassemble Proc objects
[#18813] Feature idea: Class#subclasses — Charles Oliver Nutter <charles.nutter@...>
In JRuby we have added an extension that provides a "subclasses" method
[#18815] mv trunk/include/ruby/node.h to trunk/node.h — SASADA Koichi <ko1@...>
I moved trunk/include/ruby/node.h to trunk/node.h. On 1.9, only
[#18820] miniunit added — Ryan Davis <ryand-ruby@...>
I've replaced test/unit with miniunit in order to meet the feature
SASADA Koichi wrote:
I got it.
[#18844] [Bug #592] String#rstrip sometimes strips NULLs, sometimes doesn't - encoding dependent — Michael Selig <redmine@...>
Bug #592: String#rstrip sometimes strips NULLs, sometimes doesn't - encoding dependent
[#18861] tokenizing regular expressions when passed as method params — "Seth Dillingham" <seth.dillingham@...>
Hi,
[#18866] I'm changing the PickAxe to document miniunit — Dave Thomas <dave@...>
What's the correct way to load it up:
[#18872] [RIP] Guy Decoux. — "Jean-Fran輟is Tr穗" <jftran@...>
Hello,
[#18879] Mini Unit changing exceptions — Jim Weirich <jim.weirich@...>
Why does mini-unit change the exception in the test below?
On Sep 25, 2008, at 3:13 AM, Ryan Davis wrote:
[#18888] Re: [ruby-cvs:26761] Ruby:r19543 (trunk): Not a typo. The name is better plural. Better English and more consistent with the other assertions. — Nobuyoshi Nakada <nobu@...>
Hi,
[#18899] refute_{equal, match, nil, same} is not useful — Fujioka <fuj@...>
Hi,
On Thu, Sep 25, 2008 at 8:15 AM, Fujioka <fuj@rabbix.jp> wrote:
On Tue, Oct 7, 2008 at 10:40 PM, Ryan Davis <ryand-ruby@zenspider.com> wrote:
>I can actually see Ryan's point of saying that "refute_equal a, b"
Related to this:
On Wed, Oct 8, 2008 at 2:48 AM, Martin Duerst <duerst@it.aoyama.ac.jp>wrote:
2008/10/8 Eric Mahurin :
On Wed, Oct 8, 2008 at 5:08 PM, Jean-Fran=E7ois Tr=E2n
[#18905] output format of miniunit — "Yusuke ENDOH" <mame@...>
Hi,
Hi,
[#18931] test/testunit and miniunit — Tanaka Akira <akr@...>
Currently test-all exits prematurely.
[#18934] [ANN] delay of releasing 1.9.0-5 — "Yugui (Yuki Sonoda)" <yugui@...>
Hi,
[#18937] A stupid question... — Dave Thomas <dave@...>
Just what was wrong with Test::Unit? Sure, it was slightly bloated.
> -----Original Message-----
On Sun, Sep 28, 2008 at 9:10 PM, Trans <transfire@gmail.com> wrote:
On Mon, Sep 29, 2008 at 1:20 AM, Meinrad Recheis
On Sep 28, 2008, at 3:19 PM, hemant wrote:
2008/9/28 Trans <transfire@gmail.com>:
[#18944] [RCR] $ABOUT.ts — _why <why@...>
I don't want to be indelicate and we can address this some other
[#18985] Encodings::default_internal patch — "Michael Selig" <michael.selig@...>
Hi,
On Sep 27, 2008, at 2:28 AM, Michael Selig wrote:
On Sun, 28 Sep 2008 02:02:57 +1000, James Gray <james@grayproductions.net>
On Sep 27, 2008, at 8:56 PM, Michael Selig wrote:
[#18986] miniunit problems and release of Ruby 1.9.0-5 — "Yugui (Yuki Sonoda)" <yugui@...>
Hi,
Hi,
Hi,
Hi,
[#19043] Ruby is "stealing" names from operating system API:s — "Johan Holmberg" <johan556@...>
Hi!
Hi,
[ruby-core:18863] Re: tokenizing regular expressions when passed as method params
On Sep 24, 2008, at 09:07 , Seth Dillingham wrote:
> title.gsub /some word "/, ' '
You'll want to look at ruby's parse.y either directly or indirectly.
Also note that ruby -w complains about the ambiguity.
% parse_tree_show
title.gsub /some word "/, ' '
-:1: warning: ambiguous first argument; put parentheses or even spaces
s(:call,
s(:vcall, :title),
:gsub,
s(:array, s(:lit, /some word "/), s(:str, " ")))
% ruby -y
s=''; s.gsub /some word "/, ' '
Starting parse
Entering state 0
Reducing stack by rule 1 (line 346):
-> $$ = nterm @1 ()
Stack now 0
Entering state 2
Reading a token: Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 34
Reading a token: Next token is token '=' ()
Reducing stack by rule 419 (line 2188):
$1 = token tIDENTIFIER ()
-> $$ = nterm variable ()
Stack now 0 2
Entering state 90
Next token is token '=' ()
Reducing stack by rule 83 (line 842):
$1 = nterm variable ()
-> $$ = nterm lhs ()
Stack now 0 2
Entering state 73
Next token is token '=' ()
Shifting token '=' ()
Entering state 315
Reading a token: Next token is token tSTRING_BEG ()
Shifting token tSTRING_BEG ()
Entering state 53
Reducing stack by rule 396 (line 2071):
-> $$ = nterm string_contents ()
Stack now 0 2 73 315 53
Entering state 287
Reading a token: Next token is token tSTRING_END ()
Shifting token tSTRING_END ()
Entering state 457
Reducing stack by rule 383 (line 1961):
$1 = token tSTRING_BEG ()
$2 = nterm string_contents ()
$3 = token tSTRING_END ()
-> $$ = nterm string1 ()
Stack now 0 2 73 315
Entering state 82
Reducing stack by rule 381 (line 1954):
$1 = nterm string1 ()
-> $$ = nterm string ()
Stack now 0 2 73 315
Entering state 81
Reading a token: Next token is token ';' ()
Reducing stack by rule 380 (line 1941):
$1 = nterm string ()
-> $$ = nterm strings ()
Stack now 0 2 73 315
Entering state 80
Reducing stack by rule 269 (line 1455):
$1 = nterm strings ()
-> $$ = nterm primary ()
Stack now 0 2 73 315
Entering state 75
Next token is token ';' ()
Reducing stack by rule 218 (line 1232):
$1 = nterm primary ()
-> $$ = nterm arg ()
Stack now 0 2 73 315
Entering state 488
Next token is token ';' ()
Reducing stack by rule 174 (line 975):
$1 = nterm lhs ()
$2 = token '=' ()
$3 = nterm arg ()
-> $$ = nterm arg ()
Stack now 0 2
Entering state 74
Next token is token ';' ()
Reducing stack by rule 40 (line 631):
$1 = nterm arg ()
-> $$ = nterm expr ()
Stack now 0 2
Entering state 64
Next token is token ';' ()
Reducing stack by rule 34 (line 611):
$1 = nterm expr ()
-> $$ = nterm stmt ()
Stack now 0 2
Entering state 63
Next token is token ';' ()
Reducing stack by rule 6 (line 399):
$1 = nterm stmt ()
-> $$ = nterm stmts ()
Stack now 0 2
Entering state 62
Next token is token ';' ()
Shifting token ';' ()
Entering state 217
Reducing stack by rule 496 (line 2472):
$1 = token ';' ()
-> $$ = nterm term ()
Stack now 0 2 62
Entering state 220
Reducing stack by rule 498 (line 2476):
$1 = nterm term ()
-> $$ = nterm terms ()
Stack now 0 2 62
Entering state 300
Reading a token: Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 34
Reading a token: Next token is token '.' ()
Reducing stack by rule 419 (line 2188):
$1 = token tIDENTIFIER ()
-> $$ = nterm variable ()
Stack now 0 2 62 300
Entering state 90
Next token is token '.' ()
Reducing stack by rule 430 (line 2201):
$1 = nterm variable ()
-> $$ = nterm var_ref ()
Stack now 0 2 62 300
Entering state 91
Reducing stack by rule 274 (line 1460):
$1 = nterm var_ref ()
-> $$ = nterm primary ()
Stack now 0 2 62 300
Entering state 75
Next token is token '.' ()
Reducing stack by rule 326 (line 1728):
$1 = nterm primary ()
-> $$ = nterm primary_value ()
Stack now 0 2 62 300
Entering state 76
Next token is token '.' ()
Shifting token '.' ()
Entering state 344
Reading a token: Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 524
Reading a token: Next token is token tREGEXP_BEG ()
Reducing stack by rule 480 (line 2444):
$1 = token tIDENTIFIER ()
-> $$ = nterm operation2 ()
Stack now 0 2 62 300 76 344
Entering state 528
Next token is token tREGEXP_BEG ()
Reducing stack by rule 253 (line 1392):
-> $$ = nterm @8 ()
Stack now 0 2 62 300 76 344 528
Entering state 246
Next token is token tREGEXP_BEG ()
Shifting token tREGEXP_BEG ()
Entering state 55
Reducing stack by rule 398 (line 2081):
-> $$ = nterm xstring_contents ()
Stack now 0 2 62 300 76 344 528 246 55
Entering state 289
Reading a token: Next token is token tSTRING_CONTENT ()
Shifting token tSTRING_CONTENT ()
Entering state 452
Reducing stack by rule 400 (line 2090):
$1 = token tSTRING_CONTENT ()
-> $$ = nterm string_content ()
Stack now 0 2 62 300 76 344 528 246 55 289
Entering state 456
Reducing stack by rule 399 (line 2084):
$1 = nterm xstring_contents ()
$2 = nterm string_content ()
-> $$ = nterm xstring_contents ()
Stack now 0 2 62 300 76 344 528 246 55
Entering state 289
Reading a token: Next token is token tREGEXP_END ()
Shifting token tREGEXP_END ()
Entering state 460
Reducing stack by rule 385 (line 1990):
$1 = token tREGEXP_BEG ()
$2 = nterm xstring_contents ()
$3 = token tREGEXP_END ()
-> $$ = nterm regexp ()
Stack now 0 2 62 300 76 344 528 246
Entering state 84
Reducing stack by rule 271 (line 1457):
$1 = nterm regexp ()
-> $$ = nterm primary ()
Stack now 0 2 62 300 76 344 528 246
Entering state 75
Reading a token: Next token is token ',' ()
Reducing stack by rule 218 (line 1232):
$1 = nterm primary ()
-> $$ = nterm arg ()
Stack now 0 2 62 300 76 344 528 246
Entering state 235
Next token is token ',' ()
Reducing stack by rule 219 (line 1238):
$1 = nterm arg ()
-> $$ = nterm arg_value ()
Stack now 0 2 62 300 76 344 528 246
Entering state 236
Next token is token ',' ()
Reducing stack by rule 263 (line 1430):
$1 = nterm arg_value ()
-> $$ = nterm args ()
Stack now 0 2 62 300 76 344 528 246
Entering state 239
Next token is token ',' ()
Shifting token ',' ()
Entering state 406
Reading a token: Next token is token tSTRING_BEG ()
Shifting token tSTRING_BEG ()
Entering state 53
Reducing stack by rule 396 (line 2071):
-> $$ = nterm string_contents ()
Stack now 0 2 62 300 76 344 528 246 239 406 53
Entering state 287
Reading a token: Next token is token tSTRING_CONTENT ()
Shifting token tSTRING_CONTENT ()
Entering state 452
Reducing stack by rule 400 (line 2090):
$1 = token tSTRING_CONTENT ()
-> $$ = nterm string_content ()
Stack now 0 2 62 300 76 344 528 246 239 406 53 287
Entering state 458
Reducing stack by rule 397 (line 2074):
$1 = nterm string_contents ()
$2 = nterm string_content ()
-> $$ = nterm string_contents ()
Stack now 0 2 62 300 76 344 528 246 239 406 53
Entering state 287
Reading a token: Next token is token tSTRING_END ()
Shifting token tSTRING_END ()
Entering state 457
Reducing stack by rule 383 (line 1961):
$1 = token tSTRING_BEG ()
$2 = nterm string_contents ()
$3 = token tSTRING_END ()
-> $$ = nterm string1 ()
Stack now 0 2 62 300 76 344 528 246 239 406
Entering state 82
Reducing stack by rule 381 (line 1954):
$1 = nterm string1 ()
-> $$ = nterm string ()
Stack now 0 2 62 300 76 344 528 246 239 406
Entering state 81
Reading a token: Next token is token '\n' ()
Reducing stack by rule 380 (line 1941):
$1 = nterm string ()
-> $$ = nterm strings ()
Stack now 0 2 62 300 76 344 528 246 239 406
Entering state 80
Reducing stack by rule 269 (line 1455):
$1 = nterm strings ()
-> $$ = nterm primary ()
Stack now 0 2 62 300 76 344 528 246 239 406
Entering state 75
Next token is token '\n' ()
Reducing stack by rule 218 (line 1232):
$1 = nterm primary ()
-> $$ = nterm arg ()
Stack now 0 2 62 300 76 344 528 246 239 406
Entering state 235
Next token is token '\n' ()
Reducing stack by rule 219 (line 1238):
$1 = nterm arg ()
-> $$ = nterm arg_value ()
Stack now 0 2 62 300 76 344 528 246 239 406
Entering state 609
Next token is token '\n' ()
Reducing stack by rule 264 (line 1434):
$1 = nterm args ()
$2 = token ',' ()
$3 = nterm arg_value ()
-> $$ = nterm args ()
Stack now 0 2 62 300 76 344 528 246
Entering state 239
Next token is token '\n' ()
Reducing stack by rule 500 (line 2480):
-> $$ = nterm none ()
Stack now 0 2 62 300 76 344 528 246 239
Entering state 408
Reducing stack by rule 262 (line 1427):
$1 = nterm none ()
-> $$ = nterm opt_block_arg ()
Stack now 0 2 62 300 76 344 528 246 239
Entering state 407
Reducing stack by rule 233 (line 1300):
$1 = nterm args ()
$2 = nterm opt_block_arg ()
-> $$ = nterm call_args ()
Stack now 0 2 62 300 76 344 528 246
Entering state 414
Reducing stack by rule 255 (line 1404):
$1 = nterm call_args ()
-> $$ = nterm open_args ()
Stack now 0 2 62 300 76 344 528 246
Entering state 415
Reducing stack by rule 254 (line 1392):
$1 = nterm @8 ()
$2 = nterm open_args ()
-> $$ = nterm command_args ()
Stack now 0 2 62 300 76 344 528
Entering state 670
Next token is token '\n' ()
Reducing stack by rule 55 (line 700):
$1 = nterm primary_value ()
$2 = token '.' ()
$3 = nterm operation2 ()
$4 = nterm command_args ()
-> $$ = nterm command ()
Stack now 0 2 62 300
Entering state 67
Next token is token '\n' ()
Reducing stack by rule 42 (line 641):
$1 = nterm command ()
-> $$ = nterm command_call ()
Stack now 0 2 62 300
Entering state 65
Reducing stack by rule 35 (line 614):
$1 = nterm command_call ()
-> $$ = nterm expr ()
Stack now 0 2 62 300
Entering state 64
Next token is token '\n' ()
Reducing stack by rule 34 (line 611):
$1 = nterm expr ()
-> $$ = nterm stmt ()
Stack now 0 2 62 300
Entering state 470
Next token is token '\n' ()
Reducing stack by rule 7 (line 403):
$1 = nterm stmts ()
$2 = nterm terms ()
$3 = nterm stmt ()
-> $$ = nterm stmts ()
Stack now 0 2
Entering state 62
Next token is token '\n' ()
Shifting token '\n' ()
Entering state 216
Reducing stack by rule 497 (line 2473):
$1 = token '\n' ()
-> $$ = nterm term ()
Stack now 0 2 62
Entering state 220
Reducing stack by rule 498 (line 2476):
$1 = nterm term ()
-> $$ = nterm terms ()
Stack now 0 2 62
Entering state 300
Reading a token: Now at end of input.
Reducing stack by rule 490 (line 2460):
$1 = nterm terms ()
-> $$ = nterm opt_terms ()
Stack now 0 2 62
Entering state 299
Reducing stack by rule 4 (line 391):
$1 = nterm stmts ()
$2 = nterm opt_terms ()
-> $$ = nterm compstmt ()
Stack now 0 2
Entering state 61
Reducing stack by rule 2 (line 346):
$1 = nterm @1 ()
$2 = nterm compstmt ()
-> $$ = nterm program ()
Stack now 0
Entering state 1
Now at end of input.
Stack now 0 1
Cleanup: popping nterm program ()
%