# -*- t-utils-ts-parse-tree -*-
(source_file<1,7826> (comment[1,20]@{% -*- matlab-ts -*-}@) (comment[22,195]@{%  To be used for "typing" line-by-line. Same as ....}@) \n[195,197]
 (function_definition<197,1355> function[197,205] name: (identifier[206,235]@{indent_old_indents_for_typing}@)
  (function_arguments<235,272> ([235,236] arguments: (identifier[236,237]@{a}@) ,[237,238] (identifier[238,239]@{b}@) ,[239,240] (identifier[240,245]@{stuff}@) ,[245,246] (identifier[246,258]@{cmddual1fake}@) ,[258,259] (identifier[259,271]@{cmddual2fake}@) )[271,272])
  (comment[273,312]@{% Help text\n% !!0\n% of many lines\n% !!0}@) (comment[322,378]@{% including a gap - comment for following code\n  ...}@) \n[378,379] \n[383,384]
  (arguments_statement<388,703> arguments[388,397]
   (attributes<398,409> ([398,399] argument: (identifier[399,408]@{Repeating}@) )[408,409])
   (comment[410,415]@{% !!4}@) \n[415,416]
   (property<424,447> name: (identifier[424,425]@{a}@)
    (dimensions<426,431> ([426,427] (number[427,428]@{1}@) ,[428,429] (number[429,430]@{1}@) )[430,431])
    (validation_functions<432,447> {[432,433] (identifier[433,446]@{mustBeNumeric}@) }[446,447]))
   (comment[480,485]@{% !!8}@) \n[485,486]
   (property<494,508> name: (identifier[494,495]@{b}@)
    (dimensions<496,501> ([496,497]
     (spread_operator<497,498> :[497,498])
     ,[498,499]
     (spread_operator<499,500> :[499,500])
     )[500,501])
    (identifier[502,508]@{double}@))
   (comment[550,555]@{% !!8}@) \n[555,556]
   (property<564,618> name: (identifier[564,569]@{stuff}@)
    (validation_functions<570,618> {[570,571]
     (function_call<571,617> name: (identifier[571,583]@{mustBeMember}@) ([583,584]
      (arguments<584,616> argument: (identifier[584,589]@{stuff}@) ,[589,590]
       (cell<591,616> {[591,592]
        (row<593,614>
         (string<593,599> '[593,594] (string_content[594,598]@{this}@) '[598,599])
         ,[600,600]
         (string<600,606> '[600,601] (string_content[601,605]@{that}@) '[605,606])
         ,[607,607]
         (string<607,614> '[607,608] (string_content[608,613]@{other}@) '[613,614]))
        }[615,616]))
      )[616,617])
     }[617,618]))
   (comment[620,625]@{% !!8}@) \n[625,626]
   (property<634,653> name: (identifier[634,646]@{cmddual1fake}@) (identifier[647,653]@{double}@))
   (comment[655,660]@{% !!8}@) \n[660,661]
   (property<669,685> name: (identifier[669,681]@{cmddual2fake}@) (identifier[682,685]@{int}@))
   (comment[690,695]@{% !!8}@) \n[695,696] end[700,703])
  (comment[704,709]@{% !!4}@) \n[709,710] \n[714,715]
  (block<719,1352>
   (persistent_operator<719,734> persistent[719,729] (identifier[730,734]@{var1}@))
   (comment[735,740]@{% !!4}@) \n[740,741]
   (global_operator<745,760> global[745,751] (identifier[756,760]@{var2}@))
   (comment[761,766]@{% !!4}@) \n[766,767]
   (persistent_operator<771,786> persistent[771,781] (identifier[782,786]@{var3}@))
   (comment[787,792]@{% !!4}@) \n[792,793]
   (assignment<807,817> left: (identifier[807,813]@{locala}@) =[814,815] right: (identifier[816,817]@{a}@))
   ;[817,818] (comment[819,823]@{%#ok}@)
   (assignment<828,838> left: (identifier[828,834]@{localb}@) =[835,836] right: (identifier[837,838]@{b}@))
   ;[838,839] (comment[840,844]@{%#ok}@)
   (assignment<849,867> left: (identifier[849,859]@{localstuff}@) =[860,861] right: (identifier[862,867]@{stuff}@))
   ;[867,868] (comment[869,873]@{%#ok}@) \n[873,874] \n[878,879]
   (if_statement<883,911> if[883,885]
    condition: 
     (function_call<886,899> name: (identifier[886,893]@{isempty}@) ([893,894]
      (arguments<894,898> argument: (identifier[894,898]@{var1}@))
      )[898,899])
    (block<900,907>
     (assignment<900,906> left: (identifier[900,904]@{var1}@) =[904,905] right: (number[905,906]@{1}@))
     ;[906,907])
    end[908,911])
   (comment[912,920]@{%#ok !!4}@) \n[920,921]
   (if_statement<925,953> if[925,927]
    condition: 
     (function_call<928,941> name: (identifier[928,935]@{isempty}@) ([935,936]
      (arguments<936,940> argument: (identifier[936,940]@{var3}@))
      )[940,941])
    (block<942,949>
     (assignment<942,948> left: (identifier[942,946]@{var3}@) =[946,947] right: (number[947,948]@{2}@))
     ;[948,949])
    end[950,953])
   (comment[954,962]@{%#ok !!4}@) \n[962,963]
   (function_call<972,1018> name: (identifier[972,1000]@{ends_in_comments_and_strings}@) ([1000,1001]
    (arguments<1001,1017> argument: (identifier[1001,1005]@{var1}@) ,[1005,1006] (identifier[1007,1011]@{var2}@) ,[1011,1012] (identifier[1013,1017]@{var3}@))
    )[1017,1018])
   ;[1018,1019] (comment[1020,1041]@{% !!4 has end in name}@) (comment[1051,1056]@{% !!4}@)
   (function_call<1066,1129> name: (identifier[1066,1102]@{block_starts_in_comments_and_strings}@) ([1102,1103]
    (arguments<1103,1128> argument: (identifier[1103,1115]@{cmddual1fake}@) ,[1115,1116] (identifier[1116,1128]@{cmddual2fake}@))
    )[1128,1129])
   ;[1129,1130]
   (function_call<1135,1157> name: (identifier[1135,1155]@{array_constant_decls}@) ([1155,1156] )[1156,1157])
   ;[1157,1158] (comment[1168,1173]@{% !!4}@)
   (function_call<1183,1217> name: (identifier[1183,1215]@{continuations_and_block_comments}@) ([1215,1216] )[1216,1217])
   ;[1217,1218] (comment[1228,1273]@{% $$$ !!0  \n    % $$$ special ignore comments}@)
   (function_call<1283,1299> name: (identifier[1283,1297]@{has_nested_fcn}@) ([1297,1298] )[1298,1299])
   ;[1299,1300] (comment[1301,1306]@{% !!4}@) (comment[1316,1346]@{% !!4  - after ignore comments}@) \n[1346,1347] \n[1351,1352])
  end[1352,1355])
 (comment[1356,1380]@{% Comment with end in it}@) (comment[1382,1386]@{%!!0}@) \n[1386,1388]
 (function_definition<1388,2542> function[1388,1396]
  (function_output<1397,1400> (identifier[1397,1398]@{B}@) =[1399,1400])
  name: (identifier[1401,1429]@{ends_in_comments_and_strings}@)
  (function_arguments<1429,1431> ([1429,1430] )[1430,1431])
  (comment[1432,1437]@{% !!0}@) (comment[1447,1452]@{% >>6}@) \n[1452,1453]
  (block<1457,2539>
   (if_statement<1457,1486> if[1457,1459] condition: (identifier[1460,1463]@{foo}@)
    (block<1472,1479>
     (assignment<1472,1477> left: (identifier[1472,1473]@{A}@) =[1474,1475] right: (number[1476,1477]@{1}@))
     ;[1477,1478] \n[1478,1479])
    end[1483,1486])
   (comment[1487,1517]@{% <<6 end in comment after end}@) (comment[1527,1532]@{% !!4}@) \n[1532,1533]
   (command<1542,1563> (command_name[1542,1563]@{symbol_with_end_in_it}@))
   ;[1563,1564]
   (assignment<1574,1586> left: (identifier[1574,1575]@{B}@) =[1576,1577]
    right: 
     (function_call<1578,1586> name: (identifier[1578,1579]@{A}@) ([1579,1580]
      (arguments<1580,1585>
       argument: 
        (range<1580,1585> (number[1580,1581]@{1}@) :[1581,1582]
         (end_keyword<1582,1585> end[1582,1585])))
      )[1585,1586]))
   ;[1586,1587] (comment[1588,1592]@{%#ok}@) (comment[1602,1627]@{%% cell start comment !!4}@) \n[1627,1628]
   (if_statement<1632,1745> if[1632,1634] condition: (identifier[1635,1638]@{foo}@) (comment[1639,1643]@{%!!4}@)
    (block<1652,1701>
     (assignment<1652,1685> left: (identifier[1652,1653]@{C}@) =[1654,1655]
      right: (string<1656,1685> "[1656,1657] (string_content[1657,1684]@{this is the end of the line}@) "[1684,1685]))
     ;[1685,1686] (comment[1695,1700]@{% !!8}@) \n[1700,1701])
    (else_clause<1705,1738> else[1705,1709] (comment[1710,1714]@{%!!4}@) (comment[1732,1737]@{% !!8}@) \n[1737,1738])
    end[1742,1745])
   ;[1745,1746]
   (assignment<1748,1771> left: (identifier[1748,1749]@{D}@) =[1750,1751]
    right: (string<1752,1771> "[1752,1753] (string_content[1753,1770]@{string end string}@) "[1770,1771]))
   ;[1771,1772] (comment[1777,1782]@{% !!4}@)
   (assignment<1792,1802> left: (identifier[1792,1793]@{E}@) =[1794,1795]
    right: 
     (matrix<1796,1802> [[1796,1797]
      (row<1798,1801> (identifier[1798,1799]@{D}@) ,[1800,1800] (identifier[1800,1801]@{C}@))
      ][1801,1802]))
   ;[1802,1803] \n[1803,1804] \n[1808,1809]
   (if_statement<1813,1860> if[1813,1815] condition: (identifier[1816,1819]@{bar}@)
    (block<1837,1853>
     (assignment<1837,1842> left: (identifier[1837,1838]@{A}@) =[1839,1840] right: (identifier[1841,1842]@{E}@))
     ;[1842,1843] \n[1843,1844] \n[1852,1853])
    end[1857,1860])
   ;[1860,1861]
   (assignment<1862,1874> left: (identifier[1862,1863]@{B}@) =[1864,1865]
    right: 
     (function_call<1866,1874> name: (identifier[1866,1867]@{A}@) ([1867,1868]
      (arguments<1868,1873>
       argument: 
        (range<1868,1873> (number[1868,1869]@{1}@) :[1869,1870]
         (end_keyword<1870,1873> end[1870,1873])))
      )[1873,1874]))
   ;[1874,1875] (comment[1880,1885]@{% !!4}@)
   (assignment<1895,1900> left: (identifier[1895,1896]@{E}@) =[1897,1898] right: (identifier[1899,1900]@{B}@))
   ;[1900,1901] \n[1901,1902] \n[1906,1907]
   (if_statement<1911,1958> if[1911,1913] condition: (identifier[1914,1917]@{baz}@)
    (block<1935,1951>
     (assignment<1935,1940> left: (identifier[1935,1936]@{A}@) =[1937,1938] right: (identifier[1939,1940]@{C}@))
     ;[1940,1941] \n[1941,1942] \n[1950,1951])
    end[1955,1958])
   ;[1958,1959]
   (assignment<1960,2014> left: (identifier[1960,1961]@{B}@) =[1962,1963]
    right: 
     (matrix<1964,2014> [[1964,1965]
      (row<1966,2012> (number[1966,1967]@{1}@) ,[1968,1968] (number[1968,1969]@{2}@) (line_continuation[1970,2009]@{...  % is this the end?\n               }@) ,[2009,2009] (number[2009,2010]@{3}@) ,[2011,2011] (number[2011,2012]@{4}@))
      ][2013,2014]))
   ;[2014,2015] (comment[2018,2024]@{% !!15}@) (comment[2034,2039]@{% !!4}@) \n[2039,2040] \n[2044,2045]
   (if_statement<2049,2096> if[2049,2051] condition: (identifier[2052,2055]@{foo}@)
    (block<2073,2089>
     (assignment<2073,2078> left: (identifier[2073,2074]@{A}@) =[2075,2076] right: (identifier[2077,2078]@{E}@))
     ;[2078,2079] \n[2079,2080] \n[2088,2089])
    end[2093,2096])
   (comment[2097,2123]@{% the other end\n    % !! 4}@) \n[2123,2124]
   (assignment<2133,2144> left: (identifier[2133,2134]@{B}@) =[2135,2136]
    right: 
     (matrix<2137,2144> [[2137,2138]
      (row<2139,2142> (identifier[2139,2140]@{B}@) ,[2141,2141] (identifier[2141,2142]@{A}@))
      ][2143,2144]))
   ;[2144,2145] (comment[2146,2151]@{% !!4}@)
   (assignment<2161,2204> left: (identifier[2161,2164]@{str}@) =[2165,2166]
    right: (string<2167,2204> '[2167,2168] (string_content[2168,2203]@{This is a char array with ... in it}@) '[2203,2204]))
   ;[2204,2205]
   (function_call<2210,2218> name: (identifier[2210,2213]@{foo}@) ([2213,2214]
    (arguments<2214,2217> argument: (identifier[2214,2217]@{str}@))
    )[2217,2218])
   ;[2218,2219] (comment[2220,2225]@{% !!4}@)
   (function_call<2235,2261> name: (identifier[2235,2242]@{fcncall}@) ([2242,2243]
    (arguments<2243,2260> argument: (identifier[2243,2247]@{arg1}@) ,[2247,2248]
     (string<2249,2254> '[2249,2250] (string_content[2250,2253]@{...}@) '[2253,2254])
     ,[2254,2255] (identifier[2256,2260]@{arg3}@))
    )[2260,2261])
   ;[2261,2262] (comment[2263,2268]@{% !!4}@) \n[2268,2269] (number[2273,2274]@{1}@) ;[2274,2275] (comment[2276,2281]@{% !!4}@) (comment[2287,2311]@{% Multi- end s\n    % >>8}@) \n[2311,2312]
   (if_statement<2316,2483> if[2316,2318] condition: (identifier[2319,2322]@{foo}@) (comment[2323,2327]@{%#ok}@) \n[2327,2328]
    (block<2336,2479>
     (if_statement<2336,2478> if[2336,2338] condition: (identifier[2339,2342]@{bar}@) (comment[2343,2347]@{%#ok}@) \n[2347,2348]
      (block<2360,2474>
       (if_statement<2360,2473> if[2360,2362] condition: (identifier[2363,2366]@{baz}@)
        (block<2400,2424>
         (assignment<2400,2405> left: (identifier[2400,2401]@{A}@) =[2402,2403] right: (identifier[2404,2405]@{B}@))
         ;[2405,2406] \n[2406,2407] \n[2423,2424])
        (else_clause<2436,2458> else[2436,2440] \n[2440,2441] \n[2457,2458])
        end[2470,2473])
       ;[2473,2474])
      end[2475,2478])
     ;[2478,2479])
    end[2480,2483])
   (comment[2484,2507]@{% <<8 comment end thing}@) (comment[2517,2522]@{% !!4}@) \n[2522,2523]
   (assignment<2527,2532> left: (identifier[2527,2528]@{B}@) =[2529,2530] right: (identifier[2531,2532]@{A}@))
   ;[2532,2533] \n[2533,2534] \n[2538,2539])
  end[2539,2542])
 \n[2542,2544]
 (function_definition<2544,5326> function[2544,2552]
  (function_output<2553,2558> (identifier[2553,2556]@{out}@) =[2557,2558])
  name: (identifier[2559,2579]@{array_constant_decls}@)
  (function_arguments<2579,2581> ([2579,2580] )[2580,2581])
  \n[2581,2582]
  (block<2591,5323>
   (assignment<2591,2604> left: (identifier[2591,2592]@{A}@) =[2593,2594]
    right: 
     (matrix<2595,2604> [[2595,2596]
      (row<2597,2602> (number[2597,2598]@{1}@) ,[2599,2599] (number[2599,2600]@{2}@) ,[2601,2601] (number[2601,2602]@{3}@))
      ][2603,2604]))
   ;[2604,2605] (comment[2606,2610]@{%!!4}@)
   (assignment<2620,2678> left: (identifier[2620,2625]@{Blong}@) =[2626,2627]
    right: 
     (matrix<2628,2678> [[2628,2629]
      (row<2630,2633> (number[2630,2631]@{1}@) ,[2632,2632] (number[2632,2633]@{2}@))
      (comment[2635,2639]@{%!!4}@)
      (row<2654,2657> (number[2654,2655]@{3}@) ,[2656,2656] (number[2656,2657]@{4}@))
      (comment[2659,2664]@{%!!14}@) ][2677,2678]))
   ;[2678,2679] (comment[2680,2685]@{%!!12}@)
   (assignment<2695,2763> left: (identifier[2695,2699]@{Csep}@) =[2700,2701]
    right: 
     (matrix<2702,2763> [[2702,2703]
      (row<2718,2721> (number[2718,2719]@{1}@) ,[2720,2720] (number[2720,2721]@{2}@))
      (comment[2723,2727]@{%!!8}@)
      (row<2741,2744> (number[2741,2742]@{3}@) ,[2743,2743] (number[2743,2744]@{4}@))
      (comment[2746,2750]@{%!!8}@) ][2762,2763]))
   ;[2763,2764] (comment[2765,2770]@{%!!11}@)
   (assignment<2780,3188> left: (identifier[2780,2789]@{multinest}@) =[2790,2791]
    right: 
     (cell<2792,3188> {[2792,2793]
      (row<2794,2844>
       (matrix<2794,2844> [[2794,2795]
        (row<2796,2799> (number[2796,2797]@{1}@) ,[2798,2798] (number[2798,2799]@{2}@))
        (comment[2814,2818]@{%!!4}@)
        (row<2839,2842> (number[2839,2840]@{3}@) ,[2841,2841] (number[2841,2842]@{4}@))
        ][2843,2844]))
      (comment[2857,2862]@{%!!20}@)
      (row<2881,2970>
       (cell<2881,2970> {[2881,2882]
        (row<2883,2933> (number[2883,2884]@{5}@) ,[2885,2885] (number[2885,2886]@{6}@) ,[2887,2887] (number[2887,2888]@{7}@) (line_continuation[2889,2927]@{...         %!!18\n                    }@) ,[2927,2927] (number[2927,2928]@{8}@) ,[2929,2929] (number[2929,2930]@{9}@) ,[2931,2931] (number[2931,2933]@{10}@))
        (line_continuation[2934,2969]@{...        %!!20\n                  }@) }[2969,2970]))
      (comment[2989,2994]@{%!!18}@)
      (row<3013,3163>
       (function_call<3013,3163> name: (identifier[3013,3020]@{fcncall}@) ([3020,3021]
        (arguments<3021,3162> argument: (number[3021,3023]@{10}@) ,[3023,3024] (line_continuation[3025,3039]@{...     %!!18\n}@) (number[3065,3067]@{12}@) ,[3067,3068] (line_continuation[3069,3083]@{...     %!!26\n}@)
         (matrix<3109,3162> [[3109,3110]
          (row<3111,3116> (number[3111,3113]@{13}@) ,[3114,3114] (number[3114,3116]@{14}@))
          ;[3116,3117] (comment[3121,3126]@{%!!26}@)
          (row<3155,3160> (number[3155,3157]@{15}@) ,[3158,3158] (number[3158,3160]@{16}@))
          ][3161,3162]))
        )[3162,3163]))
      (comment[3165,3170]@{%!!28}@) }[3187,3188]))
   ;[3189,3190] (comment[3192,3197]@{%!!16}@)
   (assignment<3207,3373> left: (identifier[3207,3211]@{nest}@) =[3212,3213]
    right: 
     (cell<3214,3373> {[3214,3215] (line_continuation[3216,3225]@{... %!!4\n}@)
      (row<3238,3239> (number[3238,3239]@{1}@))
      (comment[3247,3251]@{%!!8}@)
      (row<3265,3348>
       (matrix<3265,3321> [[3265,3266] (line_continuation[3267,3279]@{...    %!!8\n}@)
        (row<3294,3297> (number[3294,3295]@{2}@) ,[3296,3296] (number[3296,3297]@{3}@))
        (comment[3301,3306]@{%!!10}@) ][3320,3321])
       (line_continuation[3322,3347]@{...    %!!8\n             }@) ,[3347,3347] (number[3347,3348]@{3}@))
      (comment[3356,3360]@{%!!8}@) }[3372,3373]))
   ;[3373,3374] (comment[3378,3383]@{%!!11}@)
   (assignment<3393,3532> left: (identifier[3393,3410]@{cascade_long_name}@) =[3411,3412] (line_continuation[3413,3422]@{... %!!4\n}@)
    right: 
     (cell<3430,3532> {[3430,3431] (line_continuation[3432,3455]@{...               %!!8\n}@)
      (row<3465,3466> (number[3465,3466]@{1}@))
      (comment[3483,3488]@{%!!10}@)
      (row<3499,3500> (number[3499,3500]@{2}@))
      (comment[3517,3522]@{%!!10}@) }[3531,3532]))
   ;[3532,3533] (comment[3551,3555]@{%!!8}@) (comment[3565,3693]@{% TODO\n    % I don't know why the below indents t...}@)
   (field_expression<3698,3926> object: (identifier[3698,3703]@{thing}@) .[3703,3704] field: (identifier[3704,3709]@{thing}@) .[3709,3710] (identifier[3710,3714]@{long}@) .[3714,3715] (identifier[3715,3719]@{long}@) .[3719,3720]
    (function_call<3720,3926> name: (identifier[3720,3728]@{longname}@) ([3728,3729]
     (arguments<3729,3925>
      argument: 
       (cell<3729,3925> {[3729,3730]
        (row<3731,3736>
         (string<3731,3736> '[3731,3732] (string_content[3732,3735]@{str}@) '[3735,3736]))
        (comment[3737,3741]@{%!!4}@)
        (row<3779,3784>
         (string<3779,3784> '[3779,3780] (string_content[3780,3783]@{str}@) '[3783,3784]))
        (comment[3785,3790]@{%!!37}@)
        (row<3828,3833>
         (string<3828,3833> '[3828,3829] (string_content[3829,3832]@{str}@) '[3832,3833]))
        (comment[3834,3839]@{%!!37}@)
        (row<3877,3882>
         (string<3877,3882> '[3877,3878] (string_content[3878,3881]@{str}@) '[3881,3882]))
        (comment[3883,3888]@{%!!37}@) }[3924,3925]))
     )[3925,3926]))
   ;[3926,3927] (comment[3930,3935]@{%!!35}@)
   (field_expression<3945,4175> object: (identifier[3945,3950]@{thing}@) .[3950,3951] field: (identifier[3951,3956]@{thing}@) .[3956,3957] (identifier[3957,3961]@{long}@) .[3961,3962] (identifier[3962,3966]@{long}@) .[3966,3967]
    (function_call<3967,4175> name: (identifier[3967,3975]@{longname}@) ([3975,3976]
     (arguments<3976,4136>
      argument: (string<3976,3981> '[3976,3977] (string_content[3977,3980]@{str}@) '[3980,3981])
      ,[3981,3982] (line_continuation[3983,3992]@{... %!!4\n}@)
      (string<4027,4032> '[4027,4028] (string_content[4028,4031]@{str}@) '[4031,4032])
      ,[4032,4033] (line_continuation[4034,4044]@{... %!!35\n}@)
      (string<4079,4084> '[4079,4080] (string_content[4080,4083]@{str}@) '[4083,4084])
      ,[4084,4085] (line_continuation[4086,4096]@{... %!!35\n}@)
      (string<4131,4136> '[4131,4132] (string_content[4132,4135]@{str}@) '[4135,4136]))
     (line_continuation[4137,4148]@{...  %!!35\n}@) )[4174,4175]))
   ;[4175,4176] (comment[4179,4184]@{%!!34}@) (comment[4194,4232]@{% Line starting with end inside parens}@)
   (function_call<4237,4280> name: (identifier[4237,4241]@{disp}@) ([4241,4242]
    (arguments<4242,4279>
     argument: 
      (function_call<4242,4279> name: (identifier[4242,4246]@{Csep}@) ([4246,4247]
       (arguments<4247,4278>
        argument: 
         (range<4247,4278> (number[4247,4248]@{1}@) :[4248,4249] (line_continuation[4251,4261]@{...  %!!4\n}@)
          (end_keyword<4275,4278> end[4275,4278])))
       )[4278,4279]))
    )[4279,4280])
   ;[4280,4281] (comment[4284,4289]@{%!!14}@) (comment[4295,4372]@{% This array has bad syntactic expression parsing ...}@)
   (assignment<4377,4515> left: (identifier[4377,4385]@{Closures}@) =[4386,4387]
    right: 
     (matrix<4388,4515> [[4388,4389]
      (row<4408,4414> (number[4408,4414]@{755009}@))
      (line_continuation[4417,4463]@{... % 21-Feb-2067 Washington's Birthday (Mon)\n}@)
      (row<4480,4486> (number[4480,4486]@{755010}@))
      (comment[4493,4498]@{% !!8}@) ][4514,4515]))
   ;[4515,4516]
   (assignment<4526,4750> left: (identifier[4526,4529]@{dep}@) =[4530,4531]
    right: 
     (matrix<4532,4750> [[4532,4533]
      (row<4546,4655>
       (function_call<4546,4589> name: (identifier[4546,4550]@{root}@) ([4550,4551]
        (arguments<4551,4588>
         argument: 
          (field_expression<4551,4564> object: (identifier[4551,4555]@{info}@) .[4555,4556]
           field: (identifier<4556,4564> function[4556,4564]))
         ,[4564,4565] (identifier[4566,4573]@{factory}@) ,[4573,4574] (identifier[4575,4584]@{workspace}@) ,[4584,4585]
         (matrix<4586,4588> [[4586,4587] ][4587,4588]))
        )[4588,4589])
       ,[4589,4590] (line_continuation[4591,4630]@{...    % likewise this isn't a keyword\n}@)
       (field_expression<4642,4655> object: (identifier[4642,4646]@{fcn3}@) .[4646,4647] field: (identifier[4647,4655]@{finalize}@)))
      (comment[4694,4738]@{% the single quote used to break [] scanning}@) ][4749,4750]))
   ;[4750,4751] (comment[4761,4872]@{% This long fcn name last symbol starts with 'get'...}@) \n[4872,4873]
   (if_statement<4877,5061> if[4877,4879]
    condition: 
     (field_expression<4880,5025> object: (identifier[4880,4890]@{qesimcheck}@) .[4890,4891] field: (identifier[4891,4896]@{utils}@) .[4896,4897]
      (function_call<4897,5025> name: (identifier[4897,4911]@{GetYesNoAnswer}@) ([4911,4912]
       (arguments<4912,5024>
        argument: (string<4912,4917> '[4912,4913] (string_content[4913,4916]@{Do }@) '[4916,4917])
        ,[4917,4918] (line_continuation[4918,4926]@{... !!4\n}@)
        (string<4965,4968> '[4965,4966] (string_content[4966,4967]@{n}@) '[4967,4968])
        ,[4968,4969] (line_continuation[4969,4979]@{...  !!39\n}@)
        (string<5018,5024> '[5018,5019] (string_content[5019,5023]@{once}@) '[5023,5024]))
       )[5024,5025]))
    (comment[5026,5031]@{%!!39}@)
    (block<5040,5054>
     (function_call<5040,5046> name: (identifier[5040,5044]@{code}@) ([5044,5045] )[5045,5046])
     ;[5046,5047] (comment[5049,5053]@{%!!8}@) \n[5053,5054])
    end[5058,5061])
   (comment[5063,5067]@{%!!4}@) (comment[5087,5092]@{% !!4}@) \n[5092,5093]
   (assignment<5097,5309> left: (identifier[5097,5100]@{out}@) =[5101,5102]
    right: 
     (cell<5103,5309> {[5103,5104]
      (row<5105,5106> (identifier[5105,5106]@{A}@))
      (comment[5111,5115]@{%!!4}@)
      (row<5128,5133> (identifier[5128,5133]@{Blong}@))
      (comment[5134,5139]@{%!!12}@)
      (row<5152,5156> (identifier[5152,5156]@{Csep}@))
      (comment[5158,5163]@{%!!12}@)
      (row<5176,5180> (identifier[5176,5180]@{nest}@))
      (comment[5182,5187]@{%!!12}@)
      (row<5200,5209> (identifier[5200,5209]@{multinest}@))
      (comment[5209,5214]@{%!!12}@)
      (row<5227,5244> (identifier[5227,5244]@{cascade_long_name}@))
      (comment[5244,5249]@{%!!12}@)
      (row<5262,5270> (identifier[5262,5270]@{Closures}@))
      (comment[5270,5275]@{%!!12}@)
      (row<5288,5291> (identifier[5288,5291]@{dep}@))
      (comment[5292,5297]@{%!!12}@) }[5308,5309]))
   ;[5309,5310] (comment[5316,5321]@{%!!10}@) \n[5321,5323])
  end[5323,5326])
 \n[5326,5328]
 (function_definition<5328,5954> function[5328,5336]
  (function_output<5337,5340> (identifier[5337,5338]@{C}@) =[5339,5340])
  name: (identifier[5341,5377]@{block_starts_in_comments_and_strings}@)
  (function_arguments<5377,5387> ([5377,5378] arguments: (identifier[5378,5386]@{varargin}@) )[5386,5387])
  (comment[5388,5393]@{% !!0}@) \n[5393,5394]
  (block<5403,5951>
   (assignment<5403,5408> left: (identifier[5403,5404]@{C}@) =[5405,5406] right: (number[5407,5408]@{0}@))
   ;[5408,5409] \n[5409,5410] \n[5414,5415]
   (if_statement<5419,5504> if[5419,5421]
    condition: 
     (function_call<5422,5433> name: (identifier[5422,5430]@{varargin}@) {[5430,5431]
      (arguments<5431,5432> argument: (number[5431,5432]@{1}@))
      }[5432,5433])
    (comment[5434,5443]@{% if true}@) (comment[5461,5466]@{% !!8}@) \n[5466,5467]
    (else_clause<5471,5497> else[5471,5475] (comment[5476,5481]@{% !!4}@) (comment[5491,5496]@{% !!8}@) \n[5496,5497])
    end[5501,5504])
   (comment[5505,5514]@{% if true}@) (comment[5529,5562]@{% see previous function\n    % !!4}@) \n[5562,5563]
   (for_statement<5567,5751> for[5567,5570]
    (iterator<5571,5584> (identifier[5571,5572]@{x}@) =[5572,5573]
     (range<5573,5584> (number[5573,5574]@{1}@) :[5574,5575]
      (function_call<5575,5584> name: (identifier[5575,5581]@{length}@) ([5581,5582]
       (arguments<5582,5583> argument: (identifier[5582,5583]@{C}@))
       )[5583,5584])))
    (comment[5585,5590]@{% !!4}@) \n[5590,5591]
    (block<5599,5744>
     (if_statement<5599,5663> if[5599,5601]
      condition: 
       (function_call<5602,5613> name: (identifier[5602,5610]@{varargin}@) {[5610,5611]
        (arguments<5611,5612> argument: (number[5611,5612]@{2}@))
        }[5612,5613])
      (comment[5615,5620]@{% !!8}@) \n[5620,5621]
      (block<5633,5652>
       (continue_statement<5633,5641> continue[5633,5641])
       (comment[5645,5651]@{% !!12}@) \n[5651,5652])
      end[5660,5663])
     (comment[5666,5671]@{% !!8}@) \n[5671,5672] \n[5680,5681]
     (break_statement<5689,5694> break[5689,5694])
     (comment[5695,5721]@{% !!8\n              % !!14}@) (comment[5739,5743]@{%!!8}@) \n[5743,5744])
    end[5748,5751])
   \n[5751,5753]
   (switch_statement<5757,5867> switch[5757,5763]
    condition: (function_call<5764,5769> name: (identifier[5764,5767]@{foo}@) ([5767,5768] )[5768,5769])
    (comment[5771,5775]@{%!!4}@) \n[5775,5776]
    (case_clause<5782,5817> case[5782,5786] condition: (number[5787,5788]@{1}@) (comment[5790,5794]@{%!!6}@) (comment[5812,5816]@{%!!8}@) \n[5816,5817])
    (otherwise_clause<5823,5860> otherwise[5823,5832] (comment[5833,5837]@{%!!6}@) (comment[5855,5859]@{%!!8}@) \n[5859,5860])
    end[5864,5867])
   (comment[5868,5872]@{%!!4}@) \n[5872,5874]
   (try_statement<5878,5945> try[5878,5881] (comment[5890,5895]@{% !!8}@) \n[5895,5896]
    (catch_clause<5900,5938> catch[5900,5905] (comment[5906,5914]@{%!!4    }@) (comment[5932,5937]@{% !!8}@) \n[5937,5938])
    end[5942,5945])
   \n[5945,5946] \n[5950,5951])
  end[5951,5954])
 \n[5954,5956]
 (function_definition<5956,6974> function[5956,5964]
  (function_output<5965,5968> (identifier[5965,5966]@{B}@) =[5967,5968])
  name: (identifier[5969,6001]@{continuations_and_block_comments}@) (comment[6002,6019]@{% !!0\n% !!0\n% !!0}@) \n[6019,6020]
  (block<6029,6971>
   (assignment<6029,6035> left: (identifier[6029,6033]@{arg1}@) =[6033,6034] right: (number[6034,6035]@{1}@))
   ;[6035,6036] (comment[6051,6139]@{% Block comment indicators MUST be on a line by th...}@)
   (function_call<6149,6155> name: (identifier[6149,6152]@{foo}@) ([6152,6153]
    (arguments<6153,6154> argument: (number[6153,6154]@{1}@))
    )[6154,6155])
   ;[6155,6156] (comment[6157,6192]@{% !!4   - don't indent this special}@) (comment[6202,6236]@{%\} Not an end to a block comment \{}@)
   (function_call<6246,6278> name: (identifier[6246,6249]@{foo}@) ([6249,6250]
    (arguments<6250,6277> argument: (identifier[6250,6254]@{arg1}@) ,[6254,6255] (line_continuation[6256,6265]@{... %!!4\n}@) (identifier[6273,6277]@{arg2}@))
    )[6277,6278])
   ;[6278,6279] (comment[6281,6285]@{%!!8}@)
   (function_call<6295,6345> name: (identifier[6295,6307]@{foo_long_fcn}@) ([6307,6308]
    (arguments<6308,6344> argument: (identifier[6308,6312]@{arg1}@) ,[6312,6313] (line_continuation[6314,6323]@{... %!!4\n}@) (identifier[6340,6344]@{arg2}@))
    )[6344,6345])
   ;[6345,6346] (comment[6347,6352]@{%!!17}@)
   (assignment<6362,6394> left: (identifier[6362,6363]@{A}@) =[6364,6365]
    right: 
     (matrix<6366,6394> [[6366,6367]
      (row<6368,6371> (number[6368,6369]@{1}@) ,[6370,6370] (number[6370,6371]@{2}@))
      (comment[6373,6378]@{% !!4}@)
      (row<6389,6392> (number[6389,6390]@{3}@) ,[6391,6391] (number[6391,6392]@{4}@))
      ][6393,6394]))
   ;[6394,6395] (comment[6396,6402]@{% !!10}@)
   (function_call<6412,6517> name: (identifier[6412,6415]@{foo}@) ([6415,6416]
    (arguments<6416,6516>
     argument: 
      (matrix<6416,6516> [[6416,6417]
       (row<6417,6515>
        (string<6417,6445> '[6417,6418] (string_content[6418,6444]@{this is a very long string}@) '[6444,6445])
        ,[6445,6446] (line_continuation[6447,6456]@{... %!!4\n}@)
        (string<6465,6515> '[6465,6466] (string_content[6466,6514]@{with a continution to do something very exciting}@) '[6514,6515]))
       ][6515,6516]))
    )[6516,6517])
   ;[6517,6518] (comment[6518,6522]@{%!!9}@)
   (function_call<6532,6598> name: (identifier[6532,6535]@{set}@) ([6535,6536]
    (arguments<6536,6597> argument: (identifier[6536,6539]@{gcf}@) ,[6539,6540]
     (string<6540,6550> '[6540,6541] (string_content[6541,6549]@{Position}@) '[6549,6550])
     ,[6550,6551]
     (matrix<6551,6561> [[6551,6552]
      (row<6553,6560> (number[6553,6554]@{1}@) ,[6555,6555] (number[6555,6556]@{2}@) ,[6557,6557] (number[6557,6558]@{3}@) ,[6559,6559] (number[6559,6560]@{4}@))
      ][6560,6561])
     ,[6561,6562] (line_continuation[6563,6571]@{... !!4\n}@)
     (string<6583,6590> '[6583,6584] (string_content[6584,6589]@{Color}@) '[6589,6590])
     ,[6590,6591]
     (string<6592,6597> '[6592,6593] (string_content[6593,6596]@{red}@) '[6596,6597]))
    )[6597,6598])
   ;[6598,6599] (comment[6601,6607]@{% !!12}@)
   (assignment<6617,6646> left: (identifier[6617,6618]@{B}@) =[6619,6620]
    right: 
     (binary_operator<6621,6646>
      left: 
       (binary_operator<6621,6630>
        left: (binary_operator<6621,6626> left: (identifier[6621,6622]@{A}@) +[6623,6624] right: (number[6625,6626]@{1}@))
        +[6627,6628] right: (number[6629,6630]@{4}@))
      (line_continuation[6631,6635]@{...\n}@) +[6643,6644] right: (number[6645,6646]@{6}@)))
   ;[6646,6647] (comment[6648,6653]@{% !!8}@)
   (function_call<6663,6673> name: (identifier[6663,6671]@{foo_code}@) ([6671,6672] )[6672,6673])
   ;[6673,6674] (comment[6676,6738]@{% eol-comment !!4\n                 % continuation...}@) (comment[6748,6822]@{% !!4 -blank between this & continuation comment\n...}@) \n[6822,6824]
   (if_statement<6828,6948> if[6828,6830]
    condition: 
     (boolean_operator<6831,6910> left: (identifier[6831,6841]@{condition1}@) ||[6842,6844] (line_continuation[6845,6856]@{...  % !!4\n}@)
      right: 
       (function_call<6863,6910> name: (identifier[6863,6871]@{fcn_call}@) ([6871,6872]
        (arguments<6872,6909> argument: (identifier[6872,6876]@{arg1}@) ,[6876,6877] (line_continuation[6878,6889]@{... % !!12\n}@) (identifier[6905,6909]@{arg2}@))
        )[6909,6910]))
    (comment[6912,6918]@{% !!21}@)
    (block<6927,6941>
     (function_call<6927,6939> name: (identifier[6927,6937]@{line_in_if}@) ([6937,6938] )[6938,6939])
     ;[6939,6940] \n[6940,6941])
    end[6945,6948])
   (comment[6950,6955]@{% !!4}@) \n[6955,6956] \n[6960,6961] \n[6965,6966] \n[6970,6971])
  end[6971,6974])
 \n[6974,6976]
 (function_definition<6976,7113> function[6976,6984] name: (identifier[6985,6999]@{has_nested_fcn}@) \n[6999,7001]
  (block<7005,7110>
   (function_call<7005,7015> name: (identifier[7005,7009]@{plot}@) ([7009,7010]
    (arguments<7010,7014>
     argument: (range<7010,7014> (number[7010,7011]@{1}@) :[7011,7012] (number[7012,7014]@{10}@)))
    )[7014,7015])
   ;[7015,7016] (comment[7017,7021]@{%!!4}@)
   (assignment<7031,7036> left: (identifier[7031,7032]@{A}@) =[7033,7034] right: (number[7035,7036]@{1}@))
   ;[7036,7037]
   (function_call<7047,7072> name: (identifier[7047,7069]@{function_end_same_line}@) ([7069,7070]
    (arguments<7070,7071> argument: (number[7070,7071]@{1}@))
    )[7071,7072])
   ;[7072,7073]
   (function_call<7078,7108> name: (identifier[7078,7106]@{function_after_end_same_line}@) ([7106,7107] )[7107,7108])
   ;[7108,7109] \n[7109,7110])
  end[7110,7113])
 \n[7113,7115]
 (function_definition<7115,7161> function[7115,7123]
  (function_output<7124,7126> (identifier[7124,7125]@{b}@) =[7125,7126])
  name: (identifier[7126,7148]@{function_end_same_line}@)
  (function_arguments<7148,7151> ([7148,7149] arguments: (identifier[7149,7150]@{a}@) )[7150,7151])
  ,[7151,7152]
  (block<7153,7157>
   (assignment<7153,7156> left: (identifier[7153,7154]@{b}@) =[7154,7155] right: (identifier[7155,7156]@{a}@))
   ;[7156,7157])
  end[7158,7161])
 (comment[7162,7166]@{%!!0}@) \n[7166,7168]
 (function_definition<7168,7312> function[7168,7176] name: (identifier[7177,7205]@{function_after_end_same_line}@)
  (function_arguments<7205,7207> ([7205,7206] )[7206,7207])
  (comment[7207,7255]@{%!!0\n                                       %!!0}@) \n[7255,7256]
  (block<7260,7309>
   (function_call<7260,7271> name: (identifier[7260,7264]@{disp}@) ([7264,7265]
    (arguments<7265,7270>
     argument: (string<7265,7270> '[7265,7266] (string_content[7266,7269]@{foo}@) '[7269,7270]))
    )[7270,7271])
   ;[7271,7272] (comment[7272,7276]@{%!!4}@)
   (function_call<7286,7302> name: (identifier[7286,7300]@{debug_cmd_dual}@) ([7300,7301] )[7301,7302])
   ;[7302,7303] \n[7303,7304] \n[7308,7309])
  end[7309,7312])
 (comment[7312,7316]@{%!!0}@) \n[7316,7318]
 (function_definition<7318,7825> function[7318,7326] name: (identifier[7327,7341]@{debug_cmd_dual}@)
  (function_arguments<7342,7344> ([7342,7343] )[7343,7344])
  (comment[7345,7529]@{% These dbstop command dual content have 'if' bloc...}@) \n[7529,7530]
  (block<7539,7822>
   (command<7539,7576> (command_name[7539,7545]@{dbstop}@) (command_argument[7546,7548]@{in}@) (command_argument[7549,7560]@{hRandomFile}@) (command_argument[7561,7563]@{at}@) (command_argument[7564,7566]@{14}@) (command_argument[7567,7569]@{if}@) (command_argument[7570,7576]@{func()}@))
   (comment[7577,7582]@{% !!4}@) \n[7582,7583]
   (command<7587,7624> (command_name[7587,7593]@{dbstop}@) (command_argument[7594,7596]@{in}@) (command_argument[7597,7608]@{hRandomFile}@) (command_argument[7609,7611]@{at}@) (command_argument[7612,7616]@{30@1}@) (command_argument[7617,7619]@{if}@) (command_argument[7620,7624]@{x==1}@))
   (comment[7625,7630]@{% !!4}@) \n[7630,7631]
   (command<7635,7651> (command_name[7635,7641]@{dbstop}@) (command_argument[7642,7644]@{in}@) (command_argument[7645,7651]@{hPFile}@))
   (comment[7673,7678]@{% !!4}@) \n[7678,7679]
   (command<7683,7709> (command_name[7683,7689]@{dbstop}@) (command_argument[7690,7692]@{in}@) (command_argument[7693,7704]@{hSimpleFile}@) (command_argument[7705,7707]@{at}@) (command_argument[7708,7709]@{2}@))
   (comment[7721,7726]@{% !!4}@) \n[7726,7727]
   (command<7731,7746> (command_name[7731,7737]@{dbstop}@) (command_argument[7738,7740]@{if}@) (command_argument[7741,7746]@{error}@))
   (comment[7769,7774]@{% !!4}@) (comment[7784,7788]@{%!!4}@) \n[7788,7790]
   (function_call<7794,7810> name: (identifier[7794,7808]@{debug_cmd_dual}@) ([7808,7809] )[7809,7810])
   ;[7810,7811] (comment[7812,7816]@{%!!4}@) \n[7816,7817] \n[7821,7822])
  end[7822,7825])
 \n[7825,7826])
