1 """
   2     MoinMoin - Motorola 68hc11 (micro-controller) ASM (assembly code) parser
   3 
   4     version: 0.1
   5 
   6     copyright: 2006 by Jure Vrscaj <jure@codeshift.net>
   7     license: GPL
   8 """
   9 
  10 import re
  11 from MoinMoin.util.ParserBase import ParserBase
  12 
  13 Dependencies = []
  14 
  15 class Parser(ParserBase):
  16 
  17     parsername = 'ColorizedAsm'
  18     extensions = ['.asm']
  19     Dependencies = []
  20 
  21     def __init__(self, raw, request, **kw):
  22         ParserBase.__init__(self,raw,request,**kw)
  23         self._ignore_case = 1
  24 
  25     def setupRules(self):
  26         ParserBase.setupRules(self)
  27 
  28         self.addRulePair("Comment", "\*", "$")
  29         self.addRulePair("Comment", ";" , "$")
  30         
  31 	self.addRulePair("String",'\'','\'')
  32         self.addRule("Char", r"#[$%0-9A-Za-z]+")
  33         #self.addRule("Number",r"[0-9](\.[0-9]*)?(eE[+-][0-9])?|\$[0-9a-fA-F]+")
  34         self.addRule("ID","[a-zA-Z_][0-9a-zA-Z_]*")
  35         self.addRule("SPChar",r"[~!%^&*()+=|\[\]:;,.<>/?{}-]")
  36 
  37         self.addReserved("""
  38 
  39 ABA ABX ABY ADCA ADCB ADDA ADDB ADDD ANDA ANDB ASL ASLA ASLB ASR ASRA ASRB BCLR BEQ BGE BGT BHI BHS BITA BITB BLE BLO BLS BLT BMI BNE BPL BRA BRCLR BRN BRSET BSET BSR BVC BVS CBA CLC CLI CLR CLRA CLRB CLV CMPA CMPB COM COMA COMB CPD CPX CPY DAA DEC DECA DECB DES DEX DEY EORA EORB FDIV IDIV INC INCA INCB INS INX INY JMP JSR LDAA LDAB LDD LDS LDX LDY LSLD LSR LSRA LSRB LSRD MUL NEG NEGA NEGB NOP ORAA ORAB PSHA PSHB PSHX PSHY PULA PULB PULX PULY ROL ROLA ROLB ROR RORA RORB RTI RTS SBA SBCA SBCB SEC SEI SEV STAA STAB STD STOP STS STX STY SUBA SUBB SUBD SWI TAB TAP TBA TEST TPA TST TSTA TSTB TSX TSY TXS TYS WAI XGDX XGDY
  40 
  41         """.split())
  42 
  43         self.addConstant("""
  44 
  45 END EQU FCB FCC FDB ORG RMB
  46 
  47         """.split())

MoinMoin: parser/68hc11.py (last edited 2007-10-29 19:11:00 by localhost)