Author: pmichaud
Date: Mon Jan 8 11:46:35 2007
New Revision: 16497
Modified:
trunk/languages/abc/src/abc.pg
trunk/languages/perl6/src/grammar_rules.pg
trunk/runtime/parrot/library/Parrot/HLLCompiler.pir
Log:
[HLLCompiler]:
* Update HLLCompiler to prefer new 'TOP' grammar rule (from S03)
over 'apply' (now deprecated).
* Switch <apply> to <TOP> in languages/perl6 and languages/abc grammars.
Modified: trunk/languages/abc/src/abc.pg
==============================================================================
--- trunk/languages/abc/src/abc.pg (original)
+++ trunk/languages/abc/src/abc.pg Mon Jan 8 11:46:35 2007
@@ -2,7 +2,7 @@
## an example 'bc' grammar
-token apply { <program> }
+token TOP { <program> }
## recognize terms
token term {
Modified: trunk/languages/perl6/src/grammar_rules.pg
==============================================================================
--- trunk/languages/perl6/src/grammar_rules.pg (original)
+++ trunk/languages/perl6/src/grammar_rules.pg Mon Jan 8 11:46:35 2007
@@ -18,8 +18,8 @@
grammar Perl6::Grammar ;
-## C<apply> defines the top level rule to the HLLCompiler.
-token apply { <program> }
+## C<TOP> defines the top level rule to the HLLCompiler.
+token TOP { <program> }
## These regexes handle whitespace between comments and tokens
Modified: trunk/runtime/parrot/library/Parrot/HLLCompiler.pir
==============================================================================
--- trunk/runtime/parrot/library/Parrot/HLLCompiler.pir (original)
+++ trunk/runtime/parrot/library/Parrot/HLLCompiler.pir Mon Jan 8 11:46:35 2007
@@ -134,13 +134,16 @@
.sub 'parse' :method
.param pmc source
.param pmc adverbs :slurpy :named
- .local pmc parsegrammar_name, apply
+ .local pmc parsegrammar_name, top
parsegrammar_name = self.'parsegrammar'()
unless parsegrammar_name goto err_no_parsegrammar
- apply = get_hll_global parsegrammar_name, 'apply'
+ top = get_hll_global parsegrammar_name, 'TOP'
+ unless null top goto have_top # FIXME: deprecated
+ top = get_hll_global parsegrammar_name, 'apply' # FIXME: deprecated
+ have_top: # FIXME: deprecated
.local pmc match
- match = apply(source, 'grammar' => parsegrammar_name)
+ match = top(source, 'grammar' => parsegrammar_name)
unless match goto err_failedparse
.return (match)