File tree Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -46,7 +46,7 @@ def __init__(self, line):
46
46
47
47
class Lexer :
48
48
re_io_reg = r"__IO uint(?P<bits>8|16|32)_t +(?P<reg>[A-Z0-9]+)"
49
- re_comment = r"(?P<comment>[A-Za-z0-9 \-/_()&]+)"
49
+ re_comment = r"(?P<comment>[A-Za-z0-9 \-/_()&: ]+)"
50
50
re_addr_offset = r"Address offset: (?P<offset>0x[0-9A-Z]{2,3})"
51
51
regexs = (
52
52
(
@@ -78,16 +78,16 @@ class Lexer:
78
78
(
79
79
"IO reg" ,
80
80
re .compile (
81
- re_io_reg + r"; */\*!< *" + re_comment + r", +" + re_addr_offset + r" *\*/"
81
+ re_io_reg + r" * ; */\*!< *" + re_comment + r",? +" + re_addr_offset + r" *\*/"
82
82
),
83
83
),
84
84
(
85
85
"IO reg array" ,
86
86
re .compile (
87
87
re_io_reg
88
- + r"\[(?P<array>[2-8])\]; */\*!< *"
88
+ + r"\[(?P
8000
<array>[2-8])\] * ; */\*!< *"
89
89
+ re_comment
90
- + r", +"
90
+ + r",? +"
91
91
+ re_addr_offset
92
92
+ r"-(0x[0-9A-Z]{2,3}) *\*/"
93
93
),
@@ -160,7 +160,11 @@ def parse_file(filename):
160
160
if m [0 ] == "}" :
161
161
pass
162
162
elif m [0 ] == "} TypeDef" :
163
- reg_defs [m [1 ].groupdict ()["id" ]] = regs
163
+ d = m [1 ].groupdict ()
164
+ n = d ["id" ]
165
+ g = d ["global" ]
166
+ if n not in reg_defs or not g :
167
+ reg_defs [n ] = regs
164
168
else :
165
169
raise LexerError (lexer .line_number )
166
170
@@ -298,6 +302,7 @@ def main():
298
302
"USART" ,
299
303
"WWDG" ,
300
304
"RNG" ,
305
+ "IPCC" ,
301
306
):
302
307
if reg in reg_defs :
303
308
print_regs (reg , reg_defs [reg ], needed_qstrs , needed_mpzs )
You can’t perform that action at this time.
0 commit comments