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)