Advertisement
mdgaziur001

riglang *very* unpretty ast

Feb 5th, 2022
1,540
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 13.13 KB | None | 0 0
  1. [
  2.     UseStmt {
  3.         path: PathExpr {
  4.             path: [
  5.                 "std",
  6.                 "fs",
  7.                 "File",
  8.             ],
  9.             span: Span {
  10.                 file_name: "examples/simple.rig",
  11.                 starting_line: 1,
  12.                 starting_line_offset: 4,
  13.                 starting_line_end_offset: 6,
  14.                 ending_line: 1,
  15.                 ending_line_offset: 17,
  16.                 ending_line_end_offset: 17,
  17.             },
  18.         },
  19.         visibility: NotPub,
  20.         span: Span {
  21.             file_name: "examples/simple.rig",
  22.             starting_line: 1,
  23.             starting_line_offset: 0,
  24.             starting_line_end_offset: 2,
  25.             ending_line: 3,
  26.             ending_line_offset: 0,
  27.             ending_line_end_offset: 1,
  28.         },
  29.     },
  30.     FnStmt {
  31.         prototype:  hello ([f: VariableExpr { name: "File", span: Span { file_name: "examples/simple.rig", starting_line: 3, starting_line_offset: 16, starting_line_end_offset: 16, ending_line: 3, ending_line_offset: 16, ending_line_end_offset: 16 } }]) -> None,
  32.         body: BlockStmt {
  33.             exprs: [
  34.                 LetStmt {
  35.                     name: "x",
  36.                     ty: Some(
  37.                         VariableExpr {
  38.                             name: "File",
  39.                             span: Span {
  40.                                 file_name: "examples/simple.rig",
  41.                                 starting_line: 4,
  42.                                 starting_line_offset: 16,
  43.                                 starting_line_end_offset: 16,
  44.                                 ending_line: 4,
  45.                                 ending_line_offset: 16,
  46.                                 ending_line_end_offset: 16,
  47.                             },
  48.                         },
  49.                     ),
  50.                     value: BinaryExpr {
  51.                         lhs: GroupingExpr {
  52.                             expr: BinaryExpr {
  53.                                 lhs: IntegerLiteralExpr {
  54.                                     value: 2,
  55.                                     span: Span {
  56.                                         file_name: "examples/simple.rig",
  57.                                         starting_line: 4,
  58.                                         starting_line_offset: 19,
  59.                                         starting_line_end_offset: 19,
  60.                                         ending_line: 4,
  61.                                         ending_line_offset: 19,
  62.                                         ending_line_end_offset: 19,
  63.                                     },
  64.                                 },
  65.                                 op: Multiply,
  66.                                 rhs: IntegerLiteralExpr {
  67.                                     value: 3,
  68.                                     span: Span {
  69.                                         file_name: "examples/simple.rig",
  70.                                         starting_line: 4,
  71.                                         starting_line_offset: 21,
  72.                                         starting_line_end_offset: 21,
  73.                                         ending_line: 4,
  74.                                         ending_line_offset: 21,
  75.                                         ending_line_end_offset: 21,
  76.                                     },
  77.                                 },
  78.                                 span: Span {
  79.                                     file_name: "examples/simple.rig",
  80.                                     starting_line: 4,
  81.                                     starting_line_offset: 19,
  82.                                     starting_line_end_offset: 19,
  83.                                     ending_line: 4,
  84.                                     ending_line_offset: 21,
  85.                                     ending_line_end_offset: 21,
  86.                                 },
  87.                             },
  88.                             span: Span {
  89.                                 file_name: "examples/simple.rig",
  90.                                 starting_line: 4,
  91.                                 starting_line_offset: 22,
  92.                                 starting_line_end_offset: 22,
  93.                                 ending_line: 4,
  94.                                 ending_line_offset: 22,
  95.                                 ending_line_end_offset: 22,
  96.                             },
  97.                         },
  98.                         op: Multiply,
  99.                         rhs: AssignmentExpr {
  100.                             name: "x",
  101.                             value: BinaryExpr {
  102.                                 lhs: IntegerLiteralExpr {
  103.                                     value: 1,
  104.                                     span: Span {
  105.                                         file_name: "examples/simple.rig",
  106.                                         starting_line: 4,
  107.                                         starting_line_offset: 30,
  108.                                         starting_line_end_offset: 30,
  109.                                         ending_line: 4,
  110.                                         ending_line_offset: 30,
  111.                                         ending_line_end_offset: 30,
  112.                                     },
  113.                                 },
  114.                                 op: Multiply,
  115.                                 rhs: IntegerLiteralExpr {
  116.                                     value: 2,
  117.                                     span: Span {
  118.                                         file_name: "examples/simple.rig",
  119.                                         starting_line: 4,
  120.                                         starting_line_offset: 34,
  121.                                         starting_line_end_offset: 34,
  122.                                         ending_line: 4,
  123.                                         ending_line_offset: 34,
  124.                                         ending_line_end_offset: 34,
  125.                                     },
  126.                                 },
  127.                                 span: Span {
  128.                                     file_name: "examples/simple.rig",
  129.                                     starting_line: 4,
  130.                                     starting_line_offset: 30,
  131.                                     starting_line_end_offset: 30,
  132.                                     ending_line: 4,
  133.                                     ending_line_offset: 34,
  134.                                     ending_line_end_offset: 34,
  135.                                 },
  136.                             },
  137.                             span: Span {
  138.                                 file_name: "examples/simple.rig",
  139.                                 starting_line: 4,
  140.                                 starting_line_offset: 28,
  141.                                 starting_line_end_offset: 28,
  142.                                 ending_line: 4,
  143.                                 ending_line_offset: 34,
  144.                                 ending_line_end_offset: 34,
  145.                             },
  146.                         },
  147.                         span: Span {
  148.                             file_name: "examples/simple.rig",
  149.                             starting_line: 4,
  150.                             starting_line_offset: 18,
  151.                             starting_line_end_offset: 18,
  152.                             ending_line: 4,
  153.                             ending_line_offset: 34,
  154.                             ending_line_end_offset: 34,
  155.                         },
  156.                     },
  157.                     visibility: NotPub,
  158.                     span: Span {
  159.                         file_name: "examples/simple.rig",
  160.                         starting_line: 3,
  161.                         starting_line_offset: 18,
  162.                         starting_line_end_offset: 18,
  163.                         ending_line: 4,
  164.                         ending_line_offset: 35,
  165.                         ending_line_end_offset: 35,
  166.                     },
  167.                 },
  168.                 LetStmt {
  169.                     name: "y",
  170.                     ty: Some(
  171.                         VariableExpr {
  172.                             name: "YetAnotherType",
  173.                             span: Span {
  174.                                 file_name: "examples/simple.rig",
  175.                                 starting_line: 5,
  176.                                 starting_line_offset: 26,
  177.                                 starting_line_end_offset: 26,
  178.                                 ending_line: 5,
  179.                                 ending_line_offset: 26,
  180.                                 ending_line_end_offset: 26,
  181.                             },
  182.                         },
  183.                     ),
  184.                     value: BinaryExpr {
  185.                         lhs: VariableExpr {
  186.                             name: "x",
  187.                             span: Span {
  188.                                 file_name: "examples/simple.rig",
  189.                                 starting_line: 5,
  190.                                 starting_line_offset: 30,
  191.                                 starting_line_end_offset: 30,
  192.                                 ending_line: 5,
  193.                                 ending_line_offset: 30,
  194.                                 ending_line_end_offset: 30,
  195.                             },
  196.                         },
  197.                         op: Plus,
  198.                         rhs: IntegerLiteralExpr {
  199.                             value: 1,
  200.                             span: Span {
  201.                                 file_name: "examples/simple.rig",
  202.                                 starting_line: 5,
  203.                                 starting_line_offset: 32,
  204.                                 starting_line_end_offset: 32,
  205.                                 ending_line: 5,
  206.                                 ending_line_offset: 32,
  207.                                 ending_line_end_offset: 32,
  208.                             },
  209.                         },
  210.                         span: Span {
  211.                             file_name: "examples/simple.rig",
  212.                             starting_line: 5,
  213.                             starting_line_offset: 28,
  214.                             starting_line_end_offset: 28,
  215.                             ending_line: 5,
  216.                             ending_line_offset: 32,
  217.                             ending_line_end_offset: 32,
  218.                         },
  219.                     },
  220.                     visibility: NotPub,
  221.                     span: Span {
  222.                         file_name: "examples/simple.rig",
  223.                         starting_line: 4,
  224.                         starting_line_offset: 35,
  225.                         starting_line_end_offset: 35,
  226.                         ending_line: 5,
  227.                         ending_line_offset: 33,
  228.                         ending_line_end_offset: 33,
  229.                     },
  230.                 },
  231.                 LetStmt {
  232.                     name: "NoTypeAnnotation",
  233.                     ty: None,
  234.                     value: AssignmentExpr {
  235.                         name: "y",
  236.                         value: VariableExpr {
  237.                             name: "x",
  238.                             span: Span {
  239.                                 file_name: "examples/simple.rig",
  240.                                 starting_line: 6,
  241.                                 starting_line_offset: 32,
  242.                                 starting_line_end_offset: 32,
  243.                                 ending_line: 6,
  244.                                 ending_line_offset: 32,
  245.                                 ending_line_end_offset: 32,
  246.                             },
  247.                         },
  248.                         span: Span {
  249.                             file_name: "examples/simple.rig",
  250.                             starting_line: 6,
  251.                             starting_line_offset: 29,
  252.                             starting_line_end_offset: 29,
  253.                             ending_line: 6,
  254.                             ending_line_offset: 31,
  255.                             ending_line_end_offset: 31,
  256.                         },
  257.                     },
  258.                     visibility: NotPub,
  259.                     span: Span {
  260.                         file_name: "examples/simple.rig",
  261.                         starting_line: 5,
  262.                         starting_line_offset: 33,
  263.                         starting_line_end_offset: 33,
  264.                         ending_line: 6,
  265.                         ending_line_offset: 32,
  266.                         ending_line_end_offset: 32,
  267.                     },
  268.                 },
  269.             ],
  270.             span: Span {
  271.                 file_name: "examples/simple.rig",
  272.                 starting_line: 3,
  273.                 starting_line_offset: 18,
  274.                 starting_line_end_offset: 18,
  275.                 ending_line: 7,
  276.                 ending_line_offset: 0,
  277.                 ending_line_end_offset: 0,
  278.             },
  279.         },
  280.         visibility: NotPub,
  281.         span: Span {
  282.             file_name: "examples/simple.rig",
  283.             starting_line: 3,
  284.             starting_line_offset: 0,
  285.             starting_line_end_offset: 1,
  286.             ending_line: 7,
  287.             ending_line_offset: 0,
  288.             ending_line_end_offset: 0,
  289.         },
  290.     },
  291. ]
  292.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement