Advertisement
Korotkodul

pyparsing

Mar 13th, 2025 (edited)
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.77 KB | None | 0 0
  1. import pyparsing as pp
  2.  
  3. command_name = pp.Word(pp.alphas)
  4. argument_name = pp.Word(pp.printables, exclude_chars=';,')
  5. arguments = pp.Optional(argument_name) + pp.ZeroOrMore(pp.Suppress(',') + argument_name)
  6. label = pp.Word(pp.alphas) + pp.Optional(pp.Suppress(' ')) + pp.Suppress(":")
  7. comment = pp.Suppress(';') + pp.Optional(pp.Suppress(' ')) + pp.restOfLine()
  8. rule = pp.Optional(label) + pp.Optional(command_name) + pp.Optional(arguments) + pp.Optional(comment)
  9.  
  10. rule.runTests('''
  11. mov #2, R0 ;R0 = 2
  12. mov #3, R1 ;R1 = 3
  13. add R0, R1 ; R1 = R0 + R1
  14. loop: add #1, R0  
  15. loop  : add #1, R0
  16. halt ;    остановка процессора
  17. halt    
  18. add #10, R3
  19. sub R1
  20. #разные моды:
  21. mov (R0), R1
  22. mov (R0)+, R1
  23. mov -(R0), R1
  24. mov @R0, R1
  25. mov @-(R0), R1
  26. ''')
  27.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement