token.py 943 B

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