Author: bernhard
Date: Wed Apr 2 11:35:55 2008
New Revision: 26705
Modified:
trunk/languages/hq9plus/src/parser/grammar.pg
trunk/languages/hq9plus/t/basic.t
Log:
[HQ9+]
Fix whitespace handling. Whitspace is not required between commands.
Modified: trunk/languages/hq9plus/src/parser/grammar.pg
==============================================================================
--- trunk/languages/hq9plus/src/parser/grammar.pg (original)
+++ trunk/languages/hq9plus/src/parser/grammar.pg Wed Apr 2 11:35:55 2008
@@ -9,31 +9,31 @@
grammar HQ9plus::Grammar is PCT::Grammar;
-rule TOP {
+token TOP {
<statement>*
[ $ || <panic: Syntax error> ]
{*}
}
-rule statement {
+token statement {
| <hello> {*} #= hello
| <quine> {*} #= quine
| <nintynine_bottles_of_beer> {*} #= nintynine_bottles_of_beer
| <plus> {*} #= plus
}
-rule hello {
- 'H' {*}
+token hello {
+ 'H' \s* {*}
}
-rule quine {
- 'Q' {*}
+token quine {
+ 'Q' \s* {*}
}
-rule nintynine_bottles_of_beer {
- '9' {*}
+token nintynine_bottles_of_beer {
+ '9' \s* {*}
}
-rule plus {
- '+' {*}
+token plus {
+ '+' \s* {*}
}
Modified: trunk/languages/hq9plus/t/basic.t
==============================================================================
--- trunk/languages/hq9plus/t/basic.t (original)
+++ trunk/languages/hq9plus/t/basic.t Wed Apr 2 11:35:55 2008
@@ -528,7 +528,7 @@
language_output_is( 'hq9plus', $code, $hello x 2, "code: $code" );
$code = 'HHH';
-language_output_is( 'hq9plus', $code, $hello x length($code), "code: $code",
todo => 'ws handling' );
+language_output_is( 'hq9plus', $code, $hello x length($code), "code: $code" );
$code = 'Q';
language_output_is( 'hq9plus', $code, $code, "code: $code" );
@@ -537,7 +537,7 @@
language_output_is( 'hq9plus', $code, $code x 2, "code: $code" );
$code = 'QQQ';
-language_output_is( 'hq9plus', $code, $code x length($code), "code: $code",
todo => 'ws handling' );
+language_output_is( 'hq9plus', $code, $code x length($code), "code: $code" );
$code = '9';
language_output_is( 'hq9plus', $code, $song_text, "code: $code" );
@@ -546,7 +546,7 @@
language_output_is( 'hq9plus', $code, $song_text x 2, "code: $code" );
$code = '999';
-language_output_is( 'hq9plus', $code, $song_text x length($code), "code:
$code", todo => 'ws handling' );
+language_output_is( 'hq9plus', $code, $song_text x length($code), "code:
$code" );
$code = '+';
language_output_is( 'hq9plus', $code, '', "code: $code" );
@@ -555,10 +555,10 @@
language_output_is( 'hq9plus', $code, '' x 2, "code: $code" );
$code = '+++++++++++++++++++';
-language_output_is( 'hq9plus', $code, '', "code: $code", todo => 'ws handling'
);
+language_output_is( 'hq9plus', $code, '', "code: $code" );
$code = 'HQ9+';
-language_output_is( 'hq9plus', $code, $hello . $code . $song_text, "code:
$code", todo => 'ws handling' );
+language_output_is( 'hq9plus', $code, $hello . $code . $song_text, "code:
$code" );
# Local Variables:
# mode: cperl