1 """
   2         MoinMoin - Perl Source Parser
   3 
   4     @copyright: 2006 by Johannes Hoerburger <jh@underground8.com>
   5     @license: GNU GPL.
   6 
   7     Trivial changes by Deviance to be 1.6 compatible in April-2008
   8 
   9 """
  10 
  11 from MoinMoin.parser._ParserBase import ParserBase
  12 
  13 Dependencies = ['user']
  14 
  15 class Parser(ParserBase):
  16 
  17     parsername = "ColorizedPerl"
  18     extensions = ['.pl', '.pm']
  19     Dependencies = Dependencies
  20 
  21     def setupRules(self):
  22         ParserBase.setupRules(self)
  23 
  24         self.addRule("Comment","#.*$")
  25         self.addRulePair("String",r"(?<!\\)\"",r"(?<!\\)\"")
  26         self.addRulePair("String",r"(?<!\\)\'",r"(?<!\\)\'")
  27         self.addRule("Char",r"'\\.'|#[a-f0-9][a-f0-9]")
  28         self.addRule("Number",r"[0-9](\.[0-9]*)")
  29         self.addRule("ID","[a-zA-Z_][0-9a-zA-Z_]*")
  30         self.addRule("SPChar","[=<>/\"]")
  31         reserved_words = ['abs','accept','alarm','Answer','Ask','atan2','bind','binmode','bless','caller','chdir','chmod','chomp','Choose','chop','chown','chr','chroot','close','closedir','connect','continue','cos','crypt','dbmclose','dbmopen','defined','delete','die','Directory','do','DoAppleScript','dump','each','else','elsif','endgrent','endhostent','endnetent','endprotoent','endpwent','eof','eval','exec','exists','exit','exp','FAccess','fcntl','fileno','find','flock','for','foreach','fork','format','formline','getc','GetFileInfo','getgrent','getgrgid','getgrnam','gethostbyaddr','gethostbyname','gethostent','getlogin','getnetbyaddr','getnetbyname','getnetent','getpeername','getpgrp','getppid','getpriority','getprotobyname','getprotobynumber','getprotoent','getpwent','getpwnam','getpwuid','getservbyaddr','getservbyname','getservbyport','getservent','getsockname','getsockopt','glob','gmtime','goto','grep','hex','hostname','if','import','index','int','ioctl','join','keys','kill','last','lc','lcfirst','length','link','listen','LoadExternals','local','localtime','log','lstat','m//','MakeFSSpec','MakePath','map','mkdir','msgctl','msgget','msgrcv','msgsnd','my','next','no','oct','open','opendir','ord','pack','package','Pick','pipe','pop','pos','print','printf','push','pwd','q//','qq//','Quit','quotemeta','qw//','qx//','rand','read','readdir','readlink','recv','redo','ref','rename','Reply','require','reset','return','reverse','rewinddir','rindex','rmdir','s///','scalar','seek','seekdir','select','semctl','semget','semop','send','SetFileInfo','setgrent','sethostent','setnetent','setpgrp','setpriority','setprotoent','setpwent','setservent','setsockopt','shift','shmctl','shmget','shmread','shmwrite','shutdown','sin','sleep','socket','socketpair','sort','splice','split','sprintf','sqrt','srand','stat','stty','study','sub','substr','symlink','syscall','sysopen','sysread','system','syswrite','tell','telldir','tie','tied','time','times','tr///','truncate','uc','ucfirst','umask','undef','unless','unlink','until','unpack','unshift','untie','use','utime','values','vec','Volumes','wait','waitpid','wantarray','warn','while','write','y///']
  32         self.addReserved(reserved_words)

MoinMoin: parser/Perl-1.6 (last edited 2008-04-19 21:14:12 by 89)