Guest User

Untitled

a guest
Jun 24th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #[derive(Debug)]
  2. struct Relation {
  3. expr: Expression,
  4. operator: Operator,
  5. range_list: Vec<RangeListItem>,
  6. }
  7.  
  8. #[derive(Debug)]
  9. struct Operator(char);
  10.  
  11. #[derive(Debug)]
  12. struct Expression {
  13. operand: Operand,
  14. operation: Option<Operation>
  15. }
  16.  
  17. #[derive(Debug)]
  18. struct Operation {
  19. operation_type: OperationType,
  20. value: Value
  21. }
  22.  
  23. #[derive(Debug)]
  24. enum OperationType {
  25. MOD,
  26. PERCENT,
  27. }
  28.  
  29. #[derive(Debug)]
  30. struct Operand(char);
  31.  
  32. #[derive(Debug)]
  33. enum RangeListItem{
  34. Range(Range),
  35. Value(Value),
  36. }
  37.  
  38. #[derive(Debug)]
  39. struct Value(usize);
  40.  
  41. #[derive(Debug)]
  42. struct Range {
  43. from: Value,
  44. to: Value
  45. }
  46.  
  47. fn main() {
  48. let cond = Relation {
  49. expr: Expression {
  50. operand: Operand('i'),
  51. operation: None,
  52. },
  53. operator: Operator('='),
  54. range_list: vec![
  55. RangeListItem::Value(Value(1)),
  56. ],
  57. };
  58. println!("{:#?}", cond);
  59. }
Add Comment
Please, Sign In to add comment