Skip to content

Instantly share code, notes, and snippets.

Created April 18, 2009 15:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/97652 to your computer and use it in GitHub Desktop.
Save anonymous/97652 to your computer and use it in GitHub Desktop.
## This is my attempt at writing a simple grammar in perl6
class EasyCMS::Template {
method render (Str $in, %vars) {
EasyCMS::Template::Grammar.parse($in)
or return "could not parse: $in";
#$in ~~ /EasyCMS::Template::Grammer::TOP/;
my $s;
for $/<token>.values -> $token {
warn " t: " ~ $token;
$s = $s ~ $token;
}
return $s;
}
}
grammar EasyCMS::Template::Grammar {
rule TOP { ^ <token>* $ }
rule token { <statement> | <plain> }
token plain { \w+ }
rule statement { '[%' }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment