diff options
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/parser/lexer.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/puppet/parser/lexer.rb b/lib/puppet/parser/lexer.rb index 5bab6d65d..56863a2fc 100644 --- a/lib/puppet/parser/lexer.rb +++ b/lib/puppet/parser/lexer.rb @@ -134,6 +134,8 @@ class Puppet::Parser::Lexer '*' => :TIMES, '<<' => :LSHIFT, '>>' => :RSHIFT, + '=~' => :MATCH, + '!~' => :NOMATCH, %r{([a-z][-\w]*)?(::[a-z][-\w]*)+} => :CLASSNAME, # Require '::' in the class name, else we'd compete with NAME %r{((::){0,1}[A-Z][-\w]*)+} => :CLASSREF ) @@ -169,6 +171,11 @@ class Puppet::Parser::Lexer [self,value] end + TOKENS.add_token :REGEX, %r{/(.*?)/} do |lexer, value| + value.sub!(/^\/(.*?)\/$/,"\\1") + [self, Regexp.new(value)] + end + TOKENS.add_token :RETURN, "\n", :skip => true, :incr_line => true, :skip_text => true TOKENS.add_token :SQUOTE, "'" do |lexer, value| |