1 """
   2   MoinMoin - Ruby Source Parser
   3 
   4   Copyright: 2006 by Jakub Piotr Nowak <jakub.piotr.nowak@gmail.com>
   5   License: GNU GPL
   6 """
   7 from MoinMoin.util.ParserBase import ParserBase
   8 
   9 Dependencies = []
  10 
  11 class Parser(ParserBase):
  12   parsename = "ColorizedRuby"
  13   extensions = ['.rb']
  14   Dependencies = []
  15 
  16   def setupRules(self):
  17     ParserBase.setupRules(self)
  18 
  19     self.addRulePair("Comment", "#", "\n")
  20     self.addRule("ID", "[a-zA-Z_][0-9a-zA-Z_]*")
  21     self.addRule("Number", r"[0-9]+")
  22     self.addRule("Char",r"'\\.'|'[^\\]'")
  23     self.addRule("SPChar", "[=<>\|]")
  24 
  25     self.addReserved(reserved_words)
  26     self.addConstant(constant_words)
  27 
  28 reserved_words = '''\
  29     alias and
  30     begin break
  31     case class
  32     def defined? do
  33     else elif end ensure
  34     for
  35     if in
  36     module
  37     next nil not
  38     or
  39     redo rescue retry return
  40     self super
  41     then
  42     unless until
  43     when while
  44     yield
  45 '''.split()
  46 
  47 constant_words = '''\
  48     true false undef
  49 '''.split()

MoinMoin: parser/ruby.py (last edited 2007-10-29 19:07:19 by localhost)