Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite647bcc

Browse files
Merge pull request#51 from wnienhaus/fixes-for-v1
support the ';' line separator character, aka statement separator
2 parentsf4b0720 +ce005e3 commite647bcc

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

‎esp32_ulp/assemble.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,13 @@ def parse_line(self, line):
129129
opcode,args=opcode_args[0], ()
130130
returnlabel,opcode,args
131131

132+
defsplit_statements(self,lines):
133+
forlineinlines:
134+
forstatementinline.split(';'):
135+
yieldstatement.rstrip()
132136

133137
defparse(self,lines):
134-
parsed= [self.parse_line(line)forlineinlines]
138+
parsed= [self.parse_line(line)forlineinself.split_statements(lines)]
135139
return [pforpinparsedifpisnotNone]
136140

137141

‎tests/assemble.py‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,21 @@ def test_symbols():
244244
assertst.resolve_absolute('const')==123
245245

246246

247+
deftest_support_multiple_statements_per_line():
248+
src="""
249+
label: nop; nop;
250+
wait 42
251+
"""
252+
253+
lines=Assembler().parse(src.splitlines())
254+
255+
assertlines== [
256+
('label','nop', ()),
257+
(None,'nop', ()),
258+
(None,'wait', ('42',))
259+
]
260+
261+
247262
test_parse_line()
248263
test_parse()
249264
test_assemble()
@@ -254,4 +269,5 @@ def test_symbols():
254269
test_assemble_evalulate_expressions()
255270
test_assemble_optional_comment_removal()
256271
test_assemble_test_regressions_from_evaluation()
272+
test_support_multiple_statements_per_line()
257273
test_symbols()

‎tests/compat/fixes.S‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,7 @@ entry:
2525
reg_rd12,7,0
2626
reg_rd0x3ff48000,7,0
2727

28+
# interpret ; as statement separator - this results in 2 NOP machine instructions
29+
nop;nop;
30+
2831
halt

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp