Advertisement
Guest User

Untitled

a guest
Dec 11th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. #REGEX AREA, DO NOT CROSS
  2. @whitespace "[\t\ ]+"
  3. @uppercase_word "[A-Z]+"
  4. @identifier "[a-zA-Z0-9#@!?%$&^_-]+" #
  5. @number "[0-9]+"
  6. @left_brace "\["
  7. @right_brace "\]"
  8. @memory_ref "&"
  9. @addresses_separator ","
  10. @assigment_operator "<="
  11.  
  12. @match_command ~r{(#{@uppercase_word})#{@whitespace}
  13. (
  14. (?:#{@memory_ref}#{@number}) |
  15. (?:#{@left_brace}#{@number}#{@right_brace}) |
  16. (?:#{@memory_ref}#{@left_brace}#{@number}#{@right_brace})
  17. )?
  18. (?:#{@addresses_separator}#{@whitespace}
  19. (
  20. (?:#{@number}) |
  21. (?:#{@memory_ref}#{@number}) |
  22. (?:#{@left_brace}#{@number}#{@right_brace}) |
  23. (?:#{@memory_ref}#{@left_brace}#{@number}#{@right_brace})
  24. )
  25. )?}
  26.  
  27. @match_label ~r{#{@identifier}:}
  28. @match_assigment ~r{(#{@identifier})(?:#{@whitespace})?#{@assigment_operator}(?:#{@whitespace})?(#{@number})}
  29.  
  30. #END OF REGEX AREA
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement