# -*- t-utils-ts-parse-tree -*-
(source_file<1,848> (comment[1,20]@{% -*- matlab-ts -*-}@) \n[20,22]
 (function_definition<22,74> function[22,30]
  (function_output<31,33> (identifier[31,32]@{a}@) =[32,33])
  name: (identifier[33,57]@{indent_lots_of_end_words}@) \n[57,58]
  (block<62,71>
   (assignment<62,69> left: (identifier[62,63]@{a}@) =[63,64]
    right: (function_call<64,69> name: (identifier[64,67]@{bar}@) ([67,68] )[68,69]))
   ;[69,70] \n[70,71])
  end[71,74])
 (comment[75,96]@{% end foo_end_comment}@) \n[96,98]
 (function_definition<98,705> function[98,106]
  (function_output<107,109> (identifier[107,108]@{B}@) =[108,109])
  name: (identifier[109,112]@{bar}@) \n[112,114]
  (block<118,702>
   (if_statement<118,147> if[118,120] condition: (identifier[121,124]@{foo}@)
    (block<133,140>
     (assignment<133,138> left: (identifier[133,134]@{A}@) =[135,136] right: (number[137,138]@{1}@))
     ;[138,139] \n[139,140])
    end[144,147])
   (comment[148,160]@{% end of iff}@) \n[160,162]
   (assignment<166,178> left: (identifier[166,167]@{B}@) =[168,169]
    right: 
     (function_call<170,178> name: (identifier[170,171]@{A}@) ([171,172]
      (arguments<172,177>
       argument: 
        (range<172,177> (number[172,173]@{1}@) :[173,174]
         (end_keyword<174,177> end[174,177])))
      )[177,178]))
   ;[178,179] (comment[180,184]@{%#ok}@) \n[184,186]
   (if_statement<190,248> if[190,192] condition: (identifier[193,196]@{foo}@)
    (block<205,241>
     (assignment<205,238> left: (identifier[205,206]@{C}@) =[207,208]
      right: (string<209,238> "[209,210] (string_content[210,237]@{this is the end of the line}@) "[237,238]))
     ;[238,239] \n[239,241])
    end[245,248])
   ;[248,249]
   (assignment<251,274> left: (identifier[251,252]@{D}@) =[253,254]
    right: (string<255,274> "[255,256] (string_content[256,273]@{string end string}@) "[273,274]))
   ;[274,275]
   (assignment<281,291> left: (identifier[281,282]@{E}@) =[283,284]
    right: 
     (matrix<285,291> [[285,286]
      (row<287,290> (identifier[287,288]@{D}@) ,[289,289] (identifier[289,290]@{C}@))
      ][290,291]))
   ;[291,292] \n[292,294]
   (if_statement<298,329> if[298,300] condition: (identifier[301,304]@{bar}@)
    (block<314,322>
     (assignment<314,319> left: (identifier[314,315]@{A}@) =[316,317] right: (identifier[318,319]@{E}@))
     ;[319,320] \n[320,322])
    end[326,329])
   ;[329,330]
   (assignment<331,343> left: (identifier[331,332]@{B}@) =[333,334]
    right: 
     (function_call<335,343> name: (identifier[335,336]@{A}@) ([336,337]
      (arguments<337,342>
       argument: 
        (range<337,342> (number[337,338]@{1}@) :[338,339]
         (end_keyword<339,342> end[339,342])))
      )[342,343]))
   ;[343,344]
   (assignment<350,355> left: (identifier[350,351]@{E}@) =[352,353] right: (identifier[354,355]@{B}@))
   ;[355,356] \n[356,358]
   (if_statement<362,393> if[362,364] condition: (identifier[365,368]@{baz}@)
    (block<378,386>
     (assignment<378,383> left: (identifier[378,379]@{A}@) =[380,381] right: (identifier[382,383]@{C}@))
     ;[383,384] \n[384,386])
    end[390,393])
   ;[393,394]
   (assignment<395,446> left: (identifier[395,396]@{B}@) =[397,398]
    right: 
     (matrix<399,446> [[399,400]
      (row<401,444> (number[401,402]@{1}@) ,[403,403] (number[403,404]@{2}@) (line_continuation[405,441]@{... is this the end?\n               }@) ,[441,441] (number[441,442]@{3}@) ,[443,443] (number[443,444]@{4}@))
      ][445,446]))
   ;[446,447] \n[447,449]
   (if_statement<453,484> if[453,455] condition: (identifier[456,459]@{foo}@)
    (block<469,477>
     (assignment<469,474> left: (identifier[469,470]@{A}@) =[471,472] right: (identifier[473,474]@{E}@))
     ;[474,475] \n[475,477])
    end[481,484])
   (line_continuation[485,503]@{... the other end\n}@) \n[503,504]
   (assignment<508,519> left: (identifier[508,509]@{B}@) =[510,511]
    right: 
     (matrix<512,519> [[512,513]
      (row<514,517> (identifier[514,515]@{B}@) ,[516,516] (identifier[516,517]@{A}@))
      ][518,519]))
   ;[519,520] (comment[526,538]@{% Multi-ends}@) \n[538,540]
   (if_statement<544,663> if[544,546] condition: (identifier[547,550]@{foo}@) (comment[551,555]@{%#ok}@) \n[555,556]
    (block<564,659>
     (if_statement<564,658> if[564,566] condition: (identifier[567,570]@{bar}@) (comment[571,575]@{%#ok}@) \n[575,576]
      (block<588,654>
       (if_statement<588,653> if[588,590] condition: (identifier[591,594]@{baz}@)
        (block<612,620>
         (assignment<612,617> left: (identifier[612,613]@{A}@) =[614,615] right: (identifier[616,617]@{B}@))
         ;[617,618] \n[618,620])
        (else_clause<632,638> else[632,636] \n[636,638])
        end[650,653])
       ;[653,654])
      end[655,658])
     ;[658,659])
    end[660,663])
   (comment[664,683]@{% comment end thing}@) \n[683,685]
   (assignment<689,699> left: (identifier[689,690]@{B}@) =[691,692]
    right: 
     (function_call<693,699> name: (identifier[693,696]@{goo}@) ([696,697]
      (arguments<697,698> argument: (identifier[697,698]@{A}@))
      )[698,699]))
   ;[699,700] \n[700,702])
  end[702,705])
 \n[705,707]
 (function_definition<707,847> function[707,715]
  (function_output<716,724> (identifier[716,722]@{result}@) =[723,724])
  name: (identifier[725,728]@{goo}@)
  (function_arguments<728,731> ([728,729] arguments: (identifier[729,730]@{b}@) )[730,731])
  \n[731,733]
  (block<737,844>
   (assignment<737,745> left: (identifier[737,743]@{result}@) =[743,744] right: (number[744,745]@{1}@))
   ;[745,746] (comment[751,782]@{% see xyz function\n    % foobar}@) \n[782,783]
   (for_statement<787,843> for[787,790]
    (iterator<791,806> (identifier[791,792]@{x}@) =[793,794]
     (range<795,806> (number[795,796]@{1}@) :[796,797]
      (function_call<797,806> name: (identifier[797,803]@{length}@) ([803,804]
       (arguments<804,805> argument: (identifier[804,805]@{b}@))
       )[805,806])))
    (block<815,836>
     (assignment<815,834> left: (identifier[815,821]@{result}@) =[822,823]
      right: (binary_operator<824,834> left: (identifier[824,825]@{x}@) +[826,827] right: (identifier[828,834]@{result}@)))
     ;[834,835] \n[835,836])
    end[840,843])
   \n[843,844])
  end[844,847])
 \n[847,848])
