token.py 805 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. from dataclasses import dataclass
  2. @dataclass
  3. class Identifier:
  4. value: str
  5. @dataclass
  6. class String:
  7. value: str
  8. @dataclass
  9. class Integer:
  10. value: int
  11. @dataclass
  12. class Float:
  13. value: float
  14. @dataclass
  15. class Pound:
  16. pass
  17. @dataclass
  18. class LParen:
  19. pass
  20. @dataclass
  21. class RParen:
  22. pass
  23. @dataclass
  24. class LBrace:
  25. pass
  26. @dataclass
  27. class RBrace:
  28. pass
  29. @dataclass
  30. class Period:
  31. pass
  32. @dataclass
  33. class Comma:
  34. pass
  35. @dataclass
  36. class Arrow:
  37. pass
  38. @dataclass
  39. class Colon:
  40. pass
  41. @dataclass
  42. class Equals:
  43. pass
  44. @dataclass
  45. class Operator:
  46. value: str
  47. Token = (
  48. Identifier
  49. | String
  50. | Integer
  51. | Float
  52. | LParen
  53. | RParen
  54. | LBrace
  55. | RBrace
  56. | Period
  57. | Comma
  58. | Arrow
  59. | Colon
  60. | Equals
  61. | Operator
  62. )