summaryrefslogtreecommitdiff
path: root/js/MatrixOp
diff options
context:
space:
mode:
authorSunil Shetye2018-06-10 22:07:21 +0530
committerSunil Shetye2018-06-10 22:07:21 +0530
commitabf82caa54d8cf87e2f31aec7cc8d9cdedf90f81 (patch)
tree7ff742c9b3efcc8fe1c6a9528622c5dc77a23819 /js/MatrixOp
parent89187d41b6688f522f09ad59a8e223c82b8af846 (diff)
downloadsci2js-abf82caa54d8cf87e2f31aec7cc8d9cdedf90f81.tar.gz
sci2js-abf82caa54d8cf87e2f31aec7cc8d9cdedf90f81.tar.bz2
sci2js-abf82caa54d8cf87e2f31aec7cc8d9cdedf90f81.zip
add Makefile
add support for scicos functions
Diffstat (limited to 'js/MatrixOp')
-rw-r--r--js/MatrixOp/CUMSUM.js631
-rw-r--r--js/MatrixOp/EXTRACT.js678
-rw-r--r--js/MatrixOp/EXTTRI.js607
-rw-r--r--js/MatrixOp/MATBKSL.js512
-rw-r--r--js/MatrixOp/MATCATH.js471
-rw-r--r--js/MatrixOp/MATCATV.js472
-rw-r--r--js/MatrixOp/MATDET.js496
-rw-r--r--js/MatrixOp/MATDIAG.js496
-rw-r--r--js/MatrixOp/MATDIV.js512
-rw-r--r--js/MatrixOp/MATEIG.js621
-rw-r--r--js/MatrixOp/MATEXPM.js495
-rw-r--r--js/MatrixOp/MATINV.js496
-rw-r--r--js/MatrixOp/MATLU.js499
-rw-r--r--js/MatrixOp/MATMAGPHI.js528
-rw-r--r--js/MatrixOp/MATMUL.js1169
-rw-r--r--js/MatrixOp/MATPINV.js496
-rw-r--r--js/MatrixOp/MATRESH.js685
-rw-r--r--js/MatrixOp/MATSING.js653
-rw-r--r--js/MatrixOp/MATSUM.js644
-rw-r--r--js/MatrixOp/MATTRAN.js445
-rw-r--r--js/MatrixOp/MATZCONJ.js232
-rw-r--r--js/MatrixOp/MATZREIM.js526
-rw-r--r--js/MatrixOp/RICC.js470
-rw-r--r--js/MatrixOp/ROOTCOEF.js508
-rw-r--r--js/MatrixOp/SQRT.js397
-rw-r--r--js/MatrixOp/SUBMAT.js716
26 files changed, 14455 insertions, 0 deletions
diff --git a/js/MatrixOp/CUMSUM.js b/js/MatrixOp/CUMSUM.js
new file mode 100644
index 00000000..e10f91ba
--- /dev/null
+++ b/js/MatrixOp/CUMSUM.js
@@ -0,0 +1,631 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'CUMSUM',1,852)
+LexToken(OPENBRACKET,'(',1,858)
+LexToken(VAR,'job',1,859)
+LexToken(COMMA,',',1,862)
+LexToken(VAR,'arg1',1,863)
+LexToken(COMMA,',',1,867)
+LexToken(VAR,'arg2',1,868)
+LexToken(CLOSEBRACKET,')',1,872)
+LexToken(EOL,'\n',1,873)
+LexToken(EOL,'\n',1,880)
+LexToken(VAR,'x',1,885)
+LexToken(ASSIGNMENT,'=',1,886)
+LexToken(OPENSQBRACKET,'[',1,887)
+LexToken(CLOSESQBRACKET,']',1,888)
+LexToken(SEMICOLON,';',1,889)
+LexToken(EOL,'\n',1,890)
+LexToken(VAR,'y',1,895)
+LexToken(ASSIGNMENT,'=',1,896)
+LexToken(OPENSQBRACKET,'[',1,897)
+LexToken(CLOSESQBRACKET,']',1,898)
+LexToken(SEMICOLON,';',1,899)
+LexToken(EOL,'\n',1,900)
+LexToken(VAR,'typ',1,905)
+LexToken(ASSIGNMENT,'=',1,908)
+LexToken(OPENSQBRACKET,'[',1,909)
+LexToken(CLOSESQBRACKET,']',1,910)
+LexToken(SEMICOLON,';',1,911)
+LexToken(EOL,'\n',1,912)
+LexToken(SELECT,'select',1,917)
+LexToken(VAR,'job',1,924)
+LexToken(EOL,'\n',1,927)
+LexToken(CASE,'case',1,932)
+LexToken(DQSTRING,'"set"',1,941)
+LexToken(THEN,'then',1,943)
+LexToken(EOL,'\n',1,947)
+LexToken(VAR,'x',1,956)
+LexToken(ASSIGNMENT,'=',1,957)
+LexToken(VAR,'arg1',1,958)
+LexToken(EOL,'\n',1,962)
+LexToken(VAR,'model',1,971)
+LexToken(ASSIGNMENT,'=',1,976)
+LexToken(VAR,'arg1',1,977)
+LexToken(DOT,'.',1,981)
+LexToken(VAR,'model',1,982)
+LexToken(SEMICOLON,';',1,987)
+LexToken(EOL,'\n',1,988)
+LexToken(VAR,'graphics',1,997)
+LexToken(ASSIGNMENT,'=',1,1005)
+LexToken(VAR,'arg1',1,1006)
+LexToken(DOT,'.',1,1010)
+LexToken(VAR,'graphics',1,1011)
+LexToken(SEMICOLON,';',1,1019)
+LexToken(EOL,'\n',1,1020)
+LexToken(VAR,'label',1,1029)
+LexToken(ASSIGNMENT,'=',1,1034)
+LexToken(VAR,'graphics',1,1035)
+LexToken(DOT,'.',1,1043)
+LexToken(VAR,'exprs',1,1044)
+LexToken(EOL,'\n',1,1049)
+LexToken(IF,'if',1,1058)
+LexToken(VAR,'size',1,1061)
+LexToken(OPENBRACKET,'(',1,1065)
+LexToken(VAR,'label',1,1066)
+LexToken(COMMA,',',1,1071)
+LexToken(DQSTRING,'"*"',1,1074)
+LexToken(CLOSEBRACKET,')',1,1075)
+LexToken(COMPARISON,'==',1,1076)
+LexToken(NUMBER,'14',1,1078)
+LexToken(THEN,'then',1,1081)
+LexToken(EOL,'\n',1,1085)
+LexToken(VAR,'label',1,1098)
+LexToken(OPENBRACKET,'(',1,1103)
+LexToken(NUMBER,'9',1,1104)
+LexToken(CLOSEBRACKET,')',1,1105)
+LexToken(ASSIGNMENT,'=',1,1106)
+LexToken(OPENSQBRACKET,'[',1,1107)
+LexToken(CLOSESQBRACKET,']',1,1108)
+LexToken(COMMA,',',1,1109)
+LexToken(EOL,'\n',1,1110)
+LexToken(END,'end',1,1119)
+LexToken(EOL,'\n',1,1137)
+LexToken(WHILE,'while',1,1146)
+LexToken(PREVAR_BOOLEAN,'%t',1,1152)
+LexToken(DO,'do',1,1155)
+LexToken(EOL,'\n',1,1157)
+LexToken(OPENSQBRACKET,'[',1,1170)
+LexToken(VAR,'ok',1,1171)
+LexToken(COMMA,',',1,1173)
+LexToken(VAR,'typ',1,1174)
+LexToken(COMMA,',',1,1177)
+LexToken(VAR,'decomptyp',1,1178)
+LexToken(COMMA,',',1,1187)
+LexToken(VAR,'lab',1,1188)
+LexToken(CLOSESQBRACKET,']',1,1191)
+LexToken(ASSIGNMENT,'=',1,1192)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1193)
+LexToken(OPENBRACKET,'(',1,1208)
+LexToken(DQSTRING,'"Set CUMSUM block parameters"',1,1237)
+LexToken(COMMA,',',1,1238)
+LexToken(OPENSQBRACKET,'[',1,1239)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1275)
+LexToken(SEMICOLON,';',1,1276)
+LexToken(DQSTRING,'"Sum along (0=the first non singleton dimension 1=Rows 2=Columns)"',1,1344)
+LexToken(CLOSESQBRACKET,']',1,1345)
+LexToken(COMMA,',',1,1346)
+LexToken(VAR,'list',1,1347)
+LexToken(OPENBRACKET,'(',1,1351)
+LexToken(DQSTRING,'"vec"',1,1356)
+LexToken(COMMA,',',1,1357)
+LexToken(NUMBER,'1',1,1358)
+LexToken(COMMA,',',1,1359)
+LexToken(DQSTRING,'"vec"',1,1364)
+LexToken(COMMA,',',1,1365)
+LexToken(NUMBER,'1',1,1366)
+LexToken(CLOSEBRACKET,')',1,1367)
+LexToken(COMMA,',',1,1368)
+LexToken(VAR,'label',1,1369)
+LexToken(CLOSEBRACKET,')',1,1374)
+LexToken(EOL,'\n',1,1375)
+LexToken(IF,'if',1,1388)
+LexToken(NOT,'~',1,1391)
+LexToken(VAR,'ok',1,1392)
+LexToken(THEN,'then',1,1395)
+LexToken(EOL,'\n',1,1399)
+LexToken(BREAK,'break',1,1416)
+LexToken(COMMA,',',1,1421)
+LexToken(EOL,'\n',1,1422)
+LexToken(END,'end',1,1435)
+LexToken(EOL,'\n',1,1438)
+LexToken(VAR,'label',1,1451)
+LexToken(ASSIGNMENT,'=',1,1456)
+LexToken(VAR,'lab',1,1457)
+LexToken(EOL,'\n',1,1460)
+LexToken(IF,'if',1,1473)
+LexToken(OPENBRACKET,'(',1,1476)
+LexToken(VAR,'typ',1,1477)
+LexToken(COMPARISON,'==',1,1480)
+LexToken(NUMBER,'1',1,1482)
+LexToken(CLOSEBRACKET,')',1,1483)
+LexToken(THEN,'then',1,1485)
+LexToken(EOL,'\n',1,1489)
+LexToken(IF,'if',1,1506)
+LexToken(OPENBRACKET,'(',1,1509)
+LexToken(VAR,'decomptyp',1,1510)
+LexToken(COMPARISON,'==',1,1519)
+LexToken(NUMBER,'0',1,1521)
+LexToken(CLOSEBRACKET,')',1,1522)
+LexToken(THEN,'then',1,1524)
+LexToken(EOL,'\n',1,1528)
+LexToken(VAR,'function_name',1,1549)
+LexToken(ASSIGNMENT,'=',1,1562)
+LexToken(DQSTRING,'"cumsum_m"',1,1572)
+LexToken(SEMICOLON,';',1,1573)
+LexToken(EOL,'\n',1,1574)
+LexToken(VAR,'out',1,1595)
+LexToken(ASSIGNMENT,'=',1,1598)
+LexToken(OPENSQBRACKET,'[',1,1599)
+LexToken(NUMBER,'-1',1,1600)
+LexToken(NUMBER,'-2',1,1603)
+LexToken(CLOSESQBRACKET,']',1,1605)
+LexToken(EOL,'\n',1,1606)
+LexToken(ELSEIF,'elseif',1,1623)
+LexToken(OPENBRACKET,'(',1,1630)
+LexToken(VAR,'decomptyp',1,1631)
+LexToken(COMPARISON,'==',1,1640)
+LexToken(NUMBER,'1',1,1642)
+LexToken(CLOSEBRACKET,')',1,1643)
+LexToken(THEN,'then',1,1645)
+LexToken(EOL,'\n',1,1649)
+LexToken(VAR,'function_name',1,1670)
+LexToken(ASSIGNMENT,'=',1,1683)
+LexToken(DQSTRING,'"cumsum_r"',1,1693)
+LexToken(SEMICOLON,';',1,1694)
+LexToken(EOL,'\n',1,1695)
+LexToken(VAR,'out',1,1716)
+LexToken(ASSIGNMENT,'=',1,1719)
+LexToken(OPENSQBRACKET,'[',1,1720)
+LexToken(NUMBER,'-1',1,1721)
+LexToken(NUMBER,'1',1,1724)
+LexToken(CLOSESQBRACKET,']',1,1725)
+LexToken(SEMICOLON,';',1,1726)
+LexToken(EOL,'\n',1,1727)
+LexToken(ELSEIF,'elseif',1,1744)
+LexToken(OPENBRACKET,'(',1,1751)
+LexToken(VAR,'decomptyp',1,1752)
+LexToken(COMPARISON,'==',1,1761)
+LexToken(NUMBER,'2',1,1763)
+LexToken(CLOSEBRACKET,')',1,1764)
+LexToken(THEN,'then',1,1766)
+LexToken(EOL,'\n',1,1770)
+LexToken(VAR,'function_name',1,1791)
+LexToken(ASSIGNMENT,'=',1,1804)
+LexToken(DQSTRING,'"cumsum_c"',1,1814)
+LexToken(SEMICOLON,';',1,1815)
+LexToken(EOL,'\n',1,1816)
+LexToken(VAR,'out',1,1837)
+LexToken(ASSIGNMENT,'=',1,1840)
+LexToken(OPENSQBRACKET,'[',1,1841)
+LexToken(NUMBER,'1',1,1842)
+LexToken(NUMBER,'-2',1,1844)
+LexToken(CLOSESQBRACKET,']',1,1846)
+LexToken(SEMICOLON,';',1,1847)
+LexToken(EOL,'\n',1,1848)
+LexToken(ELSE,'else',1,1865)
+LexToken(EOL,'\n',1,1869)
+LexToken(VAR,'message',1,1890)
+LexToken(OPENBRACKET,'(',1,1897)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,1934)
+LexToken(CLOSEBRACKET,')',1,1935)
+LexToken(SEMICOLON,';',1,1936)
+LexToken(EOL,'\n',1,1937)
+LexToken(VAR,'ok',1,1958)
+LexToken(ASSIGNMENT,'=',1,1960)
+LexToken(PREVAR_BOOLEAN,'%f',1,1961)
+LexToken(SEMICOLON,';',1,1963)
+LexToken(EOL,'\n',1,1964)
+LexToken(END,'end',1,1981)
+LexToken(EOL,'\n',1,1984)
+LexToken(VAR,'it',1,2001)
+LexToken(ASSIGNMENT,'=',1,2003)
+LexToken(NUMBER,'1',1,2004)
+LexToken(SEMICOLON,';',1,2005)
+LexToken(EOL,'\n',1,2006)
+LexToken(VAR,'ot',1,2023)
+LexToken(ASSIGNMENT,'=',1,2025)
+LexToken(NUMBER,'1',1,2026)
+LexToken(SEMICOLON,';',1,2027)
+LexToken(EOL,'\n',1,2028)
+LexToken(ELSEIF,'elseif',1,2041)
+LexToken(OPENBRACKET,'(',1,2048)
+LexToken(VAR,'typ',1,2049)
+LexToken(COMPARISON,'==',1,2052)
+LexToken(NUMBER,'2',1,2054)
+LexToken(CLOSEBRACKET,')',1,2055)
+LexToken(THEN,'then',1,2057)
+LexToken(EOL,'\n',1,2061)
+LexToken(IF,'if',1,2078)
+LexToken(OPENBRACKET,'(',1,2081)
+LexToken(VAR,'decomptyp',1,2082)
+LexToken(COMPARISON,'==',1,2091)
+LexToken(NUMBER,'0',1,2093)
+LexToken(CLOSEBRACKET,')',1,2094)
+LexToken(THEN,'then',1,2096)
+LexToken(EOL,'\n',1,2100)
+LexToken(VAR,'function_name',1,2121)
+LexToken(ASSIGNMENT,'=',1,2134)
+LexToken(DQSTRING,'"cumsumz_m"',1,2145)
+LexToken(SEMICOLON,';',1,2146)
+LexToken(EOL,'\n',1,2147)
+LexToken(ELSEIF,'elseif',1,2164)
+LexToken(OPENBRACKET,'(',1,2171)
+LexToken(VAR,'decomptyp',1,2172)
+LexToken(COMPARISON,'==',1,2181)
+LexToken(NUMBER,'1',1,2183)
+LexToken(CLOSEBRACKET,')',1,2184)
+LexToken(THEN,'then',1,2186)
+LexToken(EOL,'\n',1,2190)
+LexToken(VAR,'function_name',1,2211)
+LexToken(ASSIGNMENT,'=',1,2224)
+LexToken(DQSTRING,'"cumsumz_r"',1,2235)
+LexToken(SEMICOLON,';',1,2236)
+LexToken(EOL,'\n',1,2237)
+LexToken(ELSEIF,'elseif',1,2254)
+LexToken(OPENBRACKET,'(',1,2261)
+LexToken(VAR,'decomptyp',1,2262)
+LexToken(COMPARISON,'==',1,2271)
+LexToken(NUMBER,'2',1,2273)
+LexToken(CLOSEBRACKET,')',1,2274)
+LexToken(THEN,'then',1,2276)
+LexToken(EOL,'\n',1,2280)
+LexToken(VAR,'function_name',1,2301)
+LexToken(ASSIGNMENT,'=',1,2314)
+LexToken(DQSTRING,'"cumsumz_c"',1,2325)
+LexToken(SEMICOLON,';',1,2326)
+LexToken(EOL,'\n',1,2327)
+LexToken(ELSE,'else',1,2344)
+LexToken(EOL,'\n',1,2348)
+LexToken(VAR,'message',1,2369)
+LexToken(OPENBRACKET,'(',1,2376)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,2413)
+LexToken(CLOSEBRACKET,')',1,2414)
+LexToken(SEMICOLON,';',1,2415)
+LexToken(EOL,'\n',1,2416)
+LexToken(VAR,'ok',1,2437)
+LexToken(ASSIGNMENT,'=',1,2439)
+LexToken(PREVAR_BOOLEAN,'%f',1,2440)
+LexToken(SEMICOLON,';',1,2442)
+LexToken(EOL,'\n',1,2443)
+LexToken(END,'end',1,2460)
+LexToken(EOL,'\n',1,2463)
+LexToken(VAR,'it',1,2480)
+LexToken(ASSIGNMENT,'=',1,2482)
+LexToken(NUMBER,'2',1,2483)
+LexToken(SEMICOLON,';',1,2484)
+LexToken(EOL,'\n',1,2485)
+LexToken(VAR,'ot',1,2502)
+LexToken(ASSIGNMENT,'=',1,2504)
+LexToken(NUMBER,'2',1,2505)
+LexToken(EOL,'\n',1,2506)
+LexToken(ELSE,'else',1,2519)
+LexToken(EOL,'\n',1,2523)
+LexToken(VAR,'message',1,2540)
+LexToken(OPENBRACKET,'(',1,2547)
+LexToken(DQSTRING,'"Datatype is not supported"',1,2574)
+LexToken(CLOSEBRACKET,')',1,2575)
+LexToken(SEMICOLON,';',1,2576)
+LexToken(EOL,'\n',1,2577)
+LexToken(VAR,'ok',1,2594)
+LexToken(ASSIGNMENT,'=',1,2596)
+LexToken(PREVAR_BOOLEAN,'%f',1,2597)
+LexToken(SEMICOLON,';',1,2599)
+LexToken(EOL,'\n',1,2600)
+LexToken(END,'end',1,2613)
+LexToken(EOL,'\n',1,2616)
+LexToken(VAR,'in',1,2629)
+LexToken(ASSIGNMENT,'=',1,2631)
+LexToken(OPENSQBRACKET,'[',1,2632)
+LexToken(VAR,'model',1,2633)
+LexToken(DOT,'.',1,2638)
+LexToken(VAR,'in',1,2639)
+LexToken(VAR,'model',1,2642)
+LexToken(DOT,'.',1,2647)
+LexToken(VAR,'in2',1,2648)
+LexToken(CLOSESQBRACKET,']',1,2651)
+LexToken(SEMICOLON,';',1,2652)
+LexToken(EOL,'\n',1,2653)
+LexToken(VAR,'out',1,2666)
+LexToken(ASSIGNMENT,'=',1,2669)
+LexToken(OPENSQBRACKET,'[',1,2670)
+LexToken(VAR,'model',1,2671)
+LexToken(DOT,'.',1,2676)
+LexToken(VAR,'out',1,2677)
+LexToken(VAR,'model',1,2681)
+LexToken(DOT,'.',1,2686)
+LexToken(VAR,'out2',1,2687)
+LexToken(CLOSESQBRACKET,']',1,2691)
+LexToken(SEMICOLON,';',1,2692)
+LexToken(EOL,'\n',1,2693)
+LexToken(VAR,'funtyp',1,2706)
+LexToken(ASSIGNMENT,'=',1,2712)
+LexToken(NUMBER,'4',1,2713)
+LexToken(SEMICOLON,';',1,2714)
+LexToken(EOL,'\n',1,2715)
+LexToken(IF,'if',1,2728)
+LexToken(VAR,'ok',1,2731)
+LexToken(THEN,'then',1,2734)
+LexToken(EOL,'\n',1,2738)
+LexToken(OPENSQBRACKET,'[',1,2755)
+LexToken(VAR,'model',1,2756)
+LexToken(COMMA,',',1,2761)
+LexToken(VAR,'graphics',1,2762)
+LexToken(COMMA,',',1,2770)
+LexToken(VAR,'ok',1,2771)
+LexToken(CLOSESQBRACKET,']',1,2773)
+LexToken(ASSIGNMENT,'=',1,2774)
+LexToken(VAR,'set_io',1,2775)
+LexToken(OPENBRACKET,'(',1,2781)
+LexToken(VAR,'model',1,2782)
+LexToken(COMMA,',',1,2787)
+LexToken(VAR,'graphics',1,2788)
+LexToken(COMMA,',',1,2796)
+LexToken(VAR,'list',1,2797)
+LexToken(OPENBRACKET,'(',1,2801)
+LexToken(VAR,'in',1,2802)
+LexToken(COMMA,',',1,2804)
+LexToken(VAR,'it',1,2805)
+LexToken(CLOSEBRACKET,')',1,2807)
+LexToken(COMMA,',',1,2808)
+LexToken(VAR,'list',1,2809)
+LexToken(OPENBRACKET,'(',1,2813)
+LexToken(VAR,'out',1,2814)
+LexToken(COMMA,',',1,2817)
+LexToken(VAR,'ot',1,2818)
+LexToken(CLOSEBRACKET,')',1,2820)
+LexToken(COMMA,',',1,2821)
+LexToken(OPENSQBRACKET,'[',1,2822)
+LexToken(CLOSESQBRACKET,']',1,2823)
+LexToken(COMMA,',',1,2824)
+LexToken(OPENSQBRACKET,'[',1,2825)
+LexToken(CLOSESQBRACKET,']',1,2826)
+LexToken(CLOSEBRACKET,')',1,2827)
+LexToken(EOL,'\n',1,2828)
+LexToken(END,'end',1,2841)
+LexToken(EOL,'\n',1,2844)
+LexToken(IF,'if',1,2857)
+LexToken(VAR,'ok',1,2860)
+LexToken(THEN,'then',1,2863)
+LexToken(EOL,'\n',1,2867)
+LexToken(VAR,'model',1,2884)
+LexToken(DOT,'.',1,2889)
+LexToken(VAR,'sim',1,2890)
+LexToken(ASSIGNMENT,'=',1,2893)
+LexToken(VAR,'list',1,2894)
+LexToken(OPENBRACKET,'(',1,2898)
+LexToken(VAR,'function_name',1,2899)
+LexToken(COMMA,',',1,2912)
+LexToken(VAR,'funtyp',1,2913)
+LexToken(CLOSEBRACKET,')',1,2919)
+LexToken(SEMICOLON,';',1,2920)
+LexToken(EOL,'\n',1,2921)
+LexToken(VAR,'arg1',1,2938)
+LexToken(DOT,'.',1,2942)
+LexToken(VAR,'model',1,2943)
+LexToken(ASSIGNMENT,'=',1,2948)
+LexToken(VAR,'model',1,2949)
+LexToken(EOL,'\n',1,2954)
+LexToken(VAR,'graphics',1,2971)
+LexToken(DOT,'.',1,2979)
+LexToken(VAR,'exprs',1,2980)
+LexToken(ASSIGNMENT,'=',1,2985)
+LexToken(VAR,'label',1,2986)
+LexToken(EOL,'\n',1,2991)
+LexToken(VAR,'arg1',1,3008)
+LexToken(DOT,'.',1,3012)
+LexToken(VAR,'graphics',1,3013)
+LexToken(ASSIGNMENT,'=',1,3021)
+LexToken(VAR,'graphics',1,3022)
+LexToken(EOL,'\n',1,3030)
+LexToken(VAR,'x',1,3047)
+LexToken(ASSIGNMENT,'=',1,3048)
+LexToken(VAR,'arg1',1,3049)
+LexToken(EOL,'\n',1,3053)
+LexToken(BREAK,'break',1,3070)
+LexToken(EOL,'\n',1,3075)
+LexToken(END,'end',1,3088)
+LexToken(EOL,'\n',1,3091)
+LexToken(END,'end',1,3100)
+LexToken(EOL,'\n',1,3103)
+LexToken(CASE,'case',1,3108)
+LexToken(DQSTRING,'"define"',1,3120)
+LexToken(THEN,'then',1,3122)
+LexToken(EOL,'\n',1,3126)
+LexToken(VAR,'model',1,3135)
+LexToken(ASSIGNMENT,'=',1,3140)
+LexToken(SCICOS_MODEL,'scicos_model',1,3141)
+LexToken(OPENBRACKET,'(',1,3153)
+LexToken(CLOSEBRACKET,')',1,3154)
+LexToken(EOL,'\n',1,3155)
+LexToken(VAR,'function_name',1,3164)
+LexToken(ASSIGNMENT,'=',1,3177)
+LexToken(DQSTRING,'"cumsum_m"',1,3187)
+LexToken(SEMICOLON,';',1,3188)
+LexToken(EOL,'\n',1,3189)
+LexToken(VAR,'funtyp',1,3198)
+LexToken(ASSIGNMENT,'=',1,3204)
+LexToken(NUMBER,'4',1,3205)
+LexToken(SEMICOLON,';',1,3206)
+LexToken(EOL,'\n',1,3207)
+LexToken(VAR,'model',1,3216)
+LexToken(DOT,'.',1,3221)
+LexToken(VAR,'sim',1,3222)
+LexToken(ASSIGNMENT,'=',1,3225)
+LexToken(VAR,'list',1,3226)
+LexToken(OPENBRACKET,'(',1,3230)
+LexToken(VAR,'function_name',1,3231)
+LexToken(COMMA,',',1,3244)
+LexToken(VAR,'funtyp',1,3245)
+LexToken(CLOSEBRACKET,')',1,3251)
+LexToken(EOL,'\n',1,3252)
+LexToken(EOL,'\n',1,3253)
+LexToken(VAR,'model',1,3262)
+LexToken(DOT,'.',1,3267)
+LexToken(VAR,'in',1,3268)
+LexToken(ASSIGNMENT,'=',1,3270)
+LexToken(NUMBER,'-1',1,3271)
+LexToken(EOL,'\n',1,3273)
+LexToken(VAR,'model',1,3282)
+LexToken(DOT,'.',1,3287)
+LexToken(VAR,'in2',1,3288)
+LexToken(ASSIGNMENT,'=',1,3291)
+LexToken(NUMBER,'-2',1,3292)
+LexToken(EOL,'\n',1,3294)
+LexToken(VAR,'model',1,3303)
+LexToken(DOT,'.',1,3308)
+LexToken(VAR,'intyp',1,3309)
+LexToken(ASSIGNMENT,'=',1,3314)
+LexToken(NUMBER,'1',1,3315)
+LexToken(EOL,'\n',1,3316)
+LexToken(VAR,'model',1,3325)
+LexToken(DOT,'.',1,3330)
+LexToken(VAR,'out',1,3331)
+LexToken(ASSIGNMENT,'=',1,3334)
+LexToken(NUMBER,'-1',1,3335)
+LexToken(EOL,'\n',1,3337)
+LexToken(VAR,'model',1,3346)
+LexToken(DOT,'.',1,3351)
+LexToken(VAR,'out2',1,3352)
+LexToken(ASSIGNMENT,'=',1,3356)
+LexToken(NUMBER,'-2',1,3357)
+LexToken(EOL,'\n',1,3359)
+LexToken(VAR,'model',1,3368)
+LexToken(DOT,'.',1,3373)
+LexToken(VAR,'outtyp',1,3374)
+LexToken(ASSIGNMENT,'=',1,3380)
+LexToken(NUMBER,'1',1,3381)
+LexToken(EOL,'\n',1,3382)
+LexToken(VAR,'model',1,3391)
+LexToken(DOT,'.',1,3396)
+LexToken(VAR,'evtin',1,3397)
+LexToken(ASSIGNMENT,'=',1,3402)
+LexToken(OPENSQBRACKET,'[',1,3403)
+LexToken(CLOSESQBRACKET,']',1,3404)
+LexToken(EOL,'\n',1,3405)
+LexToken(VAR,'model',1,3414)
+LexToken(DOT,'.',1,3419)
+LexToken(VAR,'evtout',1,3420)
+LexToken(ASSIGNMENT,'=',1,3426)
+LexToken(OPENSQBRACKET,'[',1,3427)
+LexToken(CLOSESQBRACKET,']',1,3428)
+LexToken(EOL,'\n',1,3429)
+LexToken(VAR,'model',1,3438)
+LexToken(DOT,'.',1,3443)
+LexToken(VAR,'state',1,3444)
+LexToken(ASSIGNMENT,'=',1,3449)
+LexToken(OPENSQBRACKET,'[',1,3450)
+LexToken(CLOSESQBRACKET,']',1,3451)
+LexToken(EOL,'\n',1,3452)
+LexToken(VAR,'model',1,3461)
+LexToken(DOT,'.',1,3466)
+LexToken(VAR,'dstate',1,3467)
+LexToken(ASSIGNMENT,'=',1,3473)
+LexToken(OPENSQBRACKET,'[',1,3474)
+LexToken(CLOSESQBRACKET,']',1,3475)
+LexToken(EOL,'\n',1,3476)
+LexToken(VAR,'model',1,3485)
+LexToken(DOT,'.',1,3490)
+LexToken(VAR,'rpar',1,3491)
+LexToken(ASSIGNMENT,'=',1,3495)
+LexToken(OPENSQBRACKET,'[',1,3496)
+LexToken(CLOSESQBRACKET,']',1,3497)
+LexToken(EOL,'\n',1,3498)
+LexToken(VAR,'model',1,3507)
+LexToken(DOT,'.',1,3512)
+LexToken(VAR,'ipar',1,3513)
+LexToken(ASSIGNMENT,'=',1,3517)
+LexToken(OPENSQBRACKET,'[',1,3518)
+LexToken(CLOSESQBRACKET,']',1,3519)
+LexToken(EOL,'\n',1,3520)
+LexToken(VAR,'model',1,3529)
+LexToken(DOT,'.',1,3534)
+LexToken(VAR,'blocktype',1,3535)
+LexToken(ASSIGNMENT,'=',1,3544)
+LexToken(DQSTRING,'"c"',1,3547)
+LexToken(EOL,'\n',1,3548)
+LexToken(VAR,'model',1,3557)
+LexToken(DOT,'.',1,3562)
+LexToken(VAR,'firing',1,3563)
+LexToken(ASSIGNMENT,'=',1,3569)
+LexToken(OPENSQBRACKET,'[',1,3570)
+LexToken(CLOSESQBRACKET,']',1,3571)
+LexToken(EOL,'\n',1,3572)
+LexToken(VAR,'model',1,3581)
+LexToken(DOT,'.',1,3586)
+LexToken(VAR,'dep_ut',1,3587)
+LexToken(ASSIGNMENT,'=',1,3593)
+LexToken(OPENSQBRACKET,'[',1,3594)
+LexToken(PREVAR_BOOLEAN,'%t',1,3595)
+LexToken(PREVAR_BOOLEAN,'%f',1,3598)
+LexToken(CLOSESQBRACKET,']',1,3600)
+LexToken(EOL,'\n',1,3601)
+LexToken(VAR,'label',1,3610)
+LexToken(ASSIGNMENT,'=',1,3615)
+LexToken(OPENSQBRACKET,'[',1,3616)
+LexToken(VAR,'sci2exp',1,3617)
+LexToken(OPENBRACKET,'(',1,3624)
+LexToken(NUMBER,'1',1,3625)
+LexToken(CLOSEBRACKET,')',1,3626)
+LexToken(SEMICOLON,';',1,3627)
+LexToken(VAR,'sci2exp',1,3628)
+LexToken(OPENBRACKET,'(',1,3635)
+LexToken(NUMBER,'0',1,3636)
+LexToken(CLOSEBRACKET,')',1,3637)
+LexToken(CLOSESQBRACKET,']',1,3638)
+LexToken(SEMICOLON,';',1,3639)
+LexToken(EOL,'\n',1,3640)
+LexToken(VAR,'gr_i',1,3649)
+LexToken(ASSIGNMENT,'=',1,3653)
+LexToken(OPENSQBRACKET,'[',1,3654)
+LexToken(CLOSESQBRACKET,']',1,3655)
+LexToken(EOL,'\n',1,3656)
+LexToken(VAR,'x',1,3665)
+LexToken(ASSIGNMENT,'=',1,3666)
+LexToken(VAR,'standard_define',1,3667)
+LexToken(OPENBRACKET,'(',1,3682)
+LexToken(OPENSQBRACKET,'[',1,3683)
+LexToken(NUMBER,'3',1,3684)
+LexToken(NUMBER,'2',1,3686)
+LexToken(CLOSESQBRACKET,']',1,3687)
+LexToken(COMMA,',',1,3688)
+LexToken(VAR,'model',1,3689)
+LexToken(COMMA,',',1,3694)
+LexToken(VAR,'label',1,3695)
+LexToken(COMMA,',',1,3700)
+LexToken(VAR,'gr_i',1,3701)
+LexToken(CLOSEBRACKET,')',1,3705)
+LexToken(EOL,'\n',1,3706)
+LexToken(END,'end',1,3711)
+LexToken(EOL,'\n',1,3714)
+LexToken(ENDFUNCTION,'endfunction',1,3715)
+LexToken(EOL,'\n',1,3726)
+LexToken(EOL,'\n',1,3727)
diff --git a/js/MatrixOp/EXTRACT.js b/js/MatrixOp/EXTRACT.js
new file mode 100644
index 00000000..9a1a4d48
--- /dev/null
+++ b/js/MatrixOp/EXTRACT.js
@@ -0,0 +1,678 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'EXTRACT',1,852)
+LexToken(OPENBRACKET,'(',1,859)
+LexToken(VAR,'job',1,860)
+LexToken(COMMA,',',1,863)
+LexToken(VAR,'arg1',1,864)
+LexToken(COMMA,',',1,868)
+LexToken(VAR,'arg2',1,869)
+LexToken(CLOSEBRACKET,')',1,873)
+LexToken(EOL,'\n',1,874)
+LexToken(EOL,'\n',1,881)
+LexToken(VAR,'x',1,886)
+LexToken(ASSIGNMENT,'=',1,887)
+LexToken(OPENSQBRACKET,'[',1,888)
+LexToken(CLOSESQBRACKET,']',1,889)
+LexToken(SEMICOLON,';',1,890)
+LexToken(EOL,'\n',1,891)
+LexToken(VAR,'y',1,896)
+LexToken(ASSIGNMENT,'=',1,897)
+LexToken(OPENSQBRACKET,'[',1,898)
+LexToken(CLOSESQBRACKET,']',1,899)
+LexToken(SEMICOLON,';',1,900)
+LexToken(EOL,'\n',1,901)
+LexToken(VAR,'typ',1,906)
+LexToken(ASSIGNMENT,'=',1,909)
+LexToken(OPENSQBRACKET,'[',1,910)
+LexToken(CLOSESQBRACKET,']',1,911)
+LexToken(SEMICOLON,';',1,912)
+LexToken(EOL,'\n',1,913)
+LexToken(SELECT,'select',1,918)
+LexToken(VAR,'job',1,925)
+LexToken(EOL,'\n',1,928)
+LexToken(CASE,'case',1,933)
+LexToken(DQSTRING,'"set"',1,942)
+LexToken(THEN,'then',1,944)
+LexToken(EOL,'\n',1,948)
+LexToken(VAR,'x',1,957)
+LexToken(ASSIGNMENT,'=',1,958)
+LexToken(VAR,'arg1',1,959)
+LexToken(EOL,'\n',1,963)
+LexToken(VAR,'graphics',1,972)
+LexToken(ASSIGNMENT,'=',1,980)
+LexToken(VAR,'arg1',1,981)
+LexToken(DOT,'.',1,985)
+LexToken(VAR,'graphics',1,986)
+LexToken(SEMICOLON,';',1,994)
+LexToken(EOL,'\n',1,995)
+LexToken(VAR,'label',1,1004)
+LexToken(ASSIGNMENT,'=',1,1009)
+LexToken(VAR,'graphics',1,1010)
+LexToken(DOT,'.',1,1018)
+LexToken(VAR,'exprs',1,1019)
+LexToken(EOL,'\n',1,1024)
+LexToken(VAR,'model',1,1033)
+LexToken(ASSIGNMENT,'=',1,1038)
+LexToken(VAR,'arg1',1,1039)
+LexToken(DOT,'.',1,1043)
+LexToken(VAR,'model',1,1044)
+LexToken(SEMICOLON,';',1,1049)
+LexToken(EOL,'\n',1,1050)
+LexToken(IF,'if',1,1059)
+LexToken(VAR,'size',1,1062)
+LexToken(OPENBRACKET,'(',1,1066)
+LexToken(VAR,'label',1,1067)
+LexToken(COMMA,',',1,1072)
+LexToken(DQSTRING,'"*"',1,1075)
+LexToken(CLOSEBRACKET,')',1,1076)
+LexToken(COMPARISON,'==',1,1077)
+LexToken(NUMBER,'14',1,1079)
+LexToken(THEN,'then',1,1082)
+LexToken(EOL,'\n',1,1086)
+LexToken(VAR,'label',1,1099)
+LexToken(OPENBRACKET,'(',1,1104)
+LexToken(NUMBER,'9',1,1105)
+LexToken(CLOSEBRACKET,')',1,1106)
+LexToken(ASSIGNMENT,'=',1,1107)
+LexToken(OPENSQBRACKET,'[',1,1108)
+LexToken(CLOSESQBRACKET,']',1,1109)
+LexToken(COMMA,',',1,1110)
+LexToken(EOL,'\n',1,1111)
+LexToken(END,'end',1,1120)
+LexToken(EOL,'\n',1,1138)
+LexToken(WHILE,'while',1,1147)
+LexToken(PREVAR_BOOLEAN,'%t',1,1153)
+LexToken(DO,'do',1,1156)
+LexToken(EOL,'\n',1,1158)
+LexToken(OPENSQBRACKET,'[',1,1171)
+LexToken(VAR,'ok',1,1172)
+LexToken(COMMA,',',1,1174)
+LexToken(VAR,'typ',1,1175)
+LexToken(COMMA,',',1,1178)
+LexToken(VAR,'a',1,1179)
+LexToken(COMMA,',',1,1180)
+LexToken(VAR,'b',1,1181)
+LexToken(COMMA,',',1,1182)
+LexToken(VAR,'exprs',1,1183)
+LexToken(CLOSESQBRACKET,']',1,1188)
+LexToken(ASSIGNMENT,'=',1,1189)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1190)
+LexToken(OPENBRACKET,'(',1,1205)
+LexToken(DQSTRING,'"Set EXTRACT Block"',1,1224)
+LexToken(COMMA,',',1,1225)
+LexToken(OPENSQBRACKET,'[',1,1241)
+LexToken(DQSTRING,'"Datatype (1=real double 2=Complex)"',1,1278)
+LexToken(SEMICOLON,';',1,1279)
+LexToken(DQSTRING,'"Lines to extract"',1,1297)
+LexToken(SEMICOLON,';',1,1298)
+LexToken(DQSTRING,'"Columns to extract"',1,1318)
+LexToken(CLOSESQBRACKET,']',1,1319)
+LexToken(COMMA,',',1,1320)
+LexToken(VAR,'list',1,1321)
+LexToken(OPENBRACKET,'(',1,1325)
+LexToken(DQSTRING,'"vec"',1,1330)
+LexToken(COMMA,',',1,1331)
+LexToken(NUMBER,'1',1,1332)
+LexToken(COMMA,',',1,1333)
+LexToken(DQSTRING,'"mat"',1,1338)
+LexToken(COMMA,',',1,1339)
+LexToken(OPENSQBRACKET,'[',1,1340)
+LexToken(NUMBER,'1',1,1341)
+LexToken(NUMBER,'-1',1,1343)
+LexToken(CLOSESQBRACKET,']',1,1345)
+LexToken(COMMA,',',1,1346)
+LexToken(DQSTRING,'"mat"',1,1351)
+LexToken(COMMA,',',1,1352)
+LexToken(OPENSQBRACKET,'[',1,1353)
+LexToken(NUMBER,'1',1,1354)
+LexToken(NUMBER,'-1',1,1356)
+LexToken(CLOSESQBRACKET,']',1,1358)
+LexToken(CLOSEBRACKET,')',1,1359)
+LexToken(COMMA,',',1,1360)
+LexToken(VAR,'label',1,1361)
+LexToken(CLOSEBRACKET,')',1,1366)
+LexToken(EOL,'\n',1,1367)
+LexToken(VAR,'a',1,1380)
+LexToken(ASSIGNMENT,'=',1,1381)
+LexToken(VAR,'a',1,1382)
+LexToken(OPENBRACKET,'(',1,1383)
+LexToken(COLON,':',1,1384)
+LexToken(CLOSEBRACKET,')',1,1385)
+LexToken(SEMICOLON,';',1,1386)
+LexToken(EOL,'\n',1,1387)
+LexToken(VAR,'b',1,1400)
+LexToken(ASSIGNMENT,'=',1,1401)
+LexToken(VAR,'b',1,1402)
+LexToken(OPENBRACKET,'(',1,1403)
+LexToken(COLON,':',1,1404)
+LexToken(CLOSEBRACKET,')',1,1405)
+LexToken(SEMICOLON,';',1,1406)
+LexToken(EOL,'\n',1,1407)
+LexToken(IF,'if',1,1420)
+LexToken(NOT,'~',1,1423)
+LexToken(VAR,'ok',1,1424)
+LexToken(THEN,'then',1,1427)
+LexToken(EOL,'\n',1,1431)
+LexToken(BREAK,'break',1,1448)
+LexToken(COMMA,',',1,1453)
+LexToken(EOL,'\n',1,1454)
+LexToken(END,'end',1,1467)
+LexToken(EOL,'\n',1,1470)
+LexToken(IF,'if',1,1483)
+LexToken(OPENBRACKET,'(',1,1486)
+LexToken(VAR,'typ',1,1487)
+LexToken(COMPARISON,'==',1,1490)
+LexToken(NUMBER,'1',1,1492)
+LexToken(CLOSEBRACKET,')',1,1493)
+LexToken(THEN,'then',1,1495)
+LexToken(EOL,'\n',1,1499)
+LexToken(VAR,'function_name',1,1516)
+LexToken(ASSIGNMENT,'=',1,1529)
+LexToken(DQSTRING,'"extract"',1,1538)
+LexToken(SEMICOLON,';',1,1539)
+LexToken(EOL,'\n',1,1540)
+LexToken(VAR,'ot',1,1557)
+LexToken(ASSIGNMENT,'=',1,1559)
+LexToken(NUMBER,'1',1,1560)
+LexToken(SEMICOLON,';',1,1561)
+LexToken(EOL,'\n',1,1562)
+LexToken(VAR,'it',1,1579)
+LexToken(ASSIGNMENT,'=',1,1581)
+LexToken(NUMBER,'1',1,1582)
+LexToken(SEMICOLON,';',1,1583)
+LexToken(EOL,'\n',1,1584)
+LexToken(ELSEIF,'elseif',1,1597)
+LexToken(OPENBRACKET,'(',1,1604)
+LexToken(VAR,'typ',1,1605)
+LexToken(COMPARISON,'==',1,1608)
+LexToken(NUMBER,'2',1,1610)
+LexToken(CLOSEBRACKET,')',1,1611)
+LexToken(THEN,'then',1,1613)
+LexToken(EOL,'\n',1,1617)
+LexToken(VAR,'function_name',1,1634)
+LexToken(ASSIGNMENT,'=',1,1647)
+LexToken(DQSTRING,'"extractz"',1,1657)
+LexToken(SEMICOLON,';',1,1658)
+LexToken(EOL,'\n',1,1659)
+LexToken(VAR,'ot',1,1676)
+LexToken(ASSIGNMENT,'=',1,1678)
+LexToken(NUMBER,'2',1,1679)
+LexToken(SEMICOLON,';',1,1680)
+LexToken(EOL,'\n',1,1681)
+LexToken(VAR,'it',1,1698)
+LexToken(ASSIGNMENT,'=',1,1700)
+LexToken(NUMBER,'2',1,1701)
+LexToken(SEMICOLON,';',1,1702)
+LexToken(EOL,'\n',1,1703)
+LexToken(ELSE,'else',1,1716)
+LexToken(EOL,'\n',1,1720)
+LexToken(VAR,'message',1,1737)
+LexToken(OPENBRACKET,'(',1,1744)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1771)
+LexToken(CLOSEBRACKET,')',1,1772)
+LexToken(SEMICOLON,';',1,1773)
+LexToken(EOL,'\n',1,1774)
+LexToken(VAR,'ok',1,1791)
+LexToken(ASSIGNMENT,'=',1,1793)
+LexToken(PREVAR_BOOLEAN,'%f',1,1794)
+LexToken(SEMICOLON,';',1,1796)
+LexToken(EOL,'\n',1,1797)
+LexToken(END,'end',1,1810)
+LexToken(EOL,'\n',1,1813)
+LexToken(VAR,'ma',1,1826)
+LexToken(ASSIGNMENT,'=',1,1828)
+LexToken(VAR,'size',1,1829)
+LexToken(OPENBRACKET,'(',1,1833)
+LexToken(VAR,'a',1,1834)
+LexToken(COMMA,',',1,1835)
+LexToken(NUMBER,'1',1,1836)
+LexToken(CLOSEBRACKET,')',1,1837)
+LexToken(SEMICOLON,';',1,1838)
+LexToken(EOL,'\n',1,1839)
+LexToken(VAR,'mb',1,1852)
+LexToken(ASSIGNMENT,'=',1,1854)
+LexToken(VAR,'size',1,1855)
+LexToken(OPENBRACKET,'(',1,1859)
+LexToken(VAR,'b',1,1860)
+LexToken(COMMA,',',1,1861)
+LexToken(NUMBER,'1',1,1862)
+LexToken(CLOSEBRACKET,')',1,1863)
+LexToken(SEMICOLON,';',1,1864)
+LexToken(EOL,'\n',1,1865)
+LexToken(IF,'if',1,1878)
+LexToken(OPENBRACKET,'(',1,1881)
+LexToken(VAR,'ma',1,1882)
+LexToken(COMPARISON,'==',1,1884)
+LexToken(NUMBER,'0',1,1886)
+LexToken(LOGICAL,'|',1,1888)
+LexToken(VAR,'mb',1,1890)
+LexToken(COMPARISON,'==',1,1892)
+LexToken(NUMBER,'0',1,1894)
+LexToken(CLOSEBRACKET,')',1,1895)
+LexToken(THEN,'then',1,1897)
+LexToken(EOL,'\n',1,1901)
+LexToken(VAR,'message',1,1918)
+LexToken(OPENBRACKET,'(',1,1926)
+LexToken(DQSTRING,'"empty field"',1,1939)
+LexToken(CLOSEBRACKET,')',1,1940)
+LexToken(SEMICOLON,';',1,1941)
+LexToken(EOL,'\n',1,1942)
+LexToken(VAR,'ok',1,1959)
+LexToken(ASSIGNMENT,'=',1,1961)
+LexToken(PREVAR_BOOLEAN,'%f',1,1962)
+LexToken(SEMICOLON,';',1,1964)
+LexToken(EOL,'\n',1,1965)
+LexToken(END,'end',1,1978)
+LexToken(EOL,'\n',1,1981)
+LexToken(FOR,'for',1,1994)
+LexToken(VAR,'i',1,1998)
+LexToken(ASSIGNMENT,'=',1,1999)
+LexToken(NUMBER,'1',1,2000)
+LexToken(COLON,':',1,2001)
+LexToken(VAR,'ma',1,2002)
+LexToken(COMMA,',',1,2004)
+LexToken(EOL,'\n',1,2005)
+LexToken(IF,'if',1,2022)
+LexToken(OPENBRACKET,'(',1,2025)
+LexToken(VAR,'a',1,2026)
+LexToken(OPENBRACKET,'(',1,2027)
+LexToken(VAR,'i',1,2028)
+LexToken(CLOSEBRACKET,')',1,2029)
+LexToken(COMPARISON,'<=',1,2030)
+LexToken(NUMBER,'0',1,2032)
+LexToken(CLOSEBRACKET,')',1,2033)
+LexToken(THEN,'then',1,2035)
+LexToken(EOL,'\n',1,2039)
+LexToken(VAR,'message',1,2060)
+LexToken(OPENBRACKET,'(',1,2067)
+LexToken(DQSTRING,'"invalid index"',1,2082)
+LexToken(CLOSEBRACKET,')',1,2083)
+LexToken(SEMICOLON,';',1,2084)
+LexToken(EOL,'\n',1,2085)
+LexToken(VAR,'ok',1,2106)
+LexToken(ASSIGNMENT,'=',1,2108)
+LexToken(PREVAR_BOOLEAN,'%f',1,2109)
+LexToken(SEMICOLON,';',1,2111)
+LexToken(EOL,'\n',1,2112)
+LexToken(END,'end',1,2129)
+LexToken(SEMICOLON,';',1,2132)
+LexToken(EOL,'\n',1,2133)
+LexToken(END,'end',1,2146)
+LexToken(EOL,'\n',1,2149)
+LexToken(FOR,'for',1,2162)
+LexToken(VAR,'j',1,2166)
+LexToken(ASSIGNMENT,'=',1,2167)
+LexToken(NUMBER,'1',1,2168)
+LexToken(COLON,':',1,2169)
+LexToken(VAR,'mb',1,2170)
+LexToken(COMMA,',',1,2172)
+LexToken(EOL,'\n',1,2173)
+LexToken(IF,'if',1,2190)
+LexToken(OPENBRACKET,'(',1,2192)
+LexToken(VAR,'b',1,2193)
+LexToken(OPENBRACKET,'(',1,2194)
+LexToken(VAR,'j',1,2195)
+LexToken(CLOSEBRACKET,')',1,2196)
+LexToken(COMPARISON,'<=',1,2197)
+LexToken(NUMBER,'0',1,2199)
+LexToken(CLOSEBRACKET,')',1,2200)
+LexToken(THEN,'then',1,2202)
+LexToken(EOL,'\n',1,2206)
+LexToken(VAR,'message',1,2227)
+LexToken(OPENBRACKET,'(',1,2234)
+LexToken(DQSTRING,'"invalid index"',1,2249)
+LexToken(CLOSEBRACKET,')',1,2250)
+LexToken(SEMICOLON,';',1,2251)
+LexToken(EOL,'\n',1,2252)
+LexToken(VAR,'ok',1,2273)
+LexToken(ASSIGNMENT,'=',1,2275)
+LexToken(PREVAR_BOOLEAN,'%f',1,2276)
+LexToken(SEMICOLON,';',1,2278)
+LexToken(EOL,'\n',1,2279)
+LexToken(END,'end',1,2296)
+LexToken(SEMICOLON,';',1,2299)
+LexToken(EOL,'\n',1,2300)
+LexToken(END,'end',1,2313)
+LexToken(EOL,'\n',1,2316)
+LexToken(VAR,'model',1,2329)
+LexToken(DOT,'.',1,2334)
+LexToken(VAR,'ipar',1,2335)
+LexToken(ASSIGNMENT,'=',1,2339)
+LexToken(OPENSQBRACKET,'[',1,2340)
+LexToken(VAR,'a',1,2341)
+LexToken(SEMICOLON,';',1,2342)
+LexToken(VAR,'b',1,2343)
+LexToken(SEMICOLON,';',1,2344)
+LexToken(VAR,'ma',1,2345)
+LexToken(SEMICOLON,';',1,2347)
+LexToken(VAR,'mb',1,2348)
+LexToken(CLOSESQBRACKET,']',1,2350)
+LexToken(SEMICOLON,';',1,2351)
+LexToken(EOL,'\n',1,2352)
+LexToken(VAR,'in',1,2365)
+LexToken(ASSIGNMENT,'=',1,2367)
+LexToken(OPENSQBRACKET,'[',1,2368)
+LexToken(VAR,'model',1,2369)
+LexToken(DOT,'.',1,2374)
+LexToken(VAR,'in',1,2375)
+LexToken(VAR,'model',1,2378)
+LexToken(DOT,'.',1,2383)
+LexToken(VAR,'in2',1,2384)
+LexToken(CLOSESQBRACKET,']',1,2387)
+LexToken(SEMICOLON,';',1,2388)
+LexToken(EOL,'\n',1,2389)
+LexToken(VAR,'out',1,2402)
+LexToken(ASSIGNMENT,'=',1,2405)
+LexToken(OPENSQBRACKET,'[',1,2406)
+LexToken(VAR,'ma',1,2407)
+LexToken(VAR,'mb',1,2410)
+LexToken(CLOSESQBRACKET,']',1,2412)
+LexToken(SEMICOLON,';',1,2413)
+LexToken(EOL,'\n',1,2414)
+LexToken(VAR,'funtyp',1,2427)
+LexToken(ASSIGNMENT,'=',1,2433)
+LexToken(NUMBER,'4',1,2434)
+LexToken(SEMICOLON,';',1,2435)
+LexToken(EOL,'\n',1,2436)
+LexToken(IF,'if',1,2449)
+LexToken(VAR,'ok',1,2452)
+LexToken(THEN,'then',1,2455)
+LexToken(EOL,'\n',1,2459)
+LexToken(VAR,'label',1,2476)
+LexToken(ASSIGNMENT,'=',1,2481)
+LexToken(VAR,'exprs',1,2482)
+LexToken(SEMICOLON,';',1,2487)
+LexToken(EOL,'\n',1,2488)
+LexToken(OPENSQBRACKET,'[',1,2505)
+LexToken(VAR,'model',1,2506)
+LexToken(COMMA,',',1,2511)
+LexToken(VAR,'graphics',1,2512)
+LexToken(COMMA,',',1,2520)
+LexToken(VAR,'ok',1,2521)
+LexToken(CLOSESQBRACKET,']',1,2523)
+LexToken(ASSIGNMENT,'=',1,2524)
+LexToken(VAR,'set_io',1,2525)
+LexToken(OPENBRACKET,'(',1,2531)
+LexToken(VAR,'model',1,2532)
+LexToken(COMMA,',',1,2537)
+LexToken(VAR,'graphics',1,2538)
+LexToken(COMMA,',',1,2546)
+LexToken(VAR,'list',1,2547)
+LexToken(OPENBRACKET,'(',1,2551)
+LexToken(VAR,'in',1,2552)
+LexToken(COMMA,',',1,2554)
+LexToken(VAR,'it',1,2555)
+LexToken(CLOSEBRACKET,')',1,2557)
+LexToken(COMMA,',',1,2558)
+LexToken(VAR,'list',1,2559)
+LexToken(OPENBRACKET,'(',1,2563)
+LexToken(VAR,'out',1,2564)
+LexToken(COMMA,',',1,2567)
+LexToken(VAR,'ot',1,2568)
+LexToken(CLOSEBRACKET,')',1,2570)
+LexToken(COMMA,',',1,2571)
+LexToken(OPENSQBRACKET,'[',1,2572)
+LexToken(CLOSESQBRACKET,']',1,2573)
+LexToken(COMMA,',',1,2574)
+LexToken(OPENSQBRACKET,'[',1,2575)
+LexToken(CLOSESQBRACKET,']',1,2576)
+LexToken(CLOSEBRACKET,')',1,2577)
+LexToken(EOL,'\n',1,2578)
+LexToken(VAR,'model',1,2595)
+LexToken(DOT,'.',1,2600)
+LexToken(VAR,'sim',1,2601)
+LexToken(ASSIGNMENT,'=',1,2604)
+LexToken(VAR,'list',1,2605)
+LexToken(OPENBRACKET,'(',1,2609)
+LexToken(VAR,'function_name',1,2610)
+LexToken(COMMA,',',1,2623)
+LexToken(VAR,'funtyp',1,2624)
+LexToken(CLOSEBRACKET,')',1,2630)
+LexToken(SEMICOLON,';',1,2631)
+LexToken(EOL,'\n',1,2632)
+LexToken(VAR,'graphics',1,2649)
+LexToken(DOT,'.',1,2657)
+LexToken(VAR,'exprs',1,2658)
+LexToken(ASSIGNMENT,'=',1,2663)
+LexToken(VAR,'label',1,2664)
+LexToken(SEMICOLON,';',1,2669)
+LexToken(EOL,'\n',1,2670)
+LexToken(VAR,'arg1',1,2687)
+LexToken(DOT,'.',1,2691)
+LexToken(VAR,'graphics',1,2692)
+LexToken(ASSIGNMENT,'=',1,2700)
+LexToken(VAR,'graphics',1,2701)
+LexToken(SEMICOLON,';',1,2709)
+LexToken(EOL,'\n',1,2710)
+LexToken(VAR,'arg1',1,2727)
+LexToken(DOT,'.',1,2731)
+LexToken(VAR,'model',1,2732)
+LexToken(ASSIGNMENT,'=',1,2737)
+LexToken(VAR,'model',1,2738)
+LexToken(SEMICOLON,';',1,2743)
+LexToken(EOL,'\n',1,2744)
+LexToken(VAR,'x',1,2761)
+LexToken(ASSIGNMENT,'=',1,2762)
+LexToken(VAR,'arg1',1,2763)
+LexToken(EOL,'\n',1,2767)
+LexToken(BREAK,'break',1,2784)
+LexToken(EOL,'\n',1,2789)
+LexToken(END,'end',1,2802)
+LexToken(EOL,'\n',1,2805)
+LexToken(END,'end',1,2814)
+LexToken(EOL,'\n',1,2817)
+LexToken(CASE,'case',1,2822)
+LexToken(DQSTRING,'"define"',1,2834)
+LexToken(THEN,'then',1,2836)
+LexToken(EOL,'\n',1,2840)
+LexToken(VAR,'model',1,2849)
+LexToken(ASSIGNMENT,'=',1,2854)
+LexToken(SCICOS_MODEL,'scicos_model',1,2855)
+LexToken(OPENBRACKET,'(',1,2867)
+LexToken(CLOSEBRACKET,')',1,2868)
+LexToken(EOL,'\n',1,2869)
+LexToken(VAR,'function_name',1,2878)
+LexToken(ASSIGNMENT,'=',1,2891)
+LexToken(DQSTRING,'"extract"',1,2900)
+LexToken(SEMICOLON,';',1,2901)
+LexToken(EOL,'\n',1,2902)
+LexToken(VAR,'funtyp',1,2911)
+LexToken(ASSIGNMENT,'=',1,2917)
+LexToken(NUMBER,'4',1,2918)
+LexToken(SEMICOLON,';',1,2919)
+LexToken(EOL,'\n',1,2920)
+LexToken(VAR,'model',1,2929)
+LexToken(DOT,'.',1,2934)
+LexToken(VAR,'sim',1,2935)
+LexToken(ASSIGNMENT,'=',1,2938)
+LexToken(VAR,'list',1,2939)
+LexToken(OPENBRACKET,'(',1,2943)
+LexToken(VAR,'function_name',1,2944)
+LexToken(COMMA,',',1,2957)
+LexToken(VAR,'funtyp',1,2958)
+LexToken(CLOSEBRACKET,')',1,2964)
+LexToken(EOL,'\n',1,2965)
+LexToken(EOL,'\n',1,2966)
+LexToken(VAR,'model',1,2975)
+LexToken(DOT,'.',1,2980)
+LexToken(VAR,'in',1,2981)
+LexToken(ASSIGNMENT,'=',1,2983)
+LexToken(NUMBER,'-1',1,2984)
+LexToken(EOL,'\n',1,2986)
+LexToken(VAR,'model',1,2995)
+LexToken(DOT,'.',1,3000)
+LexToken(VAR,'in2',1,3001)
+LexToken(ASSIGNMENT,'=',1,3004)
+LexToken(NUMBER,'-2',1,3005)
+LexToken(EOL,'\n',1,3007)
+LexToken(VAR,'model',1,3016)
+LexToken(DOT,'.',1,3021)
+LexToken(VAR,'intyp',1,3022)
+LexToken(ASSIGNMENT,'=',1,3027)
+LexToken(NUMBER,'1',1,3028)
+LexToken(EOL,'\n',1,3029)
+LexToken(VAR,'model',1,3038)
+LexToken(DOT,'.',1,3043)
+LexToken(VAR,'out',1,3044)
+LexToken(ASSIGNMENT,'=',1,3047)
+LexToken(NUMBER,'1',1,3048)
+LexToken(EOL,'\n',1,3049)
+LexToken(VAR,'model',1,3058)
+LexToken(DOT,'.',1,3063)
+LexToken(VAR,'out2',1,3064)
+LexToken(ASSIGNMENT,'=',1,3068)
+LexToken(NUMBER,'1',1,3069)
+LexToken(EOL,'\n',1,3070)
+LexToken(VAR,'model',1,3079)
+LexToken(DOT,'.',1,3084)
+LexToken(VAR,'outtyp',1,3085)
+LexToken(ASSIGNMENT,'=',1,3091)
+LexToken(NUMBER,'1',1,3092)
+LexToken(EOL,'\n',1,3093)
+LexToken(VAR,'model',1,3102)
+LexToken(DOT,'.',1,3107)
+LexToken(VAR,'evtin',1,3108)
+LexToken(ASSIGNMENT,'=',1,3113)
+LexToken(OPENSQBRACKET,'[',1,3114)
+LexToken(CLOSESQBRACKET,']',1,3115)
+LexToken(EOL,'\n',1,3116)
+LexToken(VAR,'model',1,3125)
+LexToken(DOT,'.',1,3130)
+LexToken(VAR,'evtout',1,3131)
+LexToken(ASSIGNMENT,'=',1,3137)
+LexToken(OPENSQBRACKET,'[',1,3138)
+LexToken(CLOSESQBRACKET,']',1,3139)
+LexToken(EOL,'\n',1,3140)
+LexToken(VAR,'model',1,3149)
+LexToken(DOT,'.',1,3154)
+LexToken(VAR,'state',1,3155)
+LexToken(ASSIGNMENT,'=',1,3160)
+LexToken(OPENSQBRACKET,'[',1,3161)
+LexToken(CLOSESQBRACKET,']',1,3162)
+LexToken(EOL,'\n',1,3163)
+LexToken(VAR,'model',1,3172)
+LexToken(DOT,'.',1,3177)
+LexToken(VAR,'dstate',1,3178)
+LexToken(ASSIGNMENT,'=',1,3184)
+LexToken(OPENSQBRACKET,'[',1,3185)
+LexToken(CLOSESQBRACKET,']',1,3186)
+LexToken(EOL,'\n',1,3187)
+LexToken(VAR,'model',1,3196)
+LexToken(DOT,'.',1,3201)
+LexToken(VAR,'rpar',1,3202)
+LexToken(ASSIGNMENT,'=',1,3206)
+LexToken(OPENSQBRACKET,'[',1,3207)
+LexToken(CLOSESQBRACKET,']',1,3208)
+LexToken(EOL,'\n',1,3209)
+LexToken(VAR,'model',1,3218)
+LexToken(DOT,'.',1,3223)
+LexToken(VAR,'ipar',1,3224)
+LexToken(ASSIGNMENT,'=',1,3228)
+LexToken(OPENSQBRACKET,'[',1,3229)
+LexToken(NUMBER,'1',1,3230)
+LexToken(NUMBER,'1',1,3232)
+LexToken(NUMBER,'1',1,3234)
+LexToken(NUMBER,'1',1,3236)
+LexToken(CLOSESQBRACKET,']',1,3237)
+LexToken(EOL,'\n',1,3238)
+LexToken(VAR,'model',1,3247)
+LexToken(DOT,'.',1,3252)
+LexToken(VAR,'blocktype',1,3253)
+LexToken(ASSIGNMENT,'=',1,3262)
+LexToken(DQSTRING,'"c"',1,3265)
+LexToken(EOL,'\n',1,3266)
+LexToken(VAR,'model',1,3275)
+LexToken(DOT,'.',1,3280)
+LexToken(VAR,'firing',1,3281)
+LexToken(ASSIGNMENT,'=',1,3287)
+LexToken(OPENSQBRACKET,'[',1,3288)
+LexToken(CLOSESQBRACKET,']',1,3289)
+LexToken(EOL,'\n',1,3290)
+LexToken(VAR,'model',1,3299)
+LexToken(DOT,'.',1,3304)
+LexToken(VAR,'dep_ut',1,3305)
+LexToken(ASSIGNMENT,'=',1,3311)
+LexToken(OPENSQBRACKET,'[',1,3312)
+LexToken(PREVAR_BOOLEAN,'%t',1,3313)
+LexToken(PREVAR_BOOLEAN,'%f',1,3316)
+LexToken(CLOSESQBRACKET,']',1,3318)
+LexToken(EOL,'\n',1,3319)
+LexToken(VAR,'label',1,3328)
+LexToken(ASSIGNMENT,'=',1,3333)
+LexToken(OPENSQBRACKET,'[',1,3334)
+LexToken(VAR,'sci2exp',1,3335)
+LexToken(OPENBRACKET,'(',1,3342)
+LexToken(NUMBER,'1',1,3343)
+LexToken(CLOSEBRACKET,')',1,3344)
+LexToken(SEMICOLON,';',1,3345)
+LexToken(VAR,'sci2exp',1,3346)
+LexToken(OPENBRACKET,'(',1,3353)
+LexToken(OPENSQBRACKET,'[',1,3354)
+LexToken(NUMBER,'1',1,3355)
+LexToken(CLOSESQBRACKET,']',1,3356)
+LexToken(CLOSEBRACKET,')',1,3357)
+LexToken(SEMICOLON,';',1,3358)
+LexToken(VAR,'sci2exp',1,3359)
+LexToken(OPENBRACKET,'(',1,3366)
+LexToken(OPENSQBRACKET,'[',1,3367)
+LexToken(NUMBER,'1',1,3368)
+LexToken(CLOSESQBRACKET,']',1,3369)
+LexToken(CLOSEBRACKET,')',1,3370)
+LexToken(CLOSESQBRACKET,']',1,3371)
+LexToken(SEMICOLON,';',1,3372)
+LexToken(EOL,'\n',1,3373)
+LexToken(VAR,'gr_i',1,3382)
+LexToken(ASSIGNMENT,'=',1,3386)
+LexToken(OPENSQBRACKET,'[',1,3387)
+LexToken(CLOSESQBRACKET,']',1,3388)
+LexToken(EOL,'\n',1,3389)
+LexToken(VAR,'x',1,3398)
+LexToken(ASSIGNMENT,'=',1,3399)
+LexToken(VAR,'standard_define',1,3400)
+LexToken(OPENBRACKET,'(',1,3415)
+LexToken(OPENSQBRACKET,'[',1,3416)
+LexToken(NUMBER,'3',1,3417)
+LexToken(NUMBER,'2',1,3419)
+LexToken(CLOSESQBRACKET,']',1,3420)
+LexToken(COMMA,',',1,3421)
+LexToken(VAR,'model',1,3422)
+LexToken(COMMA,',',1,3427)
+LexToken(VAR,'label',1,3428)
+LexToken(COMMA,',',1,3433)
+LexToken(VAR,'gr_i',1,3434)
+LexToken(CLOSEBRACKET,')',1,3438)
+LexToken(EOL,'\n',1,3439)
+LexToken(END,'end',1,3444)
+LexToken(EOL,'\n',1,3447)
+LexToken(ENDFUNCTION,'endfunction',1,3448)
+LexToken(EOL,'\n',1,3459)
+LexToken(EOL,'\n',1,3460)
diff --git a/js/MatrixOp/EXTTRI.js b/js/MatrixOp/EXTTRI.js
new file mode 100644
index 00000000..1ad71cf0
--- /dev/null
+++ b/js/MatrixOp/EXTTRI.js
@@ -0,0 +1,607 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'EXTTRI',1,852)
+LexToken(OPENBRACKET,'(',1,858)
+LexToken(VAR,'job',1,859)
+LexToken(COMMA,',',1,862)
+LexToken(VAR,'arg1',1,863)
+LexToken(COMMA,',',1,867)
+LexToken(VAR,'arg2',1,868)
+LexToken(CLOSEBRACKET,')',1,872)
+LexToken(EOL,'\n',1,873)
+LexToken(EOL,'\n',1,880)
+LexToken(VAR,'x',1,885)
+LexToken(ASSIGNMENT,'=',1,886)
+LexToken(OPENSQBRACKET,'[',1,887)
+LexToken(CLOSESQBRACKET,']',1,888)
+LexToken(SEMICOLON,';',1,889)
+LexToken(EOL,'\n',1,890)
+LexToken(VAR,'y',1,895)
+LexToken(ASSIGNMENT,'=',1,896)
+LexToken(OPENSQBRACKET,'[',1,897)
+LexToken(CLOSESQBRACKET,']',1,898)
+LexToken(SEMICOLON,';',1,899)
+LexToken(EOL,'\n',1,900)
+LexToken(VAR,'typ',1,905)
+LexToken(ASSIGNMENT,'=',1,908)
+LexToken(OPENSQBRACKET,'[',1,909)
+LexToken(CLOSESQBRACKET,']',1,910)
+LexToken(SEMICOLON,';',1,911)
+LexToken(EOL,'\n',1,912)
+LexToken(SELECT,'select',1,917)
+LexToken(VAR,'job',1,924)
+LexToken(EOL,'\n',1,927)
+LexToken(CASE,'case',1,932)
+LexToken(DQSTRING,'"set"',1,941)
+LexToken(THEN,'then',1,943)
+LexToken(EOL,'\n',1,947)
+LexToken(VAR,'x',1,956)
+LexToken(ASSIGNMENT,'=',1,957)
+LexToken(VAR,'arg1',1,958)
+LexToken(EOL,'\n',1,962)
+LexToken(VAR,'model',1,971)
+LexToken(ASSIGNMENT,'=',1,976)
+LexToken(VAR,'arg1',1,977)
+LexToken(DOT,'.',1,981)
+LexToken(VAR,'model',1,982)
+LexToken(SEMICOLON,';',1,987)
+LexToken(EOL,'\n',1,988)
+LexToken(VAR,'graphics',1,997)
+LexToken(ASSIGNMENT,'=',1,1005)
+LexToken(VAR,'arg1',1,1006)
+LexToken(DOT,'.',1,1010)
+LexToken(VAR,'graphics',1,1011)
+LexToken(SEMICOLON,';',1,1019)
+LexToken(EOL,'\n',1,1020)
+LexToken(VAR,'label',1,1029)
+LexToken(ASSIGNMENT,'=',1,1034)
+LexToken(VAR,'graphics',1,1035)
+LexToken(DOT,'.',1,1043)
+LexToken(VAR,'exprs',1,1044)
+LexToken(EOL,'\n',1,1049)
+LexToken(IF,'if',1,1058)
+LexToken(VAR,'size',1,1061)
+LexToken(OPENBRACKET,'(',1,1065)
+LexToken(VAR,'label',1,1066)
+LexToken(COMMA,',',1,1071)
+LexToken(DQSTRING,'"*"',1,1074)
+LexToken(CLOSEBRACKET,')',1,1075)
+LexToken(COMPARISON,'==',1,1076)
+LexToken(NUMBER,'14',1,1078)
+LexToken(THEN,'then',1,1081)
+LexToken(EOL,'\n',1,1085)
+LexToken(VAR,'label',1,1098)
+LexToken(OPENBRACKET,'(',1,1103)
+LexToken(NUMBER,'9',1,1104)
+LexToken(CLOSEBRACKET,')',1,1105)
+LexToken(ASSIGNMENT,'=',1,1106)
+LexToken(OPENSQBRACKET,'[',1,1107)
+LexToken(CLOSESQBRACKET,']',1,1108)
+LexToken(COMMA,',',1,1109)
+LexToken(EOL,'\n',1,1110)
+LexToken(END,'end',1,1119)
+LexToken(EOL,'\n',1,1137)
+LexToken(WHILE,'while',1,1146)
+LexToken(PREVAR_BOOLEAN,'%t',1,1152)
+LexToken(DO,'do',1,1155)
+LexToken(EOL,'\n',1,1157)
+LexToken(OPENSQBRACKET,'[',1,1170)
+LexToken(VAR,'ok',1,1171)
+LexToken(COMMA,',',1,1173)
+LexToken(VAR,'typ',1,1174)
+LexToken(COMMA,',',1,1177)
+LexToken(VAR,'decomptyp',1,1178)
+LexToken(COMMA,',',1,1187)
+LexToken(VAR,'lab',1,1188)
+LexToken(CLOSESQBRACKET,']',1,1191)
+LexToken(ASSIGNMENT,'=',1,1192)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1193)
+LexToken(OPENBRACKET,'(',1,1208)
+LexToken(DQSTRING,'"Set EXTTRI block parameters"',1,1237)
+LexToken(COMMA,',',1,1238)
+LexToken(OPENSQBRACKET,'[',1,1239)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1275)
+LexToken(SEMICOLON,';',1,1276)
+LexToken(DQSTRING,'"extraction type (1=lower 2=upper 3=diagonal)"',1,1324)
+LexToken(CLOSESQBRACKET,']',1,1325)
+LexToken(COMMA,',',1,1326)
+LexToken(VAR,'list',1,1327)
+LexToken(OPENBRACKET,'(',1,1331)
+LexToken(DQSTRING,'"vec"',1,1336)
+LexToken(COMMA,',',1,1337)
+LexToken(NUMBER,'1',1,1338)
+LexToken(COMMA,',',1,1339)
+LexToken(DQSTRING,'"vec"',1,1344)
+LexToken(COMMA,',',1,1345)
+LexToken(NUMBER,'1',1,1346)
+LexToken(CLOSEBRACKET,')',1,1347)
+LexToken(COMMA,',',1,1348)
+LexToken(VAR,'label',1,1349)
+LexToken(CLOSEBRACKET,')',1,1354)
+LexToken(EOL,'\n',1,1355)
+LexToken(IF,'if',1,1368)
+LexToken(NOT,'~',1,1371)
+LexToken(VAR,'ok',1,1372)
+LexToken(THEN,'then',1,1375)
+LexToken(EOL,'\n',1,1379)
+LexToken(BREAK,'break',1,1396)
+LexToken(COMMA,',',1,1401)
+LexToken(EOL,'\n',1,1402)
+LexToken(END,'end',1,1415)
+LexToken(EOL,'\n',1,1418)
+LexToken(VAR,'label',1,1431)
+LexToken(ASSIGNMENT,'=',1,1436)
+LexToken(VAR,'lab',1,1437)
+LexToken(EOL,'\n',1,1440)
+LexToken(IF,'if',1,1453)
+LexToken(OPENBRACKET,'(',1,1456)
+LexToken(VAR,'typ',1,1457)
+LexToken(COMPARISON,'==',1,1460)
+LexToken(NUMBER,'1',1,1462)
+LexToken(CLOSEBRACKET,')',1,1463)
+LexToken(THEN,'then',1,1465)
+LexToken(EOL,'\n',1,1469)
+LexToken(IF,'if',1,1486)
+LexToken(OPENBRACKET,'(',1,1489)
+LexToken(VAR,'decomptyp',1,1490)
+LexToken(COMPARISON,'==',1,1499)
+LexToken(NUMBER,'1',1,1501)
+LexToken(CLOSEBRACKET,')',1,1502)
+LexToken(THEN,'then',1,1504)
+LexToken(EOL,'\n',1,1508)
+LexToken(VAR,'function_name',1,1529)
+LexToken(ASSIGNMENT,'=',1,1542)
+LexToken(DQSTRING,'"exttril"',1,1551)
+LexToken(SEMICOLON,';',1,1552)
+LexToken(EOL,'\n',1,1553)
+LexToken(ELSEIF,'elseif',1,1570)
+LexToken(OPENBRACKET,'(',1,1577)
+LexToken(VAR,'decomptyp',1,1578)
+LexToken(COMPARISON,'==',1,1587)
+LexToken(NUMBER,'2',1,1589)
+LexToken(CLOSEBRACKET,')',1,1590)
+LexToken(THEN,'then',1,1592)
+LexToken(EOL,'\n',1,1596)
+LexToken(VAR,'function_name',1,1617)
+LexToken(ASSIGNMENT,'=',1,1630)
+LexToken(DQSTRING,'"exttriu"',1,1639)
+LexToken(SEMICOLON,';',1,1640)
+LexToken(EOL,'\n',1,1641)
+LexToken(ELSEIF,'elseif',1,1658)
+LexToken(OPENBRACKET,'(',1,1665)
+LexToken(VAR,'decomptyp',1,1666)
+LexToken(COMPARISON,'==',1,1675)
+LexToken(NUMBER,'3',1,1677)
+LexToken(CLOSEBRACKET,')',1,1678)
+LexToken(THEN,'then',1,1680)
+LexToken(EOL,'\n',1,1684)
+LexToken(VAR,'function_name',1,1705)
+LexToken(ASSIGNMENT,'=',1,1718)
+LexToken(DQSTRING,'"extdiag"',1,1727)
+LexToken(SEMICOLON,';',1,1728)
+LexToken(EOL,'\n',1,1729)
+LexToken(ELSE,'else',1,1746)
+LexToken(EOL,'\n',1,1750)
+LexToken(VAR,'message',1,1771)
+LexToken(OPENBRACKET,'(',1,1778)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,1815)
+LexToken(CLOSEBRACKET,')',1,1816)
+LexToken(SEMICOLON,';',1,1817)
+LexToken(EOL,'\n',1,1818)
+LexToken(VAR,'ok',1,1839)
+LexToken(ASSIGNMENT,'=',1,1841)
+LexToken(PREVAR_BOOLEAN,'%f',1,1842)
+LexToken(SEMICOLON,';',1,1844)
+LexToken(EOL,'\n',1,1845)
+LexToken(END,'end',1,1862)
+LexToken(EOL,'\n',1,1865)
+LexToken(VAR,'it',1,1882)
+LexToken(ASSIGNMENT,'=',1,1884)
+LexToken(NUMBER,'1',1,1885)
+LexToken(SEMICOLON,';',1,1886)
+LexToken(EOL,'\n',1,1887)
+LexToken(VAR,'ot',1,1904)
+LexToken(ASSIGNMENT,'=',1,1906)
+LexToken(NUMBER,'1',1,1907)
+LexToken(SEMICOLON,';',1,1908)
+LexToken(EOL,'\n',1,1909)
+LexToken(ELSEIF,'elseif',1,1922)
+LexToken(OPENBRACKET,'(',1,1929)
+LexToken(VAR,'typ',1,1930)
+LexToken(COMPARISON,'==',1,1933)
+LexToken(NUMBER,'2',1,1935)
+LexToken(CLOSEBRACKET,')',1,1936)
+LexToken(THEN,'then',1,1938)
+LexToken(EOL,'\n',1,1942)
+LexToken(IF,'if',1,1959)
+LexToken(OPENBRACKET,'(',1,1962)
+LexToken(VAR,'decomptyp',1,1963)
+LexToken(COMPARISON,'==',1,1972)
+LexToken(NUMBER,'1',1,1974)
+LexToken(CLOSEBRACKET,')',1,1975)
+LexToken(THEN,'then',1,1977)
+LexToken(EOL,'\n',1,1981)
+LexToken(VAR,'function_name',1,2002)
+LexToken(ASSIGNMENT,'=',1,2015)
+LexToken(DQSTRING,'"exttrilz"',1,2025)
+LexToken(SEMICOLON,';',1,2026)
+LexToken(EOL,'\n',1,2027)
+LexToken(ELSEIF,'elseif',1,2044)
+LexToken(OPENBRACKET,'(',1,2051)
+LexToken(VAR,'decomptyp',1,2052)
+LexToken(COMPARISON,'==',1,2061)
+LexToken(NUMBER,'2',1,2063)
+LexToken(CLOSEBRACKET,')',1,2064)
+LexToken(THEN,'then',1,2066)
+LexToken(EOL,'\n',1,2070)
+LexToken(VAR,'function_name',1,2091)
+LexToken(ASSIGNMENT,'=',1,2104)
+LexToken(DQSTRING,'"exttriuz"',1,2114)
+LexToken(SEMICOLON,';',1,2115)
+LexToken(EOL,'\n',1,2116)
+LexToken(ELSEIF,'elseif',1,2133)
+LexToken(OPENBRACKET,'(',1,2140)
+LexToken(VAR,'decomptyp',1,2141)
+LexToken(COMPARISON,'==',1,2150)
+LexToken(NUMBER,'3',1,2152)
+LexToken(CLOSEBRACKET,')',1,2153)
+LexToken(THEN,'then',1,2155)
+LexToken(EOL,'\n',1,2159)
+LexToken(VAR,'function_name',1,2180)
+LexToken(ASSIGNMENT,'=',1,2193)
+LexToken(DQSTRING,'"extdiagz"',1,2203)
+LexToken(SEMICOLON,';',1,2204)
+LexToken(EOL,'\n',1,2205)
+LexToken(ELSE,'else',1,2222)
+LexToken(EOL,'\n',1,2226)
+LexToken(VAR,'message',1,2247)
+LexToken(OPENBRACKET,'(',1,2254)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,2291)
+LexToken(CLOSEBRACKET,')',1,2292)
+LexToken(SEMICOLON,';',1,2293)
+LexToken(EOL,'\n',1,2294)
+LexToken(VAR,'ok',1,2315)
+LexToken(ASSIGNMENT,'=',1,2317)
+LexToken(PREVAR_BOOLEAN,'%f',1,2318)
+LexToken(SEMICOLON,';',1,2320)
+LexToken(EOL,'\n',1,2321)
+LexToken(END,'end',1,2338)
+LexToken(EOL,'\n',1,2341)
+LexToken(VAR,'it',1,2358)
+LexToken(ASSIGNMENT,'=',1,2360)
+LexToken(NUMBER,'2',1,2361)
+LexToken(SEMICOLON,';',1,2362)
+LexToken(EOL,'\n',1,2363)
+LexToken(VAR,'ot',1,2380)
+LexToken(ASSIGNMENT,'=',1,2382)
+LexToken(NUMBER,'2',1,2383)
+LexToken(EOL,'\n',1,2384)
+LexToken(ELSE,'else',1,2397)
+LexToken(EOL,'\n',1,2401)
+LexToken(VAR,'message',1,2418)
+LexToken(OPENBRACKET,'(',1,2425)
+LexToken(DQSTRING,'"Datatype is not supported"',1,2452)
+LexToken(CLOSEBRACKET,')',1,2453)
+LexToken(SEMICOLON,';',1,2454)
+LexToken(EOL,'\n',1,2455)
+LexToken(VAR,'ok',1,2472)
+LexToken(ASSIGNMENT,'=',1,2474)
+LexToken(PREVAR_BOOLEAN,'%f',1,2475)
+LexToken(SEMICOLON,';',1,2477)
+LexToken(EOL,'\n',1,2478)
+LexToken(END,'end',1,2491)
+LexToken(EOL,'\n',1,2494)
+LexToken(VAR,'in',1,2507)
+LexToken(ASSIGNMENT,'=',1,2509)
+LexToken(OPENSQBRACKET,'[',1,2510)
+LexToken(VAR,'model',1,2511)
+LexToken(DOT,'.',1,2516)
+LexToken(VAR,'in',1,2517)
+LexToken(VAR,'model',1,2520)
+LexToken(DOT,'.',1,2525)
+LexToken(VAR,'in2',1,2526)
+LexToken(CLOSESQBRACKET,']',1,2529)
+LexToken(SEMICOLON,';',1,2530)
+LexToken(EOL,'\n',1,2531)
+LexToken(VAR,'out',1,2544)
+LexToken(ASSIGNMENT,'=',1,2547)
+LexToken(OPENSQBRACKET,'[',1,2548)
+LexToken(VAR,'model',1,2549)
+LexToken(DOT,'.',1,2554)
+LexToken(VAR,'out',1,2555)
+LexToken(VAR,'model',1,2559)
+LexToken(DOT,'.',1,2564)
+LexToken(VAR,'out2',1,2565)
+LexToken(CLOSESQBRACKET,']',1,2569)
+LexToken(EOL,'\n',1,2570)
+LexToken(VAR,'funtyp',1,2583)
+LexToken(ASSIGNMENT,'=',1,2589)
+LexToken(NUMBER,'4',1,2590)
+LexToken(SEMICOLON,';',1,2591)
+LexToken(EOL,'\n',1,2592)
+LexToken(IF,'if',1,2605)
+LexToken(VAR,'ok',1,2608)
+LexToken(THEN,'then',1,2611)
+LexToken(EOL,'\n',1,2615)
+LexToken(OPENSQBRACKET,'[',1,2632)
+LexToken(VAR,'model',1,2633)
+LexToken(COMMA,',',1,2638)
+LexToken(VAR,'graphics',1,2639)
+LexToken(COMMA,',',1,2647)
+LexToken(VAR,'ok',1,2648)
+LexToken(CLOSESQBRACKET,']',1,2650)
+LexToken(ASSIGNMENT,'=',1,2651)
+LexToken(VAR,'set_io',1,2652)
+LexToken(OPENBRACKET,'(',1,2658)
+LexToken(VAR,'model',1,2659)
+LexToken(COMMA,',',1,2664)
+LexToken(VAR,'graphics',1,2665)
+LexToken(COMMA,',',1,2673)
+LexToken(VAR,'list',1,2674)
+LexToken(OPENBRACKET,'(',1,2678)
+LexToken(VAR,'in',1,2679)
+LexToken(COMMA,',',1,2681)
+LexToken(VAR,'it',1,2682)
+LexToken(CLOSEBRACKET,')',1,2684)
+LexToken(COMMA,',',1,2685)
+LexToken(VAR,'list',1,2686)
+LexToken(OPENBRACKET,'(',1,2690)
+LexToken(VAR,'out',1,2691)
+LexToken(COMMA,',',1,2694)
+LexToken(VAR,'ot',1,2695)
+LexToken(CLOSEBRACKET,')',1,2697)
+LexToken(COMMA,',',1,2698)
+LexToken(OPENSQBRACKET,'[',1,2699)
+LexToken(CLOSESQBRACKET,']',1,2700)
+LexToken(COMMA,',',1,2701)
+LexToken(OPENSQBRACKET,'[',1,2702)
+LexToken(CLOSESQBRACKET,']',1,2703)
+LexToken(CLOSEBRACKET,')',1,2704)
+LexToken(EOL,'\n',1,2705)
+LexToken(END,'end',1,2718)
+LexToken(EOL,'\n',1,2721)
+LexToken(IF,'if',1,2734)
+LexToken(VAR,'ok',1,2737)
+LexToken(THEN,'then',1,2740)
+LexToken(EOL,'\n',1,2744)
+LexToken(VAR,'model',1,2761)
+LexToken(DOT,'.',1,2766)
+LexToken(VAR,'sim',1,2767)
+LexToken(ASSIGNMENT,'=',1,2770)
+LexToken(VAR,'list',1,2771)
+LexToken(OPENBRACKET,'(',1,2775)
+LexToken(VAR,'function_name',1,2776)
+LexToken(COMMA,',',1,2789)
+LexToken(VAR,'funtyp',1,2790)
+LexToken(CLOSEBRACKET,')',1,2796)
+LexToken(SEMICOLON,';',1,2797)
+LexToken(EOL,'\n',1,2798)
+LexToken(VAR,'arg1',1,2815)
+LexToken(DOT,'.',1,2819)
+LexToken(VAR,'model',1,2820)
+LexToken(ASSIGNMENT,'=',1,2825)
+LexToken(VAR,'model',1,2826)
+LexToken(EOL,'\n',1,2831)
+LexToken(VAR,'graphics',1,2848)
+LexToken(DOT,'.',1,2856)
+LexToken(VAR,'exprs',1,2857)
+LexToken(ASSIGNMENT,'=',1,2862)
+LexToken(VAR,'label',1,2863)
+LexToken(EOL,'\n',1,2868)
+LexToken(VAR,'arg1',1,2885)
+LexToken(DOT,'.',1,2889)
+LexToken(VAR,'graphics',1,2890)
+LexToken(ASSIGNMENT,'=',1,2898)
+LexToken(VAR,'graphics',1,2899)
+LexToken(EOL,'\n',1,2907)
+LexToken(VAR,'x',1,2924)
+LexToken(ASSIGNMENT,'=',1,2925)
+LexToken(VAR,'arg1',1,2926)
+LexToken(EOL,'\n',1,2930)
+LexToken(BREAK,'break',1,2947)
+LexToken(EOL,'\n',1,2952)
+LexToken(END,'end',1,2965)
+LexToken(EOL,'\n',1,2968)
+LexToken(END,'end',1,2977)
+LexToken(EOL,'\n',1,2980)
+LexToken(CASE,'case',1,2985)
+LexToken(DQSTRING,'"define"',1,2997)
+LexToken(THEN,'then',1,2999)
+LexToken(EOL,'\n',1,3003)
+LexToken(VAR,'model',1,3012)
+LexToken(ASSIGNMENT,'=',1,3017)
+LexToken(SCICOS_MODEL,'scicos_model',1,3018)
+LexToken(OPENBRACKET,'(',1,3030)
+LexToken(CLOSEBRACKET,')',1,3031)
+LexToken(EOL,'\n',1,3032)
+LexToken(VAR,'function_name',1,3041)
+LexToken(ASSIGNMENT,'=',1,3054)
+LexToken(DQSTRING,'"extrilz"',1,3063)
+LexToken(SEMICOLON,';',1,3064)
+LexToken(EOL,'\n',1,3065)
+LexToken(VAR,'funtyp',1,3074)
+LexToken(ASSIGNMENT,'=',1,3080)
+LexToken(NUMBER,'4',1,3081)
+LexToken(SEMICOLON,';',1,3082)
+LexToken(EOL,'\n',1,3083)
+LexToken(VAR,'model',1,3092)
+LexToken(DOT,'.',1,3097)
+LexToken(VAR,'sim',1,3098)
+LexToken(ASSIGNMENT,'=',1,3101)
+LexToken(VAR,'list',1,3102)
+LexToken(OPENBRACKET,'(',1,3106)
+LexToken(VAR,'function_name',1,3107)
+LexToken(COMMA,',',1,3120)
+LexToken(VAR,'funtyp',1,3121)
+LexToken(CLOSEBRACKET,')',1,3127)
+LexToken(EOL,'\n',1,3128)
+LexToken(EOL,'\n',1,3129)
+LexToken(VAR,'model',1,3138)
+LexToken(DOT,'.',1,3143)
+LexToken(VAR,'in',1,3144)
+LexToken(ASSIGNMENT,'=',1,3146)
+LexToken(NUMBER,'-1',1,3147)
+LexToken(EOL,'\n',1,3149)
+LexToken(VAR,'model',1,3158)
+LexToken(DOT,'.',1,3163)
+LexToken(VAR,'in2',1,3164)
+LexToken(ASSIGNMENT,'=',1,3167)
+LexToken(NUMBER,'-2',1,3168)
+LexToken(EOL,'\n',1,3170)
+LexToken(VAR,'model',1,3179)
+LexToken(DOT,'.',1,3184)
+LexToken(VAR,'intyp',1,3185)
+LexToken(ASSIGNMENT,'=',1,3190)
+LexToken(NUMBER,'1',1,3191)
+LexToken(EOL,'\n',1,3192)
+LexToken(VAR,'model',1,3201)
+LexToken(DOT,'.',1,3206)
+LexToken(VAR,'out',1,3207)
+LexToken(ASSIGNMENT,'=',1,3210)
+LexToken(NUMBER,'-1',1,3211)
+LexToken(EOL,'\n',1,3213)
+LexToken(VAR,'model',1,3222)
+LexToken(DOT,'.',1,3227)
+LexToken(VAR,'out2',1,3228)
+LexToken(ASSIGNMENT,'=',1,3232)
+LexToken(NUMBER,'-2',1,3233)
+LexToken(EOL,'\n',1,3235)
+LexToken(VAR,'model',1,3244)
+LexToken(DOT,'.',1,3249)
+LexToken(VAR,'outtyp',1,3250)
+LexToken(ASSIGNMENT,'=',1,3256)
+LexToken(NUMBER,'1',1,3257)
+LexToken(EOL,'\n',1,3258)
+LexToken(VAR,'model',1,3267)
+LexToken(DOT,'.',1,3272)
+LexToken(VAR,'evtin',1,3273)
+LexToken(ASSIGNMENT,'=',1,3278)
+LexToken(OPENSQBRACKET,'[',1,3279)
+LexToken(CLOSESQBRACKET,']',1,3280)
+LexToken(EOL,'\n',1,3281)
+LexToken(VAR,'model',1,3290)
+LexToken(DOT,'.',1,3295)
+LexToken(VAR,'evtout',1,3296)
+LexToken(ASSIGNMENT,'=',1,3302)
+LexToken(OPENSQBRACKET,'[',1,3303)
+LexToken(CLOSESQBRACKET,']',1,3304)
+LexToken(EOL,'\n',1,3305)
+LexToken(VAR,'model',1,3314)
+LexToken(DOT,'.',1,3319)
+LexToken(VAR,'state',1,3320)
+LexToken(ASSIGNMENT,'=',1,3325)
+LexToken(OPENSQBRACKET,'[',1,3326)
+LexToken(CLOSESQBRACKET,']',1,3327)
+LexToken(EOL,'\n',1,3328)
+LexToken(VAR,'model',1,3337)
+LexToken(DOT,'.',1,3342)
+LexToken(VAR,'dstate',1,3343)
+LexToken(ASSIGNMENT,'=',1,3349)
+LexToken(OPENSQBRACKET,'[',1,3350)
+LexToken(CLOSESQBRACKET,']',1,3351)
+LexToken(EOL,'\n',1,3352)
+LexToken(VAR,'model',1,3361)
+LexToken(DOT,'.',1,3366)
+LexToken(VAR,'rpar',1,3367)
+LexToken(ASSIGNMENT,'=',1,3371)
+LexToken(OPENSQBRACKET,'[',1,3372)
+LexToken(CLOSESQBRACKET,']',1,3373)
+LexToken(EOL,'\n',1,3374)
+LexToken(VAR,'model',1,3383)
+LexToken(DOT,'.',1,3388)
+LexToken(VAR,'ipar',1,3389)
+LexToken(ASSIGNMENT,'=',1,3393)
+LexToken(OPENSQBRACKET,'[',1,3394)
+LexToken(CLOSESQBRACKET,']',1,3395)
+LexToken(EOL,'\n',1,3396)
+LexToken(VAR,'model',1,3405)
+LexToken(DOT,'.',1,3410)
+LexToken(VAR,'blocktype',1,3411)
+LexToken(ASSIGNMENT,'=',1,3420)
+LexToken(DQSTRING,'"c"',1,3423)
+LexToken(EOL,'\n',1,3424)
+LexToken(VAR,'model',1,3433)
+LexToken(DOT,'.',1,3438)
+LexToken(VAR,'firing',1,3439)
+LexToken(ASSIGNMENT,'=',1,3445)
+LexToken(OPENSQBRACKET,'[',1,3446)
+LexToken(CLOSESQBRACKET,']',1,3447)
+LexToken(EOL,'\n',1,3448)
+LexToken(VAR,'model',1,3457)
+LexToken(DOT,'.',1,3462)
+LexToken(VAR,'dep_ut',1,3463)
+LexToken(ASSIGNMENT,'=',1,3469)
+LexToken(OPENSQBRACKET,'[',1,3470)
+LexToken(PREVAR_BOOLEAN,'%t',1,3471)
+LexToken(PREVAR_BOOLEAN,'%f',1,3474)
+LexToken(CLOSESQBRACKET,']',1,3476)
+LexToken(EOL,'\n',1,3477)
+LexToken(VAR,'label',1,3486)
+LexToken(ASSIGNMENT,'=',1,3491)
+LexToken(OPENSQBRACKET,'[',1,3492)
+LexToken(VAR,'sci2exp',1,3493)
+LexToken(OPENBRACKET,'(',1,3500)
+LexToken(NUMBER,'1',1,3501)
+LexToken(CLOSEBRACKET,')',1,3502)
+LexToken(SEMICOLON,';',1,3503)
+LexToken(VAR,'sci2exp',1,3504)
+LexToken(OPENBRACKET,'(',1,3511)
+LexToken(NUMBER,'1',1,3512)
+LexToken(CLOSEBRACKET,')',1,3513)
+LexToken(CLOSESQBRACKET,']',1,3514)
+LexToken(SEMICOLON,';',1,3515)
+LexToken(EOL,'\n',1,3516)
+LexToken(VAR,'gr_i',1,3525)
+LexToken(ASSIGNMENT,'=',1,3529)
+LexToken(OPENSQBRACKET,'[',1,3530)
+LexToken(CLOSESQBRACKET,']',1,3531)
+LexToken(EOL,'\n',1,3532)
+LexToken(VAR,'x',1,3541)
+LexToken(ASSIGNMENT,'=',1,3542)
+LexToken(VAR,'standard_define',1,3543)
+LexToken(OPENBRACKET,'(',1,3558)
+LexToken(OPENSQBRACKET,'[',1,3559)
+LexToken(NUMBER,'3',1,3560)
+LexToken(NUMBER,'2',1,3562)
+LexToken(CLOSESQBRACKET,']',1,3563)
+LexToken(COMMA,',',1,3564)
+LexToken(VAR,'model',1,3565)
+LexToken(COMMA,',',1,3570)
+LexToken(VAR,'label',1,3571)
+LexToken(COMMA,',',1,3576)
+LexToken(VAR,'gr_i',1,3577)
+LexToken(CLOSEBRACKET,')',1,3581)
+LexToken(EOL,'\n',1,3582)
+LexToken(END,'end',1,3587)
+LexToken(EOL,'\n',1,3590)
+LexToken(ENDFUNCTION,'endfunction',1,3591)
+LexToken(EOL,'\n',1,3602)
+LexToken(EOL,'\n',1,3603)
diff --git a/js/MatrixOp/MATBKSL.js b/js/MatrixOp/MATBKSL.js
new file mode 100644
index 00000000..72a8c88a
--- /dev/null
+++ b/js/MatrixOp/MATBKSL.js
@@ -0,0 +1,512 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATBKSL',1,852)
+LexToken(OPENBRACKET,'(',1,859)
+LexToken(VAR,'job',1,860)
+LexToken(COMMA,',',1,863)
+LexToken(VAR,'arg1',1,864)
+LexToken(COMMA,',',1,868)
+LexToken(VAR,'arg2',1,869)
+LexToken(CLOSEBRACKET,')',1,873)
+LexToken(EOL,'\n',1,874)
+LexToken(EOL,'\n',1,881)
+LexToken(VAR,'x',1,886)
+LexToken(ASSIGNMENT,'=',1,887)
+LexToken(OPENSQBRACKET,'[',1,888)
+LexToken(CLOSESQBRACKET,']',1,889)
+LexToken(SEMICOLON,';',1,890)
+LexToken(EOL,'\n',1,891)
+LexToken(VAR,'y',1,896)
+LexToken(ASSIGNMENT,'=',1,897)
+LexToken(OPENSQBRACKET,'[',1,898)
+LexToken(CLOSESQBRACKET,']',1,899)
+LexToken(SEMICOLON,';',1,900)
+LexToken(EOL,'\n',1,901)
+LexToken(VAR,'typ',1,906)
+LexToken(ASSIGNMENT,'=',1,909)
+LexToken(OPENSQBRACKET,'[',1,910)
+LexToken(CLOSESQBRACKET,']',1,911)
+LexToken(SEMICOLON,';',1,912)
+LexToken(EOL,'\n',1,913)
+LexToken(SELECT,'select',1,918)
+LexToken(VAR,'job',1,925)
+LexToken(EOL,'\n',1,928)
+LexToken(CASE,'case',1,933)
+LexToken(DQSTRING,'"set"',1,942)
+LexToken(THEN,'then',1,944)
+LexToken(EOL,'\n',1,948)
+LexToken(VAR,'x',1,957)
+LexToken(ASSIGNMENT,'=',1,958)
+LexToken(VAR,'arg1',1,959)
+LexToken(EOL,'\n',1,963)
+LexToken(VAR,'graphics',1,972)
+LexToken(ASSIGNMENT,'=',1,980)
+LexToken(VAR,'arg1',1,981)
+LexToken(DOT,'.',1,985)
+LexToken(VAR,'graphics',1,986)
+LexToken(SEMICOLON,';',1,994)
+LexToken(EOL,'\n',1,995)
+LexToken(VAR,'label',1,1004)
+LexToken(ASSIGNMENT,'=',1,1009)
+LexToken(VAR,'graphics',1,1010)
+LexToken(DOT,'.',1,1018)
+LexToken(VAR,'exprs',1,1019)
+LexToken(EOL,'\n',1,1024)
+LexToken(VAR,'model',1,1033)
+LexToken(ASSIGNMENT,'=',1,1038)
+LexToken(VAR,'arg1',1,1039)
+LexToken(DOT,'.',1,1043)
+LexToken(VAR,'model',1,1044)
+LexToken(SEMICOLON,';',1,1049)
+LexToken(EOL,'\n',1,1050)
+LexToken(IF,'if',1,1059)
+LexToken(VAR,'size',1,1062)
+LexToken(OPENBRACKET,'(',1,1066)
+LexToken(VAR,'label',1,1067)
+LexToken(COMMA,',',1,1072)
+LexToken(DQSTRING,'"*"',1,1075)
+LexToken(CLOSEBRACKET,')',1,1076)
+LexToken(COMPARISON,'==',1,1077)
+LexToken(NUMBER,'14',1,1079)
+LexToken(THEN,'then',1,1082)
+LexToken(EOL,'\n',1,1086)
+LexToken(VAR,'label',1,1099)
+LexToken(OPENBRACKET,'(',1,1104)
+LexToken(NUMBER,'9',1,1105)
+LexToken(CLOSEBRACKET,')',1,1106)
+LexToken(ASSIGNMENT,'=',1,1107)
+LexToken(OPENSQBRACKET,'[',1,1108)
+LexToken(CLOSESQBRACKET,']',1,1109)
+LexToken(COMMA,',',1,1110)
+LexToken(EOL,'\n',1,1111)
+LexToken(END,'end',1,1120)
+LexToken(EOL,'\n',1,1138)
+LexToken(WHILE,'while',1,1147)
+LexToken(PREVAR_BOOLEAN,'%t',1,1153)
+LexToken(DO,'do',1,1156)
+LexToken(EOL,'\n',1,1158)
+LexToken(OPENSQBRACKET,'[',1,1171)
+LexToken(VAR,'ok',1,1172)
+LexToken(COMMA,',',1,1174)
+LexToken(VAR,'typ',1,1175)
+LexToken(COMMA,',',1,1178)
+LexToken(VAR,'exprs',1,1179)
+LexToken(CLOSESQBRACKET,']',1,1184)
+LexToken(ASSIGNMENT,'=',1,1185)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1186)
+LexToken(OPENBRACKET,'(',1,1201)
+LexToken(DQSTRING,'"Set MATBKSL Block"',1,1220)
+LexToken(COMMA,',',1,1221)
+LexToken(OPENSQBRACKET,'[',1,1237)
+LexToken(DQSTRING,'"Datatype (1=real double 2=Complex)"',1,1274)
+LexToken(CLOSESQBRACKET,']',1,1275)
+LexToken(COMMA,',',1,1276)
+LexToken(VAR,'list',1,1277)
+LexToken(OPENBRACKET,'(',1,1281)
+LexToken(DQSTRING,'"vec"',1,1286)
+LexToken(COMMA,',',1,1287)
+LexToken(NUMBER,'1',1,1288)
+LexToken(CLOSEBRACKET,')',1,1289)
+LexToken(COMMA,',',1,1290)
+LexToken(VAR,'label',1,1291)
+LexToken(CLOSEBRACKET,')',1,1296)
+LexToken(EOL,'\n',1,1297)
+LexToken(IF,'if',1,1310)
+LexToken(NOT,'~',1,1313)
+LexToken(VAR,'ok',1,1314)
+LexToken(THEN,'then',1,1317)
+LexToken(EOL,'\n',1,1321)
+LexToken(BREAK,'break',1,1338)
+LexToken(COMMA,',',1,1343)
+LexToken(EOL,'\n',1,1344)
+LexToken(END,'end',1,1357)
+LexToken(EOL,'\n',1,1360)
+LexToken(IF,'if',1,1373)
+LexToken(OPENBRACKET,'(',1,1376)
+LexToken(VAR,'typ',1,1377)
+LexToken(COMPARISON,'==',1,1380)
+LexToken(NUMBER,'1',1,1382)
+LexToken(CLOSEBRACKET,')',1,1383)
+LexToken(THEN,'then',1,1385)
+LexToken(EOL,'\n',1,1389)
+LexToken(VAR,'function_name',1,1406)
+LexToken(ASSIGNMENT,'=',1,1419)
+LexToken(DQSTRING,'"mat_bksl"',1,1429)
+LexToken(SEMICOLON,';',1,1430)
+LexToken(EOL,'\n',1,1431)
+LexToken(VAR,'ot',1,1448)
+LexToken(ASSIGNMENT,'=',1,1450)
+LexToken(NUMBER,'1',1,1451)
+LexToken(SEMICOLON,';',1,1452)
+LexToken(EOL,'\n',1,1453)
+LexToken(VAR,'it',1,1470)
+LexToken(ASSIGNMENT,'=',1,1472)
+LexToken(OPENSQBRACKET,'[',1,1473)
+LexToken(NUMBER,'1',1,1474)
+LexToken(NUMBER,'1',1,1476)
+LexToken(CLOSESQBRACKET,']',1,1477)
+LexToken(SEMICOLON,';',1,1478)
+LexToken(EOL,'\n',1,1479)
+LexToken(ELSEIF,'elseif',1,1492)
+LexToken(OPENBRACKET,'(',1,1499)
+LexToken(VAR,'typ',1,1500)
+LexToken(COMPARISON,'==',1,1503)
+LexToken(NUMBER,'2',1,1505)
+LexToken(CLOSEBRACKET,')',1,1506)
+LexToken(THEN,'then',1,1508)
+LexToken(EOL,'\n',1,1512)
+LexToken(VAR,'function_name',1,1529)
+LexToken(ASSIGNMENT,'=',1,1542)
+LexToken(DQSTRING,'"matz_bksl"',1,1553)
+LexToken(SEMICOLON,';',1,1554)
+LexToken(EOL,'\n',1,1555)
+LexToken(VAR,'ot',1,1572)
+LexToken(ASSIGNMENT,'=',1,1574)
+LexToken(NUMBER,'2',1,1575)
+LexToken(SEMICOLON,';',1,1576)
+LexToken(EOL,'\n',1,1577)
+LexToken(VAR,'it',1,1594)
+LexToken(ASSIGNMENT,'=',1,1596)
+LexToken(OPENSQBRACKET,'[',1,1597)
+LexToken(NUMBER,'2',1,1598)
+LexToken(NUMBER,'2',1,1600)
+LexToken(CLOSESQBRACKET,']',1,1601)
+LexToken(SEMICOLON,';',1,1602)
+LexToken(EOL,'\n',1,1603)
+LexToken(ELSE,'else',1,1616)
+LexToken(EOL,'\n',1,1620)
+LexToken(VAR,'message',1,1637)
+LexToken(OPENBRACKET,'(',1,1644)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1671)
+LexToken(CLOSEBRACKET,')',1,1672)
+LexToken(SEMICOLON,';',1,1673)
+LexToken(EOL,'\n',1,1674)
+LexToken(VAR,'ok',1,1691)
+LexToken(ASSIGNMENT,'=',1,1693)
+LexToken(PREVAR_BOOLEAN,'%f',1,1694)
+LexToken(SEMICOLON,';',1,1696)
+LexToken(EOL,'\n',1,1697)
+LexToken(END,'end',1,1710)
+LexToken(EOL,'\n',1,1713)
+LexToken(VAR,'in',1,1726)
+LexToken(ASSIGNMENT,'=',1,1728)
+LexToken(OPENSQBRACKET,'[',1,1729)
+LexToken(VAR,'model',1,1730)
+LexToken(DOT,'.',1,1735)
+LexToken(VAR,'in',1,1736)
+LexToken(VAR,'model',1,1739)
+LexToken(DOT,'.',1,1744)
+LexToken(VAR,'in2',1,1745)
+LexToken(CLOSESQBRACKET,']',1,1748)
+LexToken(SEMICOLON,';',1,1749)
+LexToken(EOL,'\n',1,1750)
+LexToken(VAR,'out',1,1763)
+LexToken(ASSIGNMENT,'=',1,1766)
+LexToken(OPENSQBRACKET,'[',1,1767)
+LexToken(VAR,'model',1,1768)
+LexToken(DOT,'.',1,1773)
+LexToken(VAR,'out',1,1774)
+LexToken(VAR,'model',1,1778)
+LexToken(DOT,'.',1,1783)
+LexToken(VAR,'out2',1,1784)
+LexToken(CLOSESQBRACKET,']',1,1788)
+LexToken(SEMICOLON,';',1,1789)
+LexToken(EOL,'\n',1,1790)
+LexToken(VAR,'funtyp',1,1803)
+LexToken(ASSIGNMENT,'=',1,1809)
+LexToken(NUMBER,'4',1,1810)
+LexToken(SEMICOLON,';',1,1811)
+LexToken(EOL,'\n',1,1812)
+LexToken(IF,'if',1,1825)
+LexToken(VAR,'ok',1,1828)
+LexToken(THEN,'then',1,1831)
+LexToken(EOL,'\n',1,1835)
+LexToken(VAR,'label',1,1852)
+LexToken(ASSIGNMENT,'=',1,1857)
+LexToken(VAR,'exprs',1,1858)
+LexToken(SEMICOLON,';',1,1863)
+LexToken(EOL,'\n',1,1864)
+LexToken(OPENSQBRACKET,'[',1,1881)
+LexToken(VAR,'model',1,1882)
+LexToken(COMMA,',',1,1887)
+LexToken(VAR,'graphics',1,1888)
+LexToken(COMMA,',',1,1896)
+LexToken(VAR,'ok',1,1897)
+LexToken(CLOSESQBRACKET,']',1,1899)
+LexToken(ASSIGNMENT,'=',1,1900)
+LexToken(VAR,'set_io',1,1901)
+LexToken(OPENBRACKET,'(',1,1907)
+LexToken(VAR,'model',1,1908)
+LexToken(COMMA,',',1,1913)
+LexToken(VAR,'graphics',1,1914)
+LexToken(COMMA,',',1,1922)
+LexToken(VAR,'list',1,1923)
+LexToken(OPENBRACKET,'(',1,1927)
+LexToken(VAR,'in',1,1928)
+LexToken(COMMA,',',1,1930)
+LexToken(VAR,'it',1,1931)
+LexToken(CLOSEBRACKET,')',1,1933)
+LexToken(COMMA,',',1,1934)
+LexToken(VAR,'list',1,1935)
+LexToken(OPENBRACKET,'(',1,1939)
+LexToken(VAR,'out',1,1940)
+LexToken(COMMA,',',1,1943)
+LexToken(VAR,'ot',1,1944)
+LexToken(CLOSEBRACKET,')',1,1946)
+LexToken(COMMA,',',1,1947)
+LexToken(OPENSQBRACKET,'[',1,1948)
+LexToken(CLOSESQBRACKET,']',1,1949)
+LexToken(COMMA,',',1,1950)
+LexToken(OPENSQBRACKET,'[',1,1951)
+LexToken(CLOSESQBRACKET,']',1,1952)
+LexToken(CLOSEBRACKET,')',1,1953)
+LexToken(EOL,'\n',1,1954)
+LexToken(VAR,'model',1,1971)
+LexToken(DOT,'.',1,1976)
+LexToken(VAR,'sim',1,1977)
+LexToken(ASSIGNMENT,'=',1,1980)
+LexToken(VAR,'list',1,1981)
+LexToken(OPENBRACKET,'(',1,1985)
+LexToken(VAR,'function_name',1,1986)
+LexToken(COMMA,',',1,1999)
+LexToken(VAR,'funtyp',1,2000)
+LexToken(CLOSEBRACKET,')',1,2006)
+LexToken(SEMICOLON,';',1,2007)
+LexToken(EOL,'\n',1,2008)
+LexToken(VAR,'graphics',1,2025)
+LexToken(DOT,'.',1,2033)
+LexToken(VAR,'exprs',1,2034)
+LexToken(ASSIGNMENT,'=',1,2039)
+LexToken(VAR,'label',1,2040)
+LexToken(SEMICOLON,';',1,2045)
+LexToken(EOL,'\n',1,2046)
+LexToken(VAR,'arg1',1,2063)
+LexToken(DOT,'.',1,2067)
+LexToken(VAR,'graphics',1,2068)
+LexToken(ASSIGNMENT,'=',1,2076)
+LexToken(VAR,'graphics',1,2077)
+LexToken(SEMICOLON,';',1,2085)
+LexToken(EOL,'\n',1,2086)
+LexToken(VAR,'arg1',1,2103)
+LexToken(DOT,'.',1,2107)
+LexToken(VAR,'model',1,2108)
+LexToken(ASSIGNMENT,'=',1,2113)
+LexToken(VAR,'model',1,2114)
+LexToken(SEMICOLON,';',1,2119)
+LexToken(EOL,'\n',1,2120)
+LexToken(VAR,'x',1,2137)
+LexToken(ASSIGNMENT,'=',1,2138)
+LexToken(VAR,'arg1',1,2139)
+LexToken(EOL,'\n',1,2143)
+LexToken(BREAK,'break',1,2160)
+LexToken(EOL,'\n',1,2165)
+LexToken(END,'end',1,2178)
+LexToken(EOL,'\n',1,2181)
+LexToken(END,'end',1,2190)
+LexToken(EOL,'\n',1,2193)
+LexToken(CASE,'case',1,2198)
+LexToken(DQSTRING,'"define"',1,2210)
+LexToken(THEN,'then',1,2212)
+LexToken(EOL,'\n',1,2216)
+LexToken(VAR,'model',1,2225)
+LexToken(ASSIGNMENT,'=',1,2230)
+LexToken(SCICOS_MODEL,'scicos_model',1,2231)
+LexToken(OPENBRACKET,'(',1,2243)
+LexToken(CLOSEBRACKET,')',1,2244)
+LexToken(EOL,'\n',1,2245)
+LexToken(VAR,'function_name',1,2254)
+LexToken(ASSIGNMENT,'=',1,2267)
+LexToken(DQSTRING,'"mat_bksl"',1,2277)
+LexToken(SEMICOLON,';',1,2278)
+LexToken(EOL,'\n',1,2279)
+LexToken(VAR,'funtyp',1,2288)
+LexToken(ASSIGNMENT,'=',1,2294)
+LexToken(NUMBER,'4',1,2295)
+LexToken(SEMICOLON,';',1,2296)
+LexToken(EOL,'\n',1,2297)
+LexToken(VAR,'model',1,2306)
+LexToken(DOT,'.',1,2311)
+LexToken(VAR,'sim',1,2312)
+LexToken(ASSIGNMENT,'=',1,2315)
+LexToken(VAR,'list',1,2316)
+LexToken(OPENBRACKET,'(',1,2320)
+LexToken(VAR,'function_name',1,2321)
+LexToken(COMMA,',',1,2334)
+LexToken(VAR,'funtyp',1,2335)
+LexToken(CLOSEBRACKET,')',1,2341)
+LexToken(EOL,'\n',1,2342)
+LexToken(VAR,'model',1,2351)
+LexToken(DOT,'.',1,2356)
+LexToken(VAR,'in',1,2357)
+LexToken(ASSIGNMENT,'=',1,2359)
+LexToken(OPENSQBRACKET,'[',1,2360)
+LexToken(NUMBER,'-1',1,2361)
+LexToken(SEMICOLON,';',1,2363)
+LexToken(NUMBER,'-1',1,2364)
+LexToken(CLOSESQBRACKET,']',1,2366)
+LexToken(EOL,'\n',1,2367)
+LexToken(VAR,'model',1,2376)
+LexToken(DOT,'.',1,2381)
+LexToken(VAR,'in2',1,2382)
+LexToken(ASSIGNMENT,'=',1,2385)
+LexToken(OPENSQBRACKET,'[',1,2386)
+LexToken(NUMBER,'-2',1,2387)
+LexToken(SEMICOLON,';',1,2389)
+LexToken(NUMBER,'-3',1,2390)
+LexToken(CLOSESQBRACKET,']',1,2392)
+LexToken(EOL,'\n',1,2393)
+LexToken(VAR,'model',1,2402)
+LexToken(DOT,'.',1,2407)
+LexToken(VAR,'intyp',1,2408)
+LexToken(ASSIGNMENT,'=',1,2413)
+LexToken(OPENSQBRACKET,'[',1,2414)
+LexToken(NUMBER,'1',1,2415)
+LexToken(NUMBER,'1',1,2417)
+LexToken(CLOSESQBRACKET,']',1,2418)
+LexToken(EOL,'\n',1,2419)
+LexToken(VAR,'model',1,2428)
+LexToken(DOT,'.',1,2433)
+LexToken(VAR,'out',1,2434)
+LexToken(ASSIGNMENT,'=',1,2437)
+LexToken(NUMBER,'-2',1,2438)
+LexToken(EOL,'\n',1,2440)
+LexToken(VAR,'model',1,2449)
+LexToken(DOT,'.',1,2454)
+LexToken(VAR,'out2',1,2455)
+LexToken(ASSIGNMENT,'=',1,2459)
+LexToken(NUMBER,'-3',1,2460)
+LexToken(EOL,'\n',1,2462)
+LexToken(VAR,'model',1,2471)
+LexToken(DOT,'.',1,2476)
+LexToken(VAR,'outtyp',1,2477)
+LexToken(ASSIGNMENT,'=',1,2483)
+LexToken(NUMBER,'1',1,2484)
+LexToken(EOL,'\n',1,2485)
+LexToken(VAR,'model',1,2494)
+LexToken(DOT,'.',1,2499)
+LexToken(VAR,'evtin',1,2500)
+LexToken(ASSIGNMENT,'=',1,2505)
+LexToken(OPENSQBRACKET,'[',1,2506)
+LexToken(CLOSESQBRACKET,']',1,2507)
+LexToken(EOL,'\n',1,2508)
+LexToken(VAR,'model',1,2517)
+LexToken(DOT,'.',1,2522)
+LexToken(VAR,'evtout',1,2523)
+LexToken(ASSIGNMENT,'=',1,2529)
+LexToken(OPENSQBRACKET,'[',1,2530)
+LexToken(CLOSESQBRACKET,']',1,2531)
+LexToken(EOL,'\n',1,2532)
+LexToken(VAR,'model',1,2541)
+LexToken(DOT,'.',1,2546)
+LexToken(VAR,'state',1,2547)
+LexToken(ASSIGNMENT,'=',1,2552)
+LexToken(OPENSQBRACKET,'[',1,2553)
+LexToken(CLOSESQBRACKET,']',1,2554)
+LexToken(EOL,'\n',1,2555)
+LexToken(VAR,'model',1,2564)
+LexToken(DOT,'.',1,2569)
+LexToken(VAR,'dstate',1,2570)
+LexToken(ASSIGNMENT,'=',1,2576)
+LexToken(OPENSQBRACKET,'[',1,2577)
+LexToken(CLOSESQBRACKET,']',1,2578)
+LexToken(EOL,'\n',1,2579)
+LexToken(VAR,'model',1,2588)
+LexToken(DOT,'.',1,2593)
+LexToken(VAR,'rpar',1,2594)
+LexToken(ASSIGNMENT,'=',1,2598)
+LexToken(OPENSQBRACKET,'[',1,2599)
+LexToken(CLOSESQBRACKET,']',1,2600)
+LexToken(EOL,'\n',1,2601)
+LexToken(VAR,'model',1,2610)
+LexToken(DOT,'.',1,2615)
+LexToken(VAR,'ipar',1,2616)
+LexToken(ASSIGNMENT,'=',1,2620)
+LexToken(OPENSQBRACKET,'[',1,2621)
+LexToken(CLOSESQBRACKET,']',1,2622)
+LexToken(EOL,'\n',1,2623)
+LexToken(VAR,'model',1,2632)
+LexToken(DOT,'.',1,2637)
+LexToken(VAR,'blocktype',1,2638)
+LexToken(ASSIGNMENT,'=',1,2647)
+LexToken(DQSTRING,'"c"',1,2650)
+LexToken(EOL,'\n',1,2651)
+LexToken(VAR,'model',1,2660)
+LexToken(DOT,'.',1,2665)
+LexToken(VAR,'firing',1,2666)
+LexToken(ASSIGNMENT,'=',1,2672)
+LexToken(OPENSQBRACKET,'[',1,2673)
+LexToken(CLOSESQBRACKET,']',1,2674)
+LexToken(EOL,'\n',1,2675)
+LexToken(VAR,'model',1,2684)
+LexToken(DOT,'.',1,2689)
+LexToken(VAR,'dep_ut',1,2690)
+LexToken(ASSIGNMENT,'=',1,2696)
+LexToken(OPENSQBRACKET,'[',1,2697)
+LexToken(PREVAR_BOOLEAN,'%t',1,2698)
+LexToken(PREVAR_BOOLEAN,'%f',1,2701)
+LexToken(CLOSESQBRACKET,']',1,2703)
+LexToken(EOL,'\n',1,2704)
+LexToken(VAR,'label',1,2713)
+LexToken(ASSIGNMENT,'=',1,2718)
+LexToken(OPENSQBRACKET,'[',1,2719)
+LexToken(VAR,'sci2exp',1,2720)
+LexToken(OPENBRACKET,'(',1,2727)
+LexToken(NUMBER,'1',1,2728)
+LexToken(CLOSEBRACKET,')',1,2729)
+LexToken(CLOSESQBRACKET,']',1,2730)
+LexToken(SEMICOLON,';',1,2731)
+LexToken(EOL,'\n',1,2732)
+LexToken(VAR,'gr_i',1,2741)
+LexToken(ASSIGNMENT,'=',1,2745)
+LexToken(OPENSQBRACKET,'[',1,2746)
+LexToken(CLOSESQBRACKET,']',1,2747)
+LexToken(EOL,'\n',1,2748)
+LexToken(VAR,'x',1,2757)
+LexToken(ASSIGNMENT,'=',1,2758)
+LexToken(VAR,'standard_define',1,2759)
+LexToken(OPENBRACKET,'(',1,2774)
+LexToken(OPENSQBRACKET,'[',1,2775)
+LexToken(NUMBER,'2',1,2776)
+LexToken(NUMBER,'2',1,2778)
+LexToken(CLOSESQBRACKET,']',1,2779)
+LexToken(COMMA,',',1,2780)
+LexToken(VAR,'model',1,2781)
+LexToken(COMMA,',',1,2786)
+LexToken(VAR,'label',1,2787)
+LexToken(COMMA,',',1,2792)
+LexToken(VAR,'gr_i',1,2793)
+LexToken(CLOSEBRACKET,')',1,2797)
+LexToken(EOL,'\n',1,2798)
+LexToken(END,'end',1,2803)
+LexToken(EOL,'\n',1,2806)
+LexToken(ENDFUNCTION,'endfunction',1,2807)
+LexToken(EOL,'\n',1,2818)
+LexToken(EOL,'\n',1,2819)
diff --git a/js/MatrixOp/MATCATH.js b/js/MatrixOp/MATCATH.js
new file mode 100644
index 00000000..d3816800
--- /dev/null
+++ b/js/MatrixOp/MATCATH.js
@@ -0,0 +1,471 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATCATH',1,852)
+LexToken(OPENBRACKET,'(',1,859)
+LexToken(VAR,'job',1,860)
+LexToken(COMMA,',',1,863)
+LexToken(VAR,'arg1',1,864)
+LexToken(COMMA,',',1,868)
+LexToken(VAR,'arg2',1,869)
+LexToken(CLOSEBRACKET,')',1,873)
+LexToken(EOL,'\n',1,874)
+LexToken(VAR,'x',1,879)
+LexToken(ASSIGNMENT,'=',1,880)
+LexToken(OPENSQBRACKET,'[',1,881)
+LexToken(CLOSESQBRACKET,']',1,882)
+LexToken(SEMICOLON,';',1,883)
+LexToken(EOL,'\n',1,884)
+LexToken(VAR,'y',1,889)
+LexToken(ASSIGNMENT,'=',1,890)
+LexToken(OPENSQBRACKET,'[',1,891)
+LexToken(CLOSESQBRACKET,']',1,892)
+LexToken(SEMICOLON,';',1,893)
+LexToken(EOL,'\n',1,894)
+LexToken(VAR,'typ',1,899)
+LexToken(ASSIGNMENT,'=',1,902)
+LexToken(OPENSQBRACKET,'[',1,903)
+LexToken(CLOSESQBRACKET,']',1,904)
+LexToken(SEMICOLON,';',1,905)
+LexToken(EOL,'\n',1,906)
+LexToken(SELECT,'select',1,911)
+LexToken(VAR,'job',1,918)
+LexToken(EOL,'\n',1,921)
+LexToken(CASE,'case',1,926)
+LexToken(DQSTRING,'"set"',1,935)
+LexToken(THEN,'then',1,937)
+LexToken(EOL,'\n',1,941)
+LexToken(VAR,'x',1,950)
+LexToken(ASSIGNMENT,'=',1,951)
+LexToken(VAR,'arg1',1,952)
+LexToken(EOL,'\n',1,956)
+LexToken(VAR,'model',1,965)
+LexToken(ASSIGNMENT,'=',1,970)
+LexToken(VAR,'arg1',1,971)
+LexToken(DOT,'.',1,975)
+LexToken(VAR,'model',1,976)
+LexToken(SEMICOLON,';',1,981)
+LexToken(EOL,'\n',1,982)
+LexToken(VAR,'graphics',1,991)
+LexToken(ASSIGNMENT,'=',1,999)
+LexToken(VAR,'arg1',1,1000)
+LexToken(DOT,'.',1,1004)
+LexToken(VAR,'graphics',1,1005)
+LexToken(SEMICOLON,';',1,1013)
+LexToken(EOL,'\n',1,1014)
+LexToken(VAR,'label',1,1023)
+LexToken(ASSIGNMENT,'=',1,1028)
+LexToken(VAR,'graphics',1,1029)
+LexToken(DOT,'.',1,1037)
+LexToken(VAR,'exprs',1,1038)
+LexToken(EOL,'\n',1,1043)
+LexToken(IF,'if',1,1052)
+LexToken(VAR,'size',1,1055)
+LexToken(OPENBRACKET,'(',1,1059)
+LexToken(VAR,'label',1,1060)
+LexToken(COMMA,',',1,1065)
+LexToken(DQSTRING,'"*"',1,1068)
+LexToken(CLOSEBRACKET,')',1,1069)
+LexToken(COMPARISON,'>',1,1070)
+LexToken(NUMBER,'1',1,1071)
+LexToken(THEN,'then',1,1073)
+LexToken(EOL,'\n',1,1093)
+LexToken(VAR,'label',1,1106)
+LexToken(ASSIGNMENT,'=',1,1111)
+LexToken(DQSTRING,'"size(evstr("',1,1124)
+LexToken(OPERATOR,'+',1,1125)
+LexToken(VAR,'label',1,1126)
+LexToken(OPENBRACKET,'(',1,1131)
+LexToken(NUMBER,'2',1,1132)
+LexToken(CLOSEBRACKET,')',1,1133)
+LexToken(OPERATOR,'+',1,1134)
+LexToken(DQSTRING,'"),\\\'*\\\')"',1,1144)
+LexToken(SEMICOLON,';',1,1145)
+LexToken(EOL,'\n',1,1146)
+LexToken(END,'end',1,1155)
+LexToken(EOL,'\n',1,1158)
+LexToken(WHILE,'while',1,1167)
+LexToken(PREVAR_BOOLEAN,'%t',1,1173)
+LexToken(DO,'do',1,1176)
+LexToken(EOL,'\n',1,1178)
+LexToken(OPENSQBRACKET,'[',1,1191)
+LexToken(VAR,'ok',1,1192)
+LexToken(COMMA,',',1,1194)
+LexToken(VAR,'nin',1,1195)
+LexToken(COMMA,',',1,1198)
+LexToken(VAR,'lab',1,1199)
+LexToken(CLOSESQBRACKET,']',1,1202)
+LexToken(ASSIGNMENT,'=',1,1203)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1219)
+LexToken(OPENBRACKET,'(',1,1234)
+LexToken(DQSTRING,'"Set MATCATH block parameters"',1,1264)
+LexToken(COMMA,',',1,1265)
+LexToken(OPENSQBRACKET,'[',1,1281)
+LexToken(DQSTRING,'"Number of input"',1,1298)
+LexToken(CLOSESQBRACKET,']',1,1299)
+LexToken(COMMA,',',1,1300)
+LexToken(VAR,'list',1,1316)
+LexToken(OPENBRACKET,'(',1,1320)
+LexToken(DQSTRING,'"vec"',1,1325)
+LexToken(COMMA,',',1,1326)
+LexToken(NUMBER,'1',1,1327)
+LexToken(CLOSEBRACKET,')',1,1328)
+LexToken(COMMA,',',1,1329)
+LexToken(VAR,'label',1,1330)
+LexToken(CLOSEBRACKET,')',1,1335)
+LexToken(SEMICOLON,';',1,1336)
+LexToken(EOL,'\n',1,1337)
+LexToken(IF,'if',1,1350)
+LexToken(NOT,'~',1,1353)
+LexToken(VAR,'ok',1,1354)
+LexToken(THEN,'then',1,1357)
+LexToken(EOL,'\n',1,1361)
+LexToken(BREAK,'break',1,1378)
+LexToken(COMMA,',',1,1383)
+LexToken(EOL,'\n',1,1384)
+LexToken(END,'end',1,1397)
+LexToken(EOL,'\n',1,1400)
+LexToken(VAR,'label',1,1413)
+LexToken(ASSIGNMENT,'=',1,1418)
+LexToken(VAR,'lab',1,1419)
+LexToken(EOL,'\n',1,1422)
+LexToken(VAR,'in',1,1435)
+LexToken(ASSIGNMENT,'=',1,1437)
+LexToken(OPENSQBRACKET,'[',1,1438)
+LexToken(NUMBER,'-1',1,1439)
+LexToken(OPERATOR,'*',1,1441)
+LexToken(OPENBRACKET,'(',1,1442)
+LexToken(VAR,'ones',1,1443)
+LexToken(OPENBRACKET,'(',1,1447)
+LexToken(VAR,'nin',1,1448)
+LexToken(COMMA,',',1,1451)
+LexToken(NUMBER,'1',1,1452)
+LexToken(CLOSEBRACKET,')',1,1453)
+LexToken(CLOSEBRACKET,')',1,1454)
+LexToken(OPERATOR,'-',1,1456)
+LexToken(OPENBRACKET,'(',1,1457)
+LexToken(OPENSQBRACKET,'[',1,1458)
+LexToken(NUMBER,'2',1,1459)
+LexToken(COLON,':',1,1460)
+LexToken(VAR,'nin',1,1461)
+LexToken(OPERATOR,'+',1,1464)
+LexToken(NUMBER,'1',1,1465)
+LexToken(CLOSESQBRACKET,']',1,1466)
+LexToken(TRANSPOSE,"'",1,1467)
+LexToken(CLOSEBRACKET,')',1,1468)
+LexToken(CLOSESQBRACKET,']',1,1469)
+LexToken(SEMICOLON,';',1,1470)
+LexToken(EOL,'\n',1,1471)
+LexToken(VAR,'out',1,1484)
+LexToken(ASSIGNMENT,'=',1,1487)
+LexToken(OPENSQBRACKET,'[',1,1488)
+LexToken(NUMBER,'-1',1,1489)
+LexToken(NUMBER,'0',1,1492)
+LexToken(CLOSESQBRACKET,']',1,1493)
+LexToken(EOL,'\n',1,1494)
+LexToken(VAR,'it',1,1507)
+LexToken(ASSIGNMENT,'=',1,1509)
+LexToken(NUMBER,'-1',1,1510)
+LexToken(OPERATOR,'*',1,1512)
+LexToken(OPENBRACKET,'(',1,1513)
+LexToken(VAR,'ones',1,1514)
+LexToken(OPENBRACKET,'(',1,1518)
+LexToken(VAR,'nin',1,1519)
+LexToken(COMMA,',',1,1522)
+LexToken(NUMBER,'1',1,1523)
+LexToken(CLOSEBRACKET,')',1,1524)
+LexToken(CLOSEBRACKET,')',1,1525)
+LexToken(SEMICOLON,';',1,1526)
+LexToken(EOL,'\n',1,1527)
+LexToken(VAR,'ot',1,1540)
+LexToken(ASSIGNMENT,'=',1,1542)
+LexToken(NUMBER,'-1',1,1543)
+LexToken(SEMICOLON,';',1,1545)
+LexToken(EOL,'\n',1,1546)
+LexToken(OPENSQBRACKET,'[',1,1559)
+LexToken(VAR,'model',1,1560)
+LexToken(COMMA,',',1,1565)
+LexToken(VAR,'graphics',1,1566)
+LexToken(COMMA,',',1,1574)
+LexToken(VAR,'ok',1,1575)
+LexToken(CLOSESQBRACKET,']',1,1577)
+LexToken(ASSIGNMENT,'=',1,1578)
+LexToken(VAR,'set_io',1,1579)
+LexToken(OPENBRACKET,'(',1,1585)
+LexToken(VAR,'model',1,1586)
+LexToken(COMMA,',',1,1591)
+LexToken(VAR,'graphics',1,1592)
+LexToken(COMMA,',',1,1600)
+LexToken(VAR,'list',1,1601)
+LexToken(OPENBRACKET,'(',1,1605)
+LexToken(VAR,'in',1,1606)
+LexToken(COMMA,',',1,1608)
+LexToken(VAR,'it',1,1609)
+LexToken(CLOSEBRACKET,')',1,1611)
+LexToken(COMMA,',',1,1612)
+LexToken(VAR,'list',1,1613)
+LexToken(OPENBRACKET,'(',1,1617)
+LexToken(VAR,'out',1,1618)
+LexToken(COMMA,',',1,1621)
+LexToken(VAR,'ot',1,1622)
+LexToken(CLOSEBRACKET,')',1,1624)
+LexToken(COMMA,',',1,1625)
+LexToken(OPENSQBRACKET,'[',1,1626)
+LexToken(CLOSESQBRACKET,']',1,1627)
+LexToken(COMMA,',',1,1628)
+LexToken(OPENSQBRACKET,'[',1,1629)
+LexToken(CLOSESQBRACKET,']',1,1630)
+LexToken(CLOSEBRACKET,')',1,1631)
+LexToken(EOL,'\n',1,1632)
+LexToken(IF,'if',1,1645)
+LexToken(VAR,'ok',1,1648)
+LexToken(THEN,'then',1,1651)
+LexToken(EOL,'\n',1,1655)
+LexToken(VAR,'funtyp',1,1672)
+LexToken(ASSIGNMENT,'=',1,1678)
+LexToken(NUMBER,'4',1,1679)
+LexToken(SEMICOLON,';',1,1680)
+LexToken(EOL,'\n',1,1681)
+LexToken(VAR,'model',1,1698)
+LexToken(DOT,'.',1,1703)
+LexToken(VAR,'sim',1,1704)
+LexToken(ASSIGNMENT,'=',1,1707)
+LexToken(VAR,'list',1,1708)
+LexToken(OPENBRACKET,'(',1,1712)
+LexToken(DQSTRING,'"mat_cath"',1,1722)
+LexToken(COMMA,',',1,1723)
+LexToken(VAR,'funtyp',1,1724)
+LexToken(CLOSEBRACKET,')',1,1730)
+LexToken(EOL,'\n',1,1731)
+LexToken(VAR,'graphics',1,1748)
+LexToken(DOT,'.',1,1756)
+LexToken(VAR,'exprs',1,1757)
+LexToken(ASSIGNMENT,'=',1,1762)
+LexToken(VAR,'label',1,1763)
+LexToken(EOL,'\n',1,1768)
+LexToken(VAR,'arg1',1,1785)
+LexToken(DOT,'.',1,1789)
+LexToken(VAR,'graphics',1,1790)
+LexToken(ASSIGNMENT,'=',1,1798)
+LexToken(VAR,'graphics',1,1799)
+LexToken(EOL,'\n',1,1807)
+LexToken(VAR,'arg1',1,1824)
+LexToken(DOT,'.',1,1828)
+LexToken(VAR,'model',1,1829)
+LexToken(ASSIGNMENT,'=',1,1834)
+LexToken(VAR,'model',1,1835)
+LexToken(EOL,'\n',1,1840)
+LexToken(VAR,'x',1,1857)
+LexToken(ASSIGNMENT,'=',1,1858)
+LexToken(VAR,'arg1',1,1859)
+LexToken(EOL,'\n',1,1863)
+LexToken(BREAK,'break',1,1880)
+LexToken(EOL,'\n',1,1885)
+LexToken(END,'end',1,1898)
+LexToken(EOL,'\n',1,1901)
+LexToken(END,'end',1,1910)
+LexToken(EOL,'\n',1,1913)
+LexToken(CASE,'case',1,1918)
+LexToken(DQSTRING,'"define"',1,1930)
+LexToken(THEN,'then',1,1932)
+LexToken(EOL,'\n',1,1936)
+LexToken(VAR,'model',1,1945)
+LexToken(ASSIGNMENT,'=',1,1950)
+LexToken(SCICOS_MODEL,'scicos_model',1,1951)
+LexToken(OPENBRACKET,'(',1,1963)
+LexToken(CLOSEBRACKET,')',1,1964)
+LexToken(EOL,'\n',1,1965)
+LexToken(VAR,'function_name',1,1974)
+LexToken(ASSIGNMENT,'=',1,1987)
+LexToken(DQSTRING,'"mat_cath"',1,1997)
+LexToken(SEMICOLON,';',1,1998)
+LexToken(EOL,'\n',1,1999)
+LexToken(VAR,'funtyp',1,2008)
+LexToken(ASSIGNMENT,'=',1,2014)
+LexToken(NUMBER,'4',1,2015)
+LexToken(SEMICOLON,';',1,2016)
+LexToken(EOL,'\n',1,2017)
+LexToken(VAR,'model',1,2026)
+LexToken(DOT,'.',1,2031)
+LexToken(VAR,'sim',1,2032)
+LexToken(ASSIGNMENT,'=',1,2035)
+LexToken(VAR,'list',1,2036)
+LexToken(OPENBRACKET,'(',1,2040)
+LexToken(VAR,'function_name',1,2041)
+LexToken(COMMA,',',1,2054)
+LexToken(VAR,'funtyp',1,2055)
+LexToken(CLOSEBRACKET,')',1,2061)
+LexToken(EOL,'\n',1,2062)
+LexToken(VAR,'model',1,2071)
+LexToken(DOT,'.',1,2076)
+LexToken(VAR,'in',1,2077)
+LexToken(ASSIGNMENT,'=',1,2079)
+LexToken(OPENSQBRACKET,'[',1,2080)
+LexToken(NUMBER,'-1',1,2081)
+LexToken(SEMICOLON,';',1,2083)
+LexToken(NUMBER,'-1',1,2084)
+LexToken(CLOSESQBRACKET,']',1,2086)
+LexToken(EOL,'\n',1,2087)
+LexToken(VAR,'model',1,2096)
+LexToken(DOT,'.',1,2101)
+LexToken(VAR,'in2',1,2102)
+LexToken(ASSIGNMENT,'=',1,2105)
+LexToken(OPENSQBRACKET,'[',1,2106)
+LexToken(NUMBER,'-2',1,2107)
+LexToken(SEMICOLON,';',1,2109)
+LexToken(NUMBER,'-3',1,2110)
+LexToken(CLOSESQBRACKET,']',1,2112)
+LexToken(EOL,'\n',1,2113)
+LexToken(VAR,'model',1,2122)
+LexToken(DOT,'.',1,2127)
+LexToken(VAR,'intyp',1,2128)
+LexToken(ASSIGNMENT,'=',1,2133)
+LexToken(OPENSQBRACKET,'[',1,2134)
+LexToken(NUMBER,'1',1,2135)
+LexToken(NUMBER,'1',1,2137)
+LexToken(CLOSESQBRACKET,']',1,2138)
+LexToken(EOL,'\n',1,2139)
+LexToken(VAR,'model',1,2148)
+LexToken(DOT,'.',1,2153)
+LexToken(VAR,'out',1,2154)
+LexToken(ASSIGNMENT,'=',1,2157)
+LexToken(NUMBER,'-1',1,2158)
+LexToken(EOL,'\n',1,2160)
+LexToken(VAR,'model',1,2169)
+LexToken(DOT,'.',1,2174)
+LexToken(VAR,'out2',1,2175)
+LexToken(ASSIGNMENT,'=',1,2179)
+LexToken(NUMBER,'0',1,2180)
+LexToken(EOL,'\n',1,2181)
+LexToken(VAR,'model',1,2190)
+LexToken(DOT,'.',1,2195)
+LexToken(VAR,'outtyp',1,2196)
+LexToken(ASSIGNMENT,'=',1,2202)
+LexToken(NUMBER,'-1',1,2203)
+LexToken(EOL,'\n',1,2205)
+LexToken(VAR,'model',1,2214)
+LexToken(DOT,'.',1,2219)
+LexToken(VAR,'evtin',1,2220)
+LexToken(ASSIGNMENT,'=',1,2225)
+LexToken(OPENSQBRACKET,'[',1,2226)
+LexToken(CLOSESQBRACKET,']',1,2227)
+LexToken(EOL,'\n',1,2228)
+LexToken(VAR,'model',1,2237)
+LexToken(DOT,'.',1,2242)
+LexToken(VAR,'evtout',1,2243)
+LexToken(ASSIGNMENT,'=',1,2249)
+LexToken(OPENSQBRACKET,'[',1,2250)
+LexToken(CLOSESQBRACKET,']',1,2251)
+LexToken(EOL,'\n',1,2252)
+LexToken(VAR,'model',1,2261)
+LexToken(DOT,'.',1,2266)
+LexToken(VAR,'state',1,2267)
+LexToken(ASSIGNMENT,'=',1,2272)
+LexToken(OPENSQBRACKET,'[',1,2273)
+LexToken(CLOSESQBRACKET,']',1,2274)
+LexToken(EOL,'\n',1,2275)
+LexToken(VAR,'model',1,2284)
+LexToken(DOT,'.',1,2289)
+LexToken(VAR,'dstate',1,2290)
+LexToken(ASSIGNMENT,'=',1,2296)
+LexToken(OPENSQBRACKET,'[',1,2297)
+LexToken(CLOSESQBRACKET,']',1,2298)
+LexToken(EOL,'\n',1,2299)
+LexToken(VAR,'model',1,2308)
+LexToken(DOT,'.',1,2313)
+LexToken(VAR,'rpar',1,2314)
+LexToken(ASSIGNMENT,'=',1,2318)
+LexToken(OPENSQBRACKET,'[',1,2319)
+LexToken(CLOSESQBRACKET,']',1,2320)
+LexToken(EOL,'\n',1,2321)
+LexToken(VAR,'model',1,2330)
+LexToken(DOT,'.',1,2335)
+LexToken(VAR,'ipar',1,2336)
+LexToken(ASSIGNMENT,'=',1,2340)
+LexToken(OPENSQBRACKET,'[',1,2341)
+LexToken(CLOSESQBRACKET,']',1,2342)
+LexToken(EOL,'\n',1,2343)
+LexToken(VAR,'model',1,2352)
+LexToken(DOT,'.',1,2357)
+LexToken(VAR,'blocktype',1,2358)
+LexToken(ASSIGNMENT,'=',1,2367)
+LexToken(DQSTRING,'"c"',1,2370)
+LexToken(EOL,'\n',1,2371)
+LexToken(VAR,'model',1,2380)
+LexToken(DOT,'.',1,2385)
+LexToken(VAR,'firing',1,2386)
+LexToken(ASSIGNMENT,'=',1,2392)
+LexToken(OPENSQBRACKET,'[',1,2393)
+LexToken(CLOSESQBRACKET,']',1,2394)
+LexToken(EOL,'\n',1,2395)
+LexToken(VAR,'model',1,2404)
+LexToken(DOT,'.',1,2409)
+LexToken(VAR,'dep_ut',1,2410)
+LexToken(ASSIGNMENT,'=',1,2416)
+LexToken(OPENSQBRACKET,'[',1,2417)
+LexToken(PREVAR_BOOLEAN,'%t',1,2418)
+LexToken(PREVAR_BOOLEAN,'%f',1,2421)
+LexToken(CLOSESQBRACKET,']',1,2423)
+LexToken(EOL,'\n',1,2424)
+LexToken(VAR,'label',1,2433)
+LexToken(ASSIGNMENT,'=',1,2438)
+LexToken(OPENSQBRACKET,'[',1,2439)
+LexToken(VAR,'sci2exp',1,2440)
+LexToken(OPENBRACKET,'(',1,2447)
+LexToken(NUMBER,'2',1,2448)
+LexToken(CLOSEBRACKET,')',1,2449)
+LexToken(CLOSESQBRACKET,']',1,2450)
+LexToken(SEMICOLON,';',1,2451)
+LexToken(EOL,'\n',1,2452)
+LexToken(VAR,'gr_i',1,2461)
+LexToken(ASSIGNMENT,'=',1,2465)
+LexToken(OPENSQBRACKET,'[',1,2466)
+LexToken(CLOSESQBRACKET,']',1,2467)
+LexToken(EOL,'\n',1,2468)
+LexToken(VAR,'x',1,2477)
+LexToken(ASSIGNMENT,'=',1,2478)
+LexToken(VAR,'standard_define',1,2479)
+LexToken(OPENBRACKET,'(',1,2494)
+LexToken(OPENSQBRACKET,'[',1,2495)
+LexToken(NUMBER,'2',1,2496)
+LexToken(NUMBER,'3',1,2498)
+LexToken(CLOSESQBRACKET,']',1,2499)
+LexToken(COMMA,',',1,2500)
+LexToken(VAR,'model',1,2501)
+LexToken(COMMA,',',1,2506)
+LexToken(VAR,'label',1,2507)
+LexToken(COMMA,',',1,2512)
+LexToken(VAR,'gr_i',1,2513)
+LexToken(CLOSEBRACKET,')',1,2517)
+LexToken(EOL,'\n',1,2518)
+LexToken(END,'end',1,2523)
+LexToken(EOL,'\n',1,2526)
+LexToken(ENDFUNCTION,'endfunction',1,2527)
+LexToken(EOL,'\n',1,2538)
diff --git a/js/MatrixOp/MATCATV.js b/js/MatrixOp/MATCATV.js
new file mode 100644
index 00000000..5fb35026
--- /dev/null
+++ b/js/MatrixOp/MATCATV.js
@@ -0,0 +1,472 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,852)
+LexToken(VAR,'MATCATV',1,854)
+LexToken(OPENBRACKET,'(',1,861)
+LexToken(VAR,'job',1,862)
+LexToken(COMMA,',',1,865)
+LexToken(VAR,'arg1',1,866)
+LexToken(COMMA,',',1,870)
+LexToken(VAR,'arg2',1,871)
+LexToken(CLOSEBRACKET,')',1,875)
+LexToken(EOL,'\n',1,876)
+LexToken(VAR,'x',1,881)
+LexToken(ASSIGNMENT,'=',1,882)
+LexToken(OPENSQBRACKET,'[',1,883)
+LexToken(CLOSESQBRACKET,']',1,884)
+LexToken(SEMICOLON,';',1,885)
+LexToken(EOL,'\n',1,886)
+LexToken(VAR,'y',1,891)
+LexToken(ASSIGNMENT,'=',1,892)
+LexToken(OPENSQBRACKET,'[',1,893)
+LexToken(CLOSESQBRACKET,']',1,894)
+LexToken(SEMICOLON,';',1,895)
+LexToken(EOL,'\n',1,896)
+LexToken(VAR,'typ',1,901)
+LexToken(ASSIGNMENT,'=',1,904)
+LexToken(OPENSQBRACKET,'[',1,905)
+LexToken(CLOSESQBRACKET,']',1,906)
+LexToken(SEMICOLON,';',1,907)
+LexToken(EOL,'\n',1,908)
+LexToken(SELECT,'select',1,913)
+LexToken(VAR,'job',1,920)
+LexToken(EOL,'\n',1,923)
+LexToken(CASE,'case',1,928)
+LexToken(DQSTRING,'"set"',1,937)
+LexToken(THEN,'then',1,939)
+LexToken(EOL,'\n',1,943)
+LexToken(VAR,'x',1,952)
+LexToken(ASSIGNMENT,'=',1,953)
+LexToken(VAR,'arg1',1,954)
+LexToken(EOL,'\n',1,958)
+LexToken(VAR,'model',1,967)
+LexToken(ASSIGNMENT,'=',1,972)
+LexToken(VAR,'arg1',1,973)
+LexToken(DOT,'.',1,977)
+LexToken(VAR,'model',1,978)
+LexToken(SEMICOLON,';',1,983)
+LexToken(EOL,'\n',1,984)
+LexToken(VAR,'graphics',1,993)
+LexToken(ASSIGNMENT,'=',1,1001)
+LexToken(VAR,'arg1',1,1002)
+LexToken(DOT,'.',1,1006)
+LexToken(VAR,'graphics',1,1007)
+LexToken(SEMICOLON,';',1,1015)
+LexToken(EOL,'\n',1,1016)
+LexToken(VAR,'label',1,1025)
+LexToken(ASSIGNMENT,'=',1,1030)
+LexToken(VAR,'graphics',1,1031)
+LexToken(DOT,'.',1,1039)
+LexToken(VAR,'exprs',1,1040)
+LexToken(EOL,'\n',1,1045)
+LexToken(IF,'if',1,1054)
+LexToken(VAR,'size',1,1057)
+LexToken(OPENBRACKET,'(',1,1061)
+LexToken(VAR,'label',1,1062)
+LexToken(COMMA,',',1,1067)
+LexToken(DQSTRING,'"*"',1,1070)
+LexToken(CLOSEBRACKET,')',1,1071)
+LexToken(COMPARISON,'>',1,1072)
+LexToken(NUMBER,'1',1,1073)
+LexToken(THEN,'then',1,1075)
+LexToken(EOL,'\n',1,1095)
+LexToken(VAR,'label',1,1108)
+LexToken(ASSIGNMENT,'=',1,1113)
+LexToken(DQSTRING,'"size(evstr("',1,1126)
+LexToken(OPERATOR,'+',1,1127)
+LexToken(VAR,'label',1,1128)
+LexToken(OPENBRACKET,'(',1,1133)
+LexToken(NUMBER,'2',1,1134)
+LexToken(CLOSEBRACKET,')',1,1135)
+LexToken(OPERATOR,'+',1,1136)
+LexToken(DQSTRING,'"),\\\'*\\\')"',1,1146)
+LexToken(SEMICOLON,';',1,1147)
+LexToken(EOL,'\n',1,1148)
+LexToken(END,'end',1,1157)
+LexToken(EOL,'\n',1,1160)
+LexToken(WHILE,'while',1,1169)
+LexToken(PREVAR_BOOLEAN,'%t',1,1175)
+LexToken(DO,'do',1,1178)
+LexToken(EOL,'\n',1,1180)
+LexToken(OPENSQBRACKET,'[',1,1193)
+LexToken(VAR,'ok',1,1194)
+LexToken(COMMA,',',1,1196)
+LexToken(VAR,'nin',1,1197)
+LexToken(COMMA,',',1,1200)
+LexToken(VAR,'lab',1,1201)
+LexToken(CLOSESQBRACKET,']',1,1204)
+LexToken(ASSIGNMENT,'=',1,1205)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1221)
+LexToken(OPENBRACKET,'(',1,1236)
+LexToken(DQSTRING,'"Set MATCATV block parameters"',1,1266)
+LexToken(COMMA,',',1,1267)
+LexToken(OPENSQBRACKET,'[',1,1283)
+LexToken(DQSTRING,'"Number od inputs"',1,1301)
+LexToken(CLOSESQBRACKET,']',1,1302)
+LexToken(COMMA,',',1,1303)
+LexToken(VAR,'list',1,1319)
+LexToken(OPENBRACKET,'(',1,1323)
+LexToken(DQSTRING,'"vec"',1,1328)
+LexToken(COMMA,',',1,1329)
+LexToken(NUMBER,'1',1,1330)
+LexToken(CLOSEBRACKET,')',1,1331)
+LexToken(COMMA,',',1,1332)
+LexToken(VAR,'label',1,1333)
+LexToken(CLOSEBRACKET,')',1,1338)
+LexToken(EOL,'\n',1,1339)
+LexToken(IF,'if',1,1352)
+LexToken(NOT,'~',1,1355)
+LexToken(VAR,'ok',1,1356)
+LexToken(THEN,'then',1,1359)
+LexToken(EOL,'\n',1,1363)
+LexToken(BREAK,'break',1,1380)
+LexToken(COMMA,',',1,1385)
+LexToken(EOL,'\n',1,1386)
+LexToken(END,'end',1,1399)
+LexToken(EOL,'\n',1,1402)
+LexToken(VAR,'label',1,1415)
+LexToken(ASSIGNMENT,'=',1,1420)
+LexToken(VAR,'lab',1,1421)
+LexToken(EOL,'\n',1,1424)
+LexToken(VAR,'in',1,1437)
+LexToken(ASSIGNMENT,'=',1,1439)
+LexToken(OPENSQBRACKET,'[',1,1440)
+LexToken(OPERATOR,'-',1,1441)
+LexToken(OPENBRACKET,'(',1,1442)
+LexToken(OPENSQBRACKET,'[',1,1443)
+LexToken(NUMBER,'2',1,1444)
+LexToken(COLON,':',1,1445)
+LexToken(VAR,'nin',1,1446)
+LexToken(OPERATOR,'+',1,1449)
+LexToken(NUMBER,'1',1,1450)
+LexToken(CLOSESQBRACKET,']',1,1451)
+LexToken(TRANSPOSE,"'",1,1452)
+LexToken(CLOSEBRACKET,')',1,1453)
+LexToken(OPERATOR,'-',1,1455)
+LexToken(VAR,'ones',1,1456)
+LexToken(OPENBRACKET,'(',1,1460)
+LexToken(VAR,'nin',1,1461)
+LexToken(COMMA,',',1,1464)
+LexToken(NUMBER,'1',1,1465)
+LexToken(CLOSEBRACKET,')',1,1466)
+LexToken(CLOSESQBRACKET,']',1,1467)
+LexToken(EOL,'\n',1,1468)
+LexToken(VAR,'it',1,1481)
+LexToken(ASSIGNMENT,'=',1,1483)
+LexToken(OPERATOR,'-',1,1485)
+LexToken(VAR,'ones',1,1486)
+LexToken(OPENBRACKET,'(',1,1490)
+LexToken(VAR,'nin',1,1491)
+LexToken(COMMA,',',1,1494)
+LexToken(NUMBER,'1',1,1495)
+LexToken(CLOSEBRACKET,')',1,1496)
+LexToken(SEMICOLON,';',1,1497)
+LexToken(EOL,'\n',1,1498)
+LexToken(VAR,'ot',1,1511)
+LexToken(ASSIGNMENT,'=',1,1513)
+LexToken(NUMBER,'-1',1,1514)
+LexToken(SEMICOLON,';',1,1516)
+LexToken(EOL,'\n',1,1517)
+LexToken(VAR,'out',1,1530)
+LexToken(ASSIGNMENT,'=',1,1533)
+LexToken(OPENSQBRACKET,'[',1,1534)
+LexToken(NUMBER,'0',1,1535)
+LexToken(NUMBER,'-1',1,1537)
+LexToken(CLOSESQBRACKET,']',1,1539)
+LexToken(EOL,'\n',1,1540)
+LexToken(OPENSQBRACKET,'[',1,1553)
+LexToken(VAR,'model',1,1554)
+LexToken(COMMA,',',1,1559)
+LexToken(VAR,'graphics',1,1560)
+LexToken(COMMA,',',1,1568)
+LexToken(VAR,'ok',1,1569)
+LexToken(CLOSESQBRACKET,']',1,1571)
+LexToken(ASSIGNMENT,'=',1,1572)
+LexToken(VAR,'set_io',1,1573)
+LexToken(OPENBRACKET,'(',1,1579)
+LexToken(VAR,'model',1,1580)
+LexToken(COMMA,',',1,1585)
+LexToken(VAR,'graphics',1,1586)
+LexToken(COMMA,',',1,1594)
+LexToken(VAR,'list',1,1595)
+LexToken(OPENBRACKET,'(',1,1599)
+LexToken(VAR,'in',1,1600)
+LexToken(COMMA,',',1,1602)
+LexToken(VAR,'it',1,1603)
+LexToken(CLOSEBRACKET,')',1,1605)
+LexToken(COMMA,',',1,1606)
+LexToken(VAR,'list',1,1607)
+LexToken(OPENBRACKET,'(',1,1611)
+LexToken(VAR,'out',1,1612)
+LexToken(COMMA,',',1,1615)
+LexToken(VAR,'ot',1,1616)
+LexToken(CLOSEBRACKET,')',1,1618)
+LexToken(COMMA,',',1,1619)
+LexToken(OPENSQBRACKET,'[',1,1620)
+LexToken(CLOSESQBRACKET,']',1,1621)
+LexToken(COMMA,',',1,1622)
+LexToken(OPENSQBRACKET,'[',1,1623)
+LexToken(CLOSESQBRACKET,']',1,1624)
+LexToken(CLOSEBRACKET,')',1,1625)
+LexToken(EOL,'\n',1,1626)
+LexToken(IF,'if',1,1639)
+LexToken(VAR,'ok',1,1642)
+LexToken(THEN,'then',1,1645)
+LexToken(EOL,'\n',1,1649)
+LexToken(VAR,'funtyp',1,1666)
+LexToken(ASSIGNMENT,'=',1,1672)
+LexToken(NUMBER,'4',1,1673)
+LexToken(SEMICOLON,';',1,1674)
+LexToken(EOL,'\n',1,1675)
+LexToken(VAR,'model',1,1692)
+LexToken(DOT,'.',1,1697)
+LexToken(VAR,'sim',1,1698)
+LexToken(ASSIGNMENT,'=',1,1701)
+LexToken(VAR,'list',1,1702)
+LexToken(OPENBRACKET,'(',1,1706)
+LexToken(DQSTRING,'"mat_catv"',1,1716)
+LexToken(COMMA,',',1,1717)
+LexToken(VAR,'funtyp',1,1718)
+LexToken(CLOSEBRACKET,')',1,1724)
+LexToken(EOL,'\n',1,1725)
+LexToken(VAR,'graphics',1,1742)
+LexToken(DOT,'.',1,1750)
+LexToken(VAR,'exprs',1,1751)
+LexToken(ASSIGNMENT,'=',1,1756)
+LexToken(VAR,'label',1,1757)
+LexToken(EOL,'\n',1,1762)
+LexToken(VAR,'arg1',1,1779)
+LexToken(DOT,'.',1,1783)
+LexToken(VAR,'graphics',1,1784)
+LexToken(ASSIGNMENT,'=',1,1792)
+LexToken(VAR,'graphics',1,1793)
+LexToken(EOL,'\n',1,1801)
+LexToken(VAR,'arg1',1,1818)
+LexToken(DOT,'.',1,1822)
+LexToken(VAR,'model',1,1823)
+LexToken(ASSIGNMENT,'=',1,1828)
+LexToken(VAR,'model',1,1829)
+LexToken(EOL,'\n',1,1834)
+LexToken(VAR,'x',1,1851)
+LexToken(ASSIGNMENT,'=',1,1852)
+LexToken(VAR,'arg1',1,1853)
+LexToken(EOL,'\n',1,1857)
+LexToken(BREAK,'break',1,1874)
+LexToken(EOL,'\n',1,1879)
+LexToken(END,'end',1,1892)
+LexToken(EOL,'\n',1,1895)
+LexToken(END,'end',1,1904)
+LexToken(EOL,'\n',1,1907)
+LexToken(CASE,'case',1,1912)
+LexToken(DQSTRING,'"define"',1,1924)
+LexToken(THEN,'then',1,1926)
+LexToken(EOL,'\n',1,1930)
+LexToken(VAR,'l1',1,1939)
+LexToken(ASSIGNMENT,'=',1,1941)
+LexToken(OPENSQBRACKET,'[',1,1942)
+LexToken(NUMBER,'2',1,1943)
+LexToken(SEMICOLON,';',1,1944)
+LexToken(NUMBER,'2',1,1945)
+LexToken(CLOSESQBRACKET,']',1,1946)
+LexToken(EOL,'\n',1,1947)
+LexToken(VAR,'model',1,1956)
+LexToken(ASSIGNMENT,'=',1,1961)
+LexToken(SCICOS_MODEL,'scicos_model',1,1962)
+LexToken(OPENBRACKET,'(',1,1974)
+LexToken(CLOSEBRACKET,')',1,1975)
+LexToken(EOL,'\n',1,1976)
+LexToken(VAR,'function_name',1,1985)
+LexToken(ASSIGNMENT,'=',1,1998)
+LexToken(DQSTRING,'"mat_catv"',1,2008)
+LexToken(SEMICOLON,';',1,2009)
+LexToken(EOL,'\n',1,2010)
+LexToken(VAR,'funtyp',1,2019)
+LexToken(ASSIGNMENT,'=',1,2025)
+LexToken(NUMBER,'4',1,2026)
+LexToken(SEMICOLON,';',1,2027)
+LexToken(EOL,'\n',1,2028)
+LexToken(VAR,'model',1,2037)
+LexToken(DOT,'.',1,2042)
+LexToken(VAR,'sim',1,2043)
+LexToken(ASSIGNMENT,'=',1,2046)
+LexToken(VAR,'list',1,2047)
+LexToken(OPENBRACKET,'(',1,2051)
+LexToken(VAR,'function_name',1,2052)
+LexToken(COMMA,',',1,2065)
+LexToken(VAR,'funtyp',1,2066)
+LexToken(CLOSEBRACKET,')',1,2072)
+LexToken(EOL,'\n',1,2073)
+LexToken(VAR,'model',1,2082)
+LexToken(DOT,'.',1,2087)
+LexToken(VAR,'in2',1,2088)
+LexToken(ASSIGNMENT,'=',1,2091)
+LexToken(OPENSQBRACKET,'[',1,2092)
+LexToken(NUMBER,'-1',1,2093)
+LexToken(SEMICOLON,';',1,2095)
+LexToken(NUMBER,'-1',1,2096)
+LexToken(CLOSESQBRACKET,']',1,2098)
+LexToken(EOL,'\n',1,2099)
+LexToken(VAR,'model',1,2108)
+LexToken(DOT,'.',1,2113)
+LexToken(VAR,'in',1,2114)
+LexToken(ASSIGNMENT,'=',1,2116)
+LexToken(OPENSQBRACKET,'[',1,2117)
+LexToken(NUMBER,'-2',1,2118)
+LexToken(SEMICOLON,';',1,2120)
+LexToken(NUMBER,'-3',1,2121)
+LexToken(CLOSESQBRACKET,']',1,2123)
+LexToken(EOL,'\n',1,2124)
+LexToken(VAR,'model',1,2133)
+LexToken(DOT,'.',1,2138)
+LexToken(VAR,'intyp',1,2139)
+LexToken(ASSIGNMENT,'=',1,2144)
+LexToken(OPENSQBRACKET,'[',1,2145)
+LexToken(NUMBER,'-1',1,2146)
+LexToken(NUMBER,'-1',1,2149)
+LexToken(CLOSESQBRACKET,']',1,2151)
+LexToken(EOL,'\n',1,2152)
+LexToken(VAR,'model',1,2161)
+LexToken(DOT,'.',1,2166)
+LexToken(VAR,'out',1,2167)
+LexToken(ASSIGNMENT,'=',1,2170)
+LexToken(NUMBER,'0',1,2171)
+LexToken(EOL,'\n',1,2172)
+LexToken(VAR,'model',1,2181)
+LexToken(DOT,'.',1,2186)
+LexToken(VAR,'out2',1,2187)
+LexToken(ASSIGNMENT,'=',1,2191)
+LexToken(NUMBER,'-1',1,2192)
+LexToken(EOL,'\n',1,2194)
+LexToken(VAR,'model',1,2203)
+LexToken(DOT,'.',1,2208)
+LexToken(VAR,'outtyp',1,2209)
+LexToken(ASSIGNMENT,'=',1,2215)
+LexToken(NUMBER,'-1',1,2216)
+LexToken(EOL,'\n',1,2218)
+LexToken(VAR,'model',1,2227)
+LexToken(DOT,'.',1,2232)
+LexToken(VAR,'evtin',1,2233)
+LexToken(ASSIGNMENT,'=',1,2238)
+LexToken(OPENSQBRACKET,'[',1,2239)
+LexToken(CLOSESQBRACKET,']',1,2240)
+LexToken(EOL,'\n',1,2241)
+LexToken(VAR,'model',1,2250)
+LexToken(DOT,'.',1,2255)
+LexToken(VAR,'evtout',1,2256)
+LexToken(ASSIGNMENT,'=',1,2262)
+LexToken(OPENSQBRACKET,'[',1,2263)
+LexToken(CLOSESQBRACKET,']',1,2264)
+LexToken(EOL,'\n',1,2265)
+LexToken(VAR,'model',1,2274)
+LexToken(DOT,'.',1,2279)
+LexToken(VAR,'state',1,2280)
+LexToken(ASSIGNMENT,'=',1,2285)
+LexToken(OPENSQBRACKET,'[',1,2286)
+LexToken(CLOSESQBRACKET,']',1,2287)
+LexToken(EOL,'\n',1,2288)
+LexToken(VAR,'model',1,2297)
+LexToken(DOT,'.',1,2302)
+LexToken(VAR,'dstate',1,2303)
+LexToken(ASSIGNMENT,'=',1,2309)
+LexToken(OPENSQBRACKET,'[',1,2310)
+LexToken(CLOSESQBRACKET,']',1,2311)
+LexToken(EOL,'\n',1,2312)
+LexToken(VAR,'model',1,2321)
+LexToken(DOT,'.',1,2326)
+LexToken(VAR,'rpar',1,2327)
+LexToken(ASSIGNMENT,'=',1,2331)
+LexToken(OPENSQBRACKET,'[',1,2332)
+LexToken(CLOSESQBRACKET,']',1,2333)
+LexToken(EOL,'\n',1,2334)
+LexToken(VAR,'model',1,2343)
+LexToken(DOT,'.',1,2348)
+LexToken(VAR,'ipar',1,2349)
+LexToken(ASSIGNMENT,'=',1,2353)
+LexToken(OPENSQBRACKET,'[',1,2354)
+LexToken(CLOSESQBRACKET,']',1,2355)
+LexToken(EOL,'\n',1,2356)
+LexToken(VAR,'model',1,2365)
+LexToken(DOT,'.',1,2370)
+LexToken(VAR,'blocktype',1,2371)
+LexToken(ASSIGNMENT,'=',1,2380)
+LexToken(DQSTRING,'"c"',1,2383)
+LexToken(EOL,'\n',1,2384)
+LexToken(VAR,'model',1,2393)
+LexToken(DOT,'.',1,2398)
+LexToken(VAR,'firing',1,2399)
+LexToken(ASSIGNMENT,'=',1,2405)
+LexToken(OPENSQBRACKET,'[',1,2406)
+LexToken(CLOSESQBRACKET,']',1,2407)
+LexToken(EOL,'\n',1,2408)
+LexToken(VAR,'model',1,2417)
+LexToken(DOT,'.',1,2422)
+LexToken(VAR,'dep_ut',1,2423)
+LexToken(ASSIGNMENT,'=',1,2429)
+LexToken(OPENSQBRACKET,'[',1,2430)
+LexToken(PREVAR_BOOLEAN,'%t',1,2431)
+LexToken(PREVAR_BOOLEAN,'%f',1,2434)
+LexToken(CLOSESQBRACKET,']',1,2436)
+LexToken(EOL,'\n',1,2437)
+LexToken(VAR,'label',1,2446)
+LexToken(ASSIGNMENT,'=',1,2451)
+LexToken(OPENSQBRACKET,'[',1,2452)
+LexToken(VAR,'sci2exp',1,2453)
+LexToken(OPENBRACKET,'(',1,2460)
+LexToken(NUMBER,'2',1,2461)
+LexToken(CLOSEBRACKET,')',1,2462)
+LexToken(CLOSESQBRACKET,']',1,2463)
+LexToken(SEMICOLON,';',1,2464)
+LexToken(EOL,'\n',1,2465)
+LexToken(VAR,'gr_i',1,2474)
+LexToken(ASSIGNMENT,'=',1,2478)
+LexToken(OPENSQBRACKET,'[',1,2479)
+LexToken(CLOSESQBRACKET,']',1,2480)
+LexToken(EOL,'\n',1,2481)
+LexToken(VAR,'x',1,2490)
+LexToken(ASSIGNMENT,'=',1,2491)
+LexToken(VAR,'standard_define',1,2492)
+LexToken(OPENBRACKET,'(',1,2507)
+LexToken(OPENSQBRACKET,'[',1,2508)
+LexToken(NUMBER,'2',1,2509)
+LexToken(NUMBER,'3',1,2511)
+LexToken(CLOSESQBRACKET,']',1,2512)
+LexToken(COMMA,',',1,2513)
+LexToken(VAR,'model',1,2514)
+LexToken(COMMA,',',1,2519)
+LexToken(VAR,'label',1,2520)
+LexToken(COMMA,',',1,2525)
+LexToken(VAR,'gr_i',1,2526)
+LexToken(CLOSEBRACKET,')',1,2530)
+LexToken(EOL,'\n',1,2531)
+LexToken(END,'end',1,2536)
+LexToken(EOL,'\n',1,2539)
+LexToken(ENDFUNCTION,'endfunction',1,2540)
+LexToken(EOL,'\n',1,2551)
+LexToken(EOL,'\n',1,2552)
diff --git a/js/MatrixOp/MATDET.js b/js/MatrixOp/MATDET.js
new file mode 100644
index 00000000..006717a0
--- /dev/null
+++ b/js/MatrixOp/MATDET.js
@@ -0,0 +1,496 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATDET',1,852)
+LexToken(OPENBRACKET,'(',1,858)
+LexToken(VAR,'job',1,859)
+LexToken(COMMA,',',1,862)
+LexToken(VAR,'arg1',1,863)
+LexToken(COMMA,',',1,867)
+LexToken(VAR,'arg2',1,868)
+LexToken(CLOSEBRACKET,')',1,872)
+LexToken(EOL,'\n',1,873)
+LexToken(EOL,'\n',1,880)
+LexToken(VAR,'x',1,885)
+LexToken(ASSIGNMENT,'=',1,886)
+LexToken(OPENSQBRACKET,'[',1,887)
+LexToken(CLOSESQBRACKET,']',1,888)
+LexToken(SEMICOLON,';',1,889)
+LexToken(EOL,'\n',1,890)
+LexToken(VAR,'y',1,895)
+LexToken(ASSIGNMENT,'=',1,896)
+LexToken(OPENSQBRACKET,'[',1,897)
+LexToken(CLOSESQBRACKET,']',1,898)
+LexToken(SEMICOLON,';',1,899)
+LexToken(EOL,'\n',1,900)
+LexToken(VAR,'typ',1,905)
+LexToken(ASSIGNMENT,'=',1,908)
+LexToken(OPENSQBRACKET,'[',1,909)
+LexToken(CLOSESQBRACKET,']',1,910)
+LexToken(SEMICOLON,';',1,911)
+LexToken(EOL,'\n',1,912)
+LexToken(SELECT,'select',1,917)
+LexToken(VAR,'job',1,924)
+LexToken(EOL,'\n',1,927)
+LexToken(CASE,'case',1,932)
+LexToken(DQSTRING,'"set"',1,941)
+LexToken(THEN,'then',1,943)
+LexToken(EOL,'\n',1,947)
+LexToken(VAR,'x',1,956)
+LexToken(ASSIGNMENT,'=',1,957)
+LexToken(VAR,'arg1',1,958)
+LexToken(EOL,'\n',1,962)
+LexToken(VAR,'graphics',1,971)
+LexToken(ASSIGNMENT,'=',1,979)
+LexToken(VAR,'arg1',1,980)
+LexToken(DOT,'.',1,984)
+LexToken(VAR,'graphics',1,985)
+LexToken(SEMICOLON,';',1,993)
+LexToken(EOL,'\n',1,994)
+LexToken(VAR,'label',1,1003)
+LexToken(ASSIGNMENT,'=',1,1008)
+LexToken(VAR,'graphics',1,1009)
+LexToken(DOT,'.',1,1017)
+LexToken(VAR,'exprs',1,1018)
+LexToken(EOL,'\n',1,1023)
+LexToken(VAR,'model',1,1032)
+LexToken(ASSIGNMENT,'=',1,1037)
+LexToken(VAR,'arg1',1,1038)
+LexToken(DOT,'.',1,1042)
+LexToken(VAR,'model',1,1043)
+LexToken(SEMICOLON,';',1,1048)
+LexToken(EOL,'\n',1,1049)
+LexToken(IF,'if',1,1058)
+LexToken(VAR,'size',1,1061)
+LexToken(OPENBRACKET,'(',1,1065)
+LexToken(VAR,'label',1,1066)
+LexToken(COMMA,',',1,1071)
+LexToken(DQSTRING,'"*"',1,1074)
+LexToken(CLOSEBRACKET,')',1,1075)
+LexToken(COMPARISON,'==',1,1076)
+LexToken(NUMBER,'14',1,1078)
+LexToken(THEN,'then',1,1081)
+LexToken(EOL,'\n',1,1085)
+LexToken(VAR,'label',1,1098)
+LexToken(OPENBRACKET,'(',1,1103)
+LexToken(NUMBER,'9',1,1104)
+LexToken(CLOSEBRACKET,')',1,1105)
+LexToken(ASSIGNMENT,'=',1,1106)
+LexToken(OPENSQBRACKET,'[',1,1107)
+LexToken(CLOSESQBRACKET,']',1,1108)
+LexToken(COMMA,',',1,1109)
+LexToken(EOL,'\n',1,1110)
+LexToken(END,'end',1,1119)
+LexToken(EOL,'\n',1,1137)
+LexToken(WHILE,'while',1,1146)
+LexToken(PREVAR_BOOLEAN,'%t',1,1152)
+LexToken(DO,'do',1,1155)
+LexToken(EOL,'\n',1,1157)
+LexToken(OPENSQBRACKET,'[',1,1170)
+LexToken(VAR,'ok',1,1171)
+LexToken(COMMA,',',1,1173)
+LexToken(VAR,'typ',1,1174)
+LexToken(COMMA,',',1,1177)
+LexToken(VAR,'exprs',1,1178)
+LexToken(CLOSESQBRACKET,']',1,1183)
+LexToken(ASSIGNMENT,'=',1,1184)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1185)
+LexToken(OPENBRACKET,'(',1,1200)
+LexToken(DQSTRING,'"Set MATDET Block"',1,1218)
+LexToken(COMMA,',',1,1219)
+LexToken(OPENSQBRACKET,'[',1,1235)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1271)
+LexToken(CLOSESQBRACKET,']',1,1272)
+LexToken(COMMA,',',1,1273)
+LexToken(VAR,'list',1,1274)
+LexToken(OPENBRACKET,'(',1,1278)
+LexToken(DQSTRING,'"vec"',1,1283)
+LexToken(COMMA,',',1,1284)
+LexToken(NUMBER,'1',1,1285)
+LexToken(CLOSEBRACKET,')',1,1286)
+LexToken(COMMA,',',1,1287)
+LexToken(VAR,'label',1,1288)
+LexToken(CLOSEBRACKET,')',1,1293)
+LexToken(EOL,'\n',1,1294)
+LexToken(IF,'if',1,1307)
+LexToken(NOT,'~',1,1310)
+LexToken(VAR,'ok',1,1311)
+LexToken(THEN,'then',1,1314)
+LexToken(EOL,'\n',1,1318)
+LexToken(BREAK,'break',1,1335)
+LexToken(COMMA,',',1,1340)
+LexToken(EOL,'\n',1,1341)
+LexToken(END,'end',1,1354)
+LexToken(EOL,'\n',1,1357)
+LexToken(IF,'if',1,1370)
+LexToken(OPENBRACKET,'(',1,1373)
+LexToken(VAR,'typ',1,1374)
+LexToken(COMPARISON,'==',1,1377)
+LexToken(NUMBER,'1',1,1379)
+LexToken(CLOSEBRACKET,')',1,1380)
+LexToken(THEN,'then',1,1382)
+LexToken(EOL,'\n',1,1386)
+LexToken(VAR,'function_name',1,1403)
+LexToken(ASSIGNMENT,'=',1,1416)
+LexToken(DQSTRING,'"mat_det"',1,1425)
+LexToken(SEMICOLON,';',1,1426)
+LexToken(EOL,'\n',1,1427)
+LexToken(VAR,'ot',1,1444)
+LexToken(ASSIGNMENT,'=',1,1446)
+LexToken(NUMBER,'1',1,1447)
+LexToken(SEMICOLON,';',1,1448)
+LexToken(EOL,'\n',1,1449)
+LexToken(VAR,'it',1,1466)
+LexToken(ASSIGNMENT,'=',1,1468)
+LexToken(NUMBER,'1',1,1469)
+LexToken(SEMICOLON,';',1,1470)
+LexToken(EOL,'\n',1,1471)
+LexToken(ELSEIF,'elseif',1,1484)
+LexToken(OPENBRACKET,'(',1,1491)
+LexToken(VAR,'typ',1,1492)
+LexToken(COMPARISON,'==',1,1495)
+LexToken(NUMBER,'2',1,1497)
+LexToken(CLOSEBRACKET,')',1,1498)
+LexToken(THEN,'then',1,1500)
+LexToken(EOL,'\n',1,1504)
+LexToken(VAR,'function_name',1,1521)
+LexToken(ASSIGNMENT,'=',1,1534)
+LexToken(DQSTRING,'"matz_det"',1,1544)
+LexToken(SEMICOLON,';',1,1545)
+LexToken(EOL,'\n',1,1546)
+LexToken(VAR,'ot',1,1563)
+LexToken(ASSIGNMENT,'=',1,1565)
+LexToken(NUMBER,'2',1,1566)
+LexToken(SEMICOLON,';',1,1567)
+LexToken(EOL,'\n',1,1568)
+LexToken(VAR,'it',1,1585)
+LexToken(ASSIGNMENT,'=',1,1587)
+LexToken(NUMBER,'2',1,1588)
+LexToken(SEMICOLON,';',1,1589)
+LexToken(EOL,'\n',1,1590)
+LexToken(ELSE,'else',1,1603)
+LexToken(EOL,'\n',1,1607)
+LexToken(VAR,'message',1,1624)
+LexToken(OPENBRACKET,'(',1,1631)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1658)
+LexToken(CLOSEBRACKET,')',1,1659)
+LexToken(SEMICOLON,';',1,1660)
+LexToken(EOL,'\n',1,1661)
+LexToken(VAR,'ok',1,1678)
+LexToken(ASSIGNMENT,'=',1,1680)
+LexToken(PREVAR_BOOLEAN,'%f',1,1681)
+LexToken(SEMICOLON,';',1,1683)
+LexToken(EOL,'\n',1,1684)
+LexToken(END,'end',1,1697)
+LexToken(EOL,'\n',1,1700)
+LexToken(VAR,'in',1,1713)
+LexToken(ASSIGNMENT,'=',1,1715)
+LexToken(OPENSQBRACKET,'[',1,1716)
+LexToken(VAR,'model',1,1717)
+LexToken(DOT,'.',1,1722)
+LexToken(VAR,'in',1,1723)
+LexToken(VAR,'model',1,1726)
+LexToken(DOT,'.',1,1731)
+LexToken(VAR,'in2',1,1732)
+LexToken(CLOSESQBRACKET,']',1,1735)
+LexToken(SEMICOLON,';',1,1736)
+LexToken(EOL,'\n',1,1737)
+LexToken(VAR,'out',1,1750)
+LexToken(ASSIGNMENT,'=',1,1753)
+LexToken(OPENSQBRACKET,'[',1,1754)
+LexToken(VAR,'model',1,1755)
+LexToken(DOT,'.',1,1760)
+LexToken(VAR,'out',1,1761)
+LexToken(VAR,'model',1,1765)
+LexToken(DOT,'.',1,1770)
+LexToken(VAR,'out2',1,1771)
+LexToken(CLOSESQBRACKET,']',1,1775)
+LexToken(SEMICOLON,';',1,1776)
+LexToken(EOL,'\n',1,1777)
+LexToken(VAR,'funtyp',1,1790)
+LexToken(ASSIGNMENT,'=',1,1796)
+LexToken(NUMBER,'4',1,1797)
+LexToken(SEMICOLON,';',1,1798)
+LexToken(EOL,'\n',1,1799)
+LexToken(IF,'if',1,1812)
+LexToken(VAR,'ok',1,1815)
+LexToken(THEN,'then',1,1818)
+LexToken(EOL,'\n',1,1822)
+LexToken(VAR,'label',1,1839)
+LexToken(ASSIGNMENT,'=',1,1844)
+LexToken(VAR,'exprs',1,1845)
+LexToken(SEMICOLON,';',1,1850)
+LexToken(EOL,'\n',1,1851)
+LexToken(OPENSQBRACKET,'[',1,1868)
+LexToken(VAR,'model',1,1869)
+LexToken(COMMA,',',1,1874)
+LexToken(VAR,'graphics',1,1875)
+LexToken(COMMA,',',1,1883)
+LexToken(VAR,'ok',1,1884)
+LexToken(CLOSESQBRACKET,']',1,1886)
+LexToken(ASSIGNMENT,'=',1,1887)
+LexToken(VAR,'set_io',1,1888)
+LexToken(OPENBRACKET,'(',1,1894)
+LexToken(VAR,'model',1,1895)
+LexToken(COMMA,',',1,1900)
+LexToken(VAR,'graphics',1,1901)
+LexToken(COMMA,',',1,1909)
+LexToken(VAR,'list',1,1910)
+LexToken(OPENBRACKET,'(',1,1914)
+LexToken(VAR,'in',1,1915)
+LexToken(COMMA,',',1,1917)
+LexToken(VAR,'it',1,1918)
+LexToken(CLOSEBRACKET,')',1,1920)
+LexToken(COMMA,',',1,1921)
+LexToken(VAR,'list',1,1922)
+LexToken(OPENBRACKET,'(',1,1926)
+LexToken(VAR,'out',1,1927)
+LexToken(COMMA,',',1,1930)
+LexToken(VAR,'ot',1,1931)
+LexToken(CLOSEBRACKET,')',1,1933)
+LexToken(COMMA,',',1,1934)
+LexToken(OPENSQBRACKET,'[',1,1935)
+LexToken(CLOSESQBRACKET,']',1,1936)
+LexToken(COMMA,',',1,1937)
+LexToken(OPENSQBRACKET,'[',1,1938)
+LexToken(CLOSESQBRACKET,']',1,1939)
+LexToken(CLOSEBRACKET,')',1,1940)
+LexToken(EOL,'\n',1,1941)
+LexToken(VAR,'model',1,1958)
+LexToken(DOT,'.',1,1963)
+LexToken(VAR,'sim',1,1964)
+LexToken(ASSIGNMENT,'=',1,1967)
+LexToken(VAR,'list',1,1968)
+LexToken(OPENBRACKET,'(',1,1972)
+LexToken(VAR,'function_name',1,1973)
+LexToken(COMMA,',',1,1986)
+LexToken(VAR,'funtyp',1,1987)
+LexToken(CLOSEBRACKET,')',1,1993)
+LexToken(SEMICOLON,';',1,1994)
+LexToken(EOL,'\n',1,1995)
+LexToken(VAR,'graphics',1,2012)
+LexToken(DOT,'.',1,2020)
+LexToken(VAR,'exprs',1,2021)
+LexToken(ASSIGNMENT,'=',1,2026)
+LexToken(VAR,'label',1,2027)
+LexToken(SEMICOLON,';',1,2032)
+LexToken(EOL,'\n',1,2033)
+LexToken(VAR,'arg1',1,2050)
+LexToken(DOT,'.',1,2054)
+LexToken(VAR,'graphics',1,2055)
+LexToken(ASSIGNMENT,'=',1,2063)
+LexToken(VAR,'graphics',1,2064)
+LexToken(SEMICOLON,';',1,2072)
+LexToken(EOL,'\n',1,2073)
+LexToken(VAR,'arg1',1,2090)
+LexToken(DOT,'.',1,2094)
+LexToken(VAR,'model',1,2095)
+LexToken(ASSIGNMENT,'=',1,2100)
+LexToken(VAR,'model',1,2101)
+LexToken(SEMICOLON,';',1,2106)
+LexToken(EOL,'\n',1,2107)
+LexToken(VAR,'x',1,2124)
+LexToken(ASSIGNMENT,'=',1,2125)
+LexToken(VAR,'arg1',1,2126)
+LexToken(EOL,'\n',1,2130)
+LexToken(BREAK,'break',1,2147)
+LexToken(EOL,'\n',1,2152)
+LexToken(END,'end',1,2165)
+LexToken(EOL,'\n',1,2168)
+LexToken(END,'end',1,2177)
+LexToken(EOL,'\n',1,2180)
+LexToken(CASE,'case',1,2185)
+LexToken(DQSTRING,'"define"',1,2197)
+LexToken(THEN,'then',1,2199)
+LexToken(EOL,'\n',1,2203)
+LexToken(VAR,'model',1,2212)
+LexToken(ASSIGNMENT,'=',1,2217)
+LexToken(SCICOS_MODEL,'scicos_model',1,2218)
+LexToken(OPENBRACKET,'(',1,2230)
+LexToken(CLOSEBRACKET,')',1,2231)
+LexToken(EOL,'\n',1,2232)
+LexToken(VAR,'function_name',1,2241)
+LexToken(ASSIGNMENT,'=',1,2254)
+LexToken(DQSTRING,'"mat_det"',1,2263)
+LexToken(SEMICOLON,';',1,2264)
+LexToken(EOL,'\n',1,2265)
+LexToken(VAR,'funtyp',1,2274)
+LexToken(ASSIGNMENT,'=',1,2280)
+LexToken(NUMBER,'4',1,2281)
+LexToken(SEMICOLON,';',1,2282)
+LexToken(EOL,'\n',1,2283)
+LexToken(VAR,'model',1,2292)
+LexToken(DOT,'.',1,2297)
+LexToken(VAR,'sim',1,2298)
+LexToken(ASSIGNMENT,'=',1,2301)
+LexToken(VAR,'list',1,2302)
+LexToken(OPENBRACKET,'(',1,2306)
+LexToken(VAR,'function_name',1,2307)
+LexToken(COMMA,',',1,2320)
+LexToken(VAR,'funtyp',1,2321)
+LexToken(CLOSEBRACKET,')',1,2327)
+LexToken(EOL,'\n',1,2328)
+LexToken(EOL,'\n',1,2329)
+LexToken(VAR,'model',1,2338)
+LexToken(DOT,'.',1,2343)
+LexToken(VAR,'in',1,2344)
+LexToken(ASSIGNMENT,'=',1,2346)
+LexToken(NUMBER,'-1',1,2347)
+LexToken(EOL,'\n',1,2349)
+LexToken(VAR,'model',1,2358)
+LexToken(DOT,'.',1,2363)
+LexToken(VAR,'in2',1,2364)
+LexToken(ASSIGNMENT,'=',1,2367)
+LexToken(NUMBER,'-1',1,2368)
+LexToken(EOL,'\n',1,2370)
+LexToken(VAR,'model',1,2379)
+LexToken(DOT,'.',1,2384)
+LexToken(VAR,'intyp',1,2385)
+LexToken(ASSIGNMENT,'=',1,2390)
+LexToken(NUMBER,'1',1,2391)
+LexToken(EOL,'\n',1,2392)
+LexToken(VAR,'model',1,2401)
+LexToken(DOT,'.',1,2406)
+LexToken(VAR,'out',1,2407)
+LexToken(ASSIGNMENT,'=',1,2410)
+LexToken(NUMBER,'1',1,2411)
+LexToken(EOL,'\n',1,2412)
+LexToken(VAR,'model',1,2421)
+LexToken(DOT,'.',1,2426)
+LexToken(VAR,'out2',1,2427)
+LexToken(ASSIGNMENT,'=',1,2431)
+LexToken(NUMBER,'1',1,2432)
+LexToken(EOL,'\n',1,2433)
+LexToken(VAR,'model',1,2442)
+LexToken(DOT,'.',1,2447)
+LexToken(VAR,'outtyp',1,2448)
+LexToken(ASSIGNMENT,'=',1,2454)
+LexToken(NUMBER,'1',1,2455)
+LexToken(EOL,'\n',1,2456)
+LexToken(VAR,'model',1,2465)
+LexToken(DOT,'.',1,2470)
+LexToken(VAR,'evtin',1,2471)
+LexToken(ASSIGNMENT,'=',1,2476)
+LexToken(OPENSQBRACKET,'[',1,2477)
+LexToken(CLOSESQBRACKET,']',1,2478)
+LexToken(EOL,'\n',1,2479)
+LexToken(VAR,'model',1,2488)
+LexToken(DOT,'.',1,2493)
+LexToken(VAR,'evtout',1,2494)
+LexToken(ASSIGNMENT,'=',1,2500)
+LexToken(OPENSQBRACKET,'[',1,2501)
+LexToken(CLOSESQBRACKET,']',1,2502)
+LexToken(EOL,'\n',1,2503)
+LexToken(VAR,'model',1,2512)
+LexToken(DOT,'.',1,2517)
+LexToken(VAR,'state',1,2518)
+LexToken(ASSIGNMENT,'=',1,2523)
+LexToken(OPENSQBRACKET,'[',1,2524)
+LexToken(CLOSESQBRACKET,']',1,2525)
+LexToken(EOL,'\n',1,2526)
+LexToken(VAR,'model',1,2535)
+LexToken(DOT,'.',1,2540)
+LexToken(VAR,'dstate',1,2541)
+LexToken(ASSIGNMENT,'=',1,2547)
+LexToken(OPENSQBRACKET,'[',1,2548)
+LexToken(CLOSESQBRACKET,']',1,2549)
+LexToken(EOL,'\n',1,2550)
+LexToken(VAR,'model',1,2559)
+LexToken(DOT,'.',1,2564)
+LexToken(VAR,'rpar',1,2565)
+LexToken(ASSIGNMENT,'=',1,2569)
+LexToken(OPENSQBRACKET,'[',1,2570)
+LexToken(CLOSESQBRACKET,']',1,2571)
+LexToken(EOL,'\n',1,2572)
+LexToken(VAR,'model',1,2581)
+LexToken(DOT,'.',1,2586)
+LexToken(VAR,'ipar',1,2587)
+LexToken(ASSIGNMENT,'=',1,2591)
+LexToken(OPENSQBRACKET,'[',1,2592)
+LexToken(CLOSESQBRACKET,']',1,2593)
+LexToken(EOL,'\n',1,2594)
+LexToken(VAR,'model',1,2603)
+LexToken(DOT,'.',1,2608)
+LexToken(VAR,'blocktype',1,2609)
+LexToken(ASSIGNMENT,'=',1,2618)
+LexToken(DQSTRING,'"c"',1,2621)
+LexToken(EOL,'\n',1,2622)
+LexToken(VAR,'model',1,2631)
+LexToken(DOT,'.',1,2636)
+LexToken(VAR,'firing',1,2637)
+LexToken(ASSIGNMENT,'=',1,2643)
+LexToken(OPENSQBRACKET,'[',1,2644)
+LexToken(CLOSESQBRACKET,']',1,2645)
+LexToken(EOL,'\n',1,2646)
+LexToken(VAR,'model',1,2655)
+LexToken(DOT,'.',1,2660)
+LexToken(VAR,'dep_ut',1,2661)
+LexToken(ASSIGNMENT,'=',1,2667)
+LexToken(OPENSQBRACKET,'[',1,2668)
+LexToken(PREVAR_BOOLEAN,'%t',1,2669)
+LexToken(PREVAR_BOOLEAN,'%f',1,2672)
+LexToken(CLOSESQBRACKET,']',1,2674)
+LexToken(EOL,'\n',1,2675)
+LexToken(VAR,'label',1,2684)
+LexToken(ASSIGNMENT,'=',1,2689)
+LexToken(OPENSQBRACKET,'[',1,2690)
+LexToken(VAR,'sci2exp',1,2691)
+LexToken(OPENBRACKET,'(',1,2698)
+LexToken(NUMBER,'1',1,2699)
+LexToken(CLOSEBRACKET,')',1,2700)
+LexToken(CLOSESQBRACKET,']',1,2701)
+LexToken(SEMICOLON,';',1,2702)
+LexToken(EOL,'\n',1,2703)
+LexToken(VAR,'gr_i',1,2712)
+LexToken(ASSIGNMENT,'=',1,2716)
+LexToken(OPENSQBRACKET,'[',1,2717)
+LexToken(CLOSESQBRACKET,']',1,2718)
+LexToken(EOL,'\n',1,2719)
+LexToken(VAR,'x',1,2728)
+LexToken(ASSIGNMENT,'=',1,2729)
+LexToken(VAR,'standard_define',1,2730)
+LexToken(OPENBRACKET,'(',1,2745)
+LexToken(OPENSQBRACKET,'[',1,2746)
+LexToken(NUMBER,'2',1,2747)
+LexToken(NUMBER,'2',1,2749)
+LexToken(CLOSESQBRACKET,']',1,2750)
+LexToken(COMMA,',',1,2751)
+LexToken(VAR,'model',1,2752)
+LexToken(COMMA,',',1,2757)
+LexToken(VAR,'label',1,2758)
+LexToken(COMMA,',',1,2763)
+LexToken(VAR,'gr_i',1,2764)
+LexToken(CLOSEBRACKET,')',1,2768)
+LexToken(EOL,'\n',1,2769)
+LexToken(END,'end',1,2774)
+LexToken(EOL,'\n',1,2777)
+LexToken(ENDFUNCTION,'endfunction',1,2778)
+LexToken(EOL,'\n',1,2789)
+LexToken(EOL,'\n',1,2790)
diff --git a/js/MatrixOp/MATDIAG.js b/js/MatrixOp/MATDIAG.js
new file mode 100644
index 00000000..10af0799
--- /dev/null
+++ b/js/MatrixOp/MATDIAG.js
@@ -0,0 +1,496 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATDIAG',1,852)
+LexToken(OPENBRACKET,'(',1,859)
+LexToken(VAR,'job',1,860)
+LexToken(COMMA,',',1,863)
+LexToken(VAR,'arg1',1,864)
+LexToken(COMMA,',',1,868)
+LexToken(VAR,'arg2',1,869)
+LexToken(CLOSEBRACKET,')',1,873)
+LexToken(EOL,'\n',1,874)
+LexToken(EOL,'\n',1,881)
+LexToken(VAR,'x',1,886)
+LexToken(ASSIGNMENT,'=',1,887)
+LexToken(OPENSQBRACKET,'[',1,888)
+LexToken(CLOSESQBRACKET,']',1,889)
+LexToken(SEMICOLON,';',1,890)
+LexToken(EOL,'\n',1,891)
+LexToken(VAR,'y',1,896)
+LexToken(ASSIGNMENT,'=',1,897)
+LexToken(OPENSQBRACKET,'[',1,898)
+LexToken(CLOSESQBRACKET,']',1,899)
+LexToken(SEMICOLON,';',1,900)
+LexToken(EOL,'\n',1,901)
+LexToken(VAR,'typ',1,906)
+LexToken(ASSIGNMENT,'=',1,909)
+LexToken(OPENSQBRACKET,'[',1,910)
+LexToken(CLOSESQBRACKET,']',1,911)
+LexToken(SEMICOLON,';',1,912)
+LexToken(EOL,'\n',1,913)
+LexToken(SELECT,'select',1,918)
+LexToken(VAR,'job',1,925)
+LexToken(EOL,'\n',1,928)
+LexToken(CASE,'case',1,933)
+LexToken(DQSTRING,'"set"',1,942)
+LexToken(THEN,'then',1,944)
+LexToken(EOL,'\n',1,948)
+LexToken(VAR,'x',1,957)
+LexToken(ASSIGNMENT,'=',1,958)
+LexToken(VAR,'arg1',1,959)
+LexToken(EOL,'\n',1,963)
+LexToken(VAR,'graphics',1,972)
+LexToken(ASSIGNMENT,'=',1,980)
+LexToken(VAR,'arg1',1,981)
+LexToken(DOT,'.',1,985)
+LexToken(VAR,'graphics',1,986)
+LexToken(SEMICOLON,';',1,994)
+LexToken(EOL,'\n',1,995)
+LexToken(VAR,'label',1,1004)
+LexToken(ASSIGNMENT,'=',1,1009)
+LexToken(VAR,'graphics',1,1010)
+LexToken(DOT,'.',1,1018)
+LexToken(VAR,'exprs',1,1019)
+LexToken(EOL,'\n',1,1024)
+LexToken(VAR,'model',1,1033)
+LexToken(ASSIGNMENT,'=',1,1038)
+LexToken(VAR,'arg1',1,1039)
+LexToken(DOT,'.',1,1043)
+LexToken(VAR,'model',1,1044)
+LexToken(SEMICOLON,';',1,1049)
+LexToken(EOL,'\n',1,1050)
+LexToken(IF,'if',1,1059)
+LexToken(VAR,'size',1,1062)
+LexToken(OPENBRACKET,'(',1,1066)
+LexToken(VAR,'label',1,1067)
+LexToken(COMMA,',',1,1072)
+LexToken(DQSTRING,'"*"',1,1075)
+LexToken(CLOSEBRACKET,')',1,1076)
+LexToken(COMPARISON,'==',1,1077)
+LexToken(NUMBER,'14',1,1079)
+LexToken(THEN,'then',1,1082)
+LexToken(EOL,'\n',1,1086)
+LexToken(VAR,'label',1,1099)
+LexToken(OPENBRACKET,'(',1,1104)
+LexToken(NUMBER,'9',1,1105)
+LexToken(CLOSEBRACKET,')',1,1106)
+LexToken(ASSIGNMENT,'=',1,1107)
+LexToken(OPENSQBRACKET,'[',1,1108)
+LexToken(CLOSESQBRACKET,']',1,1109)
+LexToken(COMMA,',',1,1110)
+LexToken(EOL,'\n',1,1111)
+LexToken(END,'end',1,1120)
+LexToken(EOL,'\n',1,1138)
+LexToken(WHILE,'while',1,1147)
+LexToken(PREVAR_BOOLEAN,'%t',1,1153)
+LexToken(DO,'do',1,1156)
+LexToken(EOL,'\n',1,1158)
+LexToken(OPENSQBRACKET,'[',1,1171)
+LexToken(VAR,'ok',1,1172)
+LexToken(COMMA,',',1,1174)
+LexToken(VAR,'typ',1,1175)
+LexToken(COMMA,',',1,1178)
+LexToken(VAR,'exprs',1,1179)
+LexToken(CLOSESQBRACKET,']',1,1184)
+LexToken(ASSIGNMENT,'=',1,1185)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1186)
+LexToken(OPENBRACKET,'(',1,1201)
+LexToken(DQSTRING,'"Set MATDIAG Block"',1,1220)
+LexToken(COMMA,',',1,1221)
+LexToken(OPENSQBRACKET,'[',1,1237)
+LexToken(DQSTRING,'"Datatype (1=real double 2=Complex)"',1,1274)
+LexToken(CLOSESQBRACKET,']',1,1275)
+LexToken(COMMA,',',1,1276)
+LexToken(VAR,'list',1,1277)
+LexToken(OPENBRACKET,'(',1,1281)
+LexToken(DQSTRING,'"vec"',1,1286)
+LexToken(COMMA,',',1,1287)
+LexToken(NUMBER,'1',1,1288)
+LexToken(CLOSEBRACKET,')',1,1289)
+LexToken(COMMA,',',1,1290)
+LexToken(VAR,'label',1,1291)
+LexToken(CLOSEBRACKET,')',1,1296)
+LexToken(EOL,'\n',1,1297)
+LexToken(IF,'if',1,1310)
+LexToken(NOT,'~',1,1313)
+LexToken(VAR,'ok',1,1314)
+LexToken(THEN,'then',1,1317)
+LexToken(EOL,'\n',1,1321)
+LexToken(BREAK,'break',1,1338)
+LexToken(COMMA,',',1,1343)
+LexToken(EOL,'\n',1,1344)
+LexToken(END,'end',1,1357)
+LexToken(EOL,'\n',1,1360)
+LexToken(IF,'if',1,1373)
+LexToken(OPENBRACKET,'(',1,1376)
+LexToken(VAR,'typ',1,1377)
+LexToken(COMPARISON,'==',1,1380)
+LexToken(NUMBER,'1',1,1382)
+LexToken(CLOSEBRACKET,')',1,1383)
+LexToken(THEN,'then',1,1385)
+LexToken(EOL,'\n',1,1389)
+LexToken(VAR,'function_name',1,1406)
+LexToken(ASSIGNMENT,'=',1,1419)
+LexToken(DQSTRING,'"mat_diag"',1,1429)
+LexToken(SEMICOLON,';',1,1430)
+LexToken(EOL,'\n',1,1431)
+LexToken(VAR,'ot',1,1448)
+LexToken(ASSIGNMENT,'=',1,1450)
+LexToken(NUMBER,'1',1,1451)
+LexToken(SEMICOLON,';',1,1452)
+LexToken(EOL,'\n',1,1453)
+LexToken(VAR,'it',1,1470)
+LexToken(ASSIGNMENT,'=',1,1472)
+LexToken(NUMBER,'1',1,1473)
+LexToken(SEMICOLON,';',1,1474)
+LexToken(EOL,'\n',1,1475)
+LexToken(ELSEIF,'elseif',1,1488)
+LexToken(OPENBRACKET,'(',1,1495)
+LexToken(VAR,'typ',1,1496)
+LexToken(COMPARISON,'==',1,1499)
+LexToken(NUMBER,'2',1,1501)
+LexToken(CLOSEBRACKET,')',1,1502)
+LexToken(THEN,'then',1,1504)
+LexToken(EOL,'\n',1,1508)
+LexToken(VAR,'function_name',1,1525)
+LexToken(ASSIGNMENT,'=',1,1538)
+LexToken(DQSTRING,'"matz_diag"',1,1549)
+LexToken(SEMICOLON,';',1,1550)
+LexToken(EOL,'\n',1,1551)
+LexToken(VAR,'ot',1,1568)
+LexToken(ASSIGNMENT,'=',1,1570)
+LexToken(NUMBER,'2',1,1571)
+LexToken(SEMICOLON,';',1,1572)
+LexToken(EOL,'\n',1,1573)
+LexToken(VAR,'it',1,1590)
+LexToken(ASSIGNMENT,'=',1,1592)
+LexToken(NUMBER,'2',1,1593)
+LexToken(SEMICOLON,';',1,1594)
+LexToken(EOL,'\n',1,1595)
+LexToken(ELSE,'else',1,1608)
+LexToken(EOL,'\n',1,1612)
+LexToken(VAR,'message',1,1629)
+LexToken(OPENBRACKET,'(',1,1636)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1663)
+LexToken(CLOSEBRACKET,')',1,1664)
+LexToken(SEMICOLON,';',1,1665)
+LexToken(EOL,'\n',1,1666)
+LexToken(VAR,'ok',1,1683)
+LexToken(ASSIGNMENT,'=',1,1685)
+LexToken(PREVAR_BOOLEAN,'%f',1,1686)
+LexToken(SEMICOLON,';',1,1688)
+LexToken(EOL,'\n',1,1689)
+LexToken(END,'end',1,1702)
+LexToken(EOL,'\n',1,1705)
+LexToken(VAR,'in',1,1718)
+LexToken(ASSIGNMENT,'=',1,1720)
+LexToken(OPENSQBRACKET,'[',1,1721)
+LexToken(VAR,'model',1,1722)
+LexToken(DOT,'.',1,1727)
+LexToken(VAR,'in',1,1728)
+LexToken(VAR,'model',1,1731)
+LexToken(DOT,'.',1,1736)
+LexToken(VAR,'in2',1,1737)
+LexToken(CLOSESQBRACKET,']',1,1740)
+LexToken(SEMICOLON,';',1,1741)
+LexToken(EOL,'\n',1,1742)
+LexToken(VAR,'out',1,1755)
+LexToken(ASSIGNMENT,'=',1,1758)
+LexToken(OPENSQBRACKET,'[',1,1759)
+LexToken(VAR,'model',1,1760)
+LexToken(DOT,'.',1,1765)
+LexToken(VAR,'out',1,1766)
+LexToken(VAR,'model',1,1770)
+LexToken(DOT,'.',1,1775)
+LexToken(VAR,'out2',1,1776)
+LexToken(CLOSESQBRACKET,']',1,1780)
+LexToken(SEMICOLON,';',1,1781)
+LexToken(EOL,'\n',1,1782)
+LexToken(VAR,'funtyp',1,1795)
+LexToken(ASSIGNMENT,'=',1,1801)
+LexToken(NUMBER,'4',1,1802)
+LexToken(SEMICOLON,';',1,1803)
+LexToken(EOL,'\n',1,1804)
+LexToken(IF,'if',1,1817)
+LexToken(VAR,'ok',1,1820)
+LexToken(THEN,'then',1,1823)
+LexToken(EOL,'\n',1,1827)
+LexToken(VAR,'label',1,1844)
+LexToken(ASSIGNMENT,'=',1,1849)
+LexToken(VAR,'exprs',1,1850)
+LexToken(SEMICOLON,';',1,1855)
+LexToken(EOL,'\n',1,1856)
+LexToken(OPENSQBRACKET,'[',1,1873)
+LexToken(VAR,'model',1,1874)
+LexToken(COMMA,',',1,1879)
+LexToken(VAR,'graphics',1,1880)
+LexToken(COMMA,',',1,1888)
+LexToken(VAR,'ok',1,1889)
+LexToken(CLOSESQBRACKET,']',1,1891)
+LexToken(ASSIGNMENT,'=',1,1892)
+LexToken(VAR,'set_io',1,1893)
+LexToken(OPENBRACKET,'(',1,1899)
+LexToken(VAR,'model',1,1900)
+LexToken(COMMA,',',1,1905)
+LexToken(VAR,'graphics',1,1906)
+LexToken(COMMA,',',1,1914)
+LexToken(VAR,'list',1,1915)
+LexToken(OPENBRACKET,'(',1,1919)
+LexToken(VAR,'in',1,1920)
+LexToken(COMMA,',',1,1922)
+LexToken(VAR,'it',1,1923)
+LexToken(CLOSEBRACKET,')',1,1925)
+LexToken(COMMA,',',1,1926)
+LexToken(VAR,'list',1,1927)
+LexToken(OPENBRACKET,'(',1,1931)
+LexToken(VAR,'out',1,1932)
+LexToken(COMMA,',',1,1935)
+LexToken(VAR,'ot',1,1936)
+LexToken(CLOSEBRACKET,')',1,1938)
+LexToken(COMMA,',',1,1939)
+LexToken(OPENSQBRACKET,'[',1,1940)
+LexToken(CLOSESQBRACKET,']',1,1941)
+LexToken(COMMA,',',1,1942)
+LexToken(OPENSQBRACKET,'[',1,1943)
+LexToken(CLOSESQBRACKET,']',1,1944)
+LexToken(CLOSEBRACKET,')',1,1945)
+LexToken(EOL,'\n',1,1946)
+LexToken(VAR,'model',1,1963)
+LexToken(DOT,'.',1,1968)
+LexToken(VAR,'sim',1,1969)
+LexToken(ASSIGNMENT,'=',1,1972)
+LexToken(VAR,'list',1,1973)
+LexToken(OPENBRACKET,'(',1,1977)
+LexToken(VAR,'function_name',1,1978)
+LexToken(COMMA,',',1,1991)
+LexToken(VAR,'funtyp',1,1992)
+LexToken(CLOSEBRACKET,')',1,1998)
+LexToken(SEMICOLON,';',1,1999)
+LexToken(EOL,'\n',1,2000)
+LexToken(VAR,'graphics',1,2017)
+LexToken(DOT,'.',1,2025)
+LexToken(VAR,'exprs',1,2026)
+LexToken(ASSIGNMENT,'=',1,2031)
+LexToken(VAR,'label',1,2032)
+LexToken(SEMICOLON,';',1,2037)
+LexToken(EOL,'\n',1,2038)
+LexToken(VAR,'arg1',1,2055)
+LexToken(DOT,'.',1,2059)
+LexToken(VAR,'graphics',1,2060)
+LexToken(ASSIGNMENT,'=',1,2068)
+LexToken(VAR,'graphics',1,2069)
+LexToken(SEMICOLON,';',1,2077)
+LexToken(EOL,'\n',1,2078)
+LexToken(VAR,'arg1',1,2095)
+LexToken(DOT,'.',1,2099)
+LexToken(VAR,'model',1,2100)
+LexToken(ASSIGNMENT,'=',1,2105)
+LexToken(VAR,'model',1,2106)
+LexToken(SEMICOLON,';',1,2111)
+LexToken(EOL,'\n',1,2112)
+LexToken(VAR,'x',1,2129)
+LexToken(ASSIGNMENT,'=',1,2130)
+LexToken(VAR,'arg1',1,2131)
+LexToken(EOL,'\n',1,2135)
+LexToken(BREAK,'break',1,2152)
+LexToken(EOL,'\n',1,2157)
+LexToken(END,'end',1,2170)
+LexToken(EOL,'\n',1,2173)
+LexToken(END,'end',1,2182)
+LexToken(EOL,'\n',1,2185)
+LexToken(CASE,'case',1,2190)
+LexToken(DQSTRING,'"define"',1,2202)
+LexToken(THEN,'then',1,2204)
+LexToken(EOL,'\n',1,2208)
+LexToken(VAR,'model',1,2217)
+LexToken(ASSIGNMENT,'=',1,2222)
+LexToken(SCICOS_MODEL,'scicos_model',1,2223)
+LexToken(OPENBRACKET,'(',1,2235)
+LexToken(CLOSEBRACKET,')',1,2236)
+LexToken(EOL,'\n',1,2237)
+LexToken(VAR,'function_name',1,2246)
+LexToken(ASSIGNMENT,'=',1,2259)
+LexToken(DQSTRING,'"mat_diag"',1,2269)
+LexToken(SEMICOLON,';',1,2270)
+LexToken(EOL,'\n',1,2271)
+LexToken(VAR,'funtyp',1,2280)
+LexToken(ASSIGNMENT,'=',1,2286)
+LexToken(NUMBER,'4',1,2287)
+LexToken(SEMICOLON,';',1,2288)
+LexToken(EOL,'\n',1,2289)
+LexToken(VAR,'model',1,2298)
+LexToken(DOT,'.',1,2303)
+LexToken(VAR,'sim',1,2304)
+LexToken(ASSIGNMENT,'=',1,2307)
+LexToken(VAR,'list',1,2308)
+LexToken(OPENBRACKET,'(',1,2312)
+LexToken(VAR,'function_name',1,2313)
+LexToken(COMMA,',',1,2326)
+LexToken(VAR,'funtyp',1,2327)
+LexToken(CLOSEBRACKET,')',1,2333)
+LexToken(EOL,'\n',1,2334)
+LexToken(EOL,'\n',1,2335)
+LexToken(VAR,'model',1,2344)
+LexToken(DOT,'.',1,2349)
+LexToken(VAR,'in',1,2350)
+LexToken(ASSIGNMENT,'=',1,2352)
+LexToken(NUMBER,'-1',1,2353)
+LexToken(EOL,'\n',1,2355)
+LexToken(VAR,'model',1,2364)
+LexToken(DOT,'.',1,2369)
+LexToken(VAR,'in2',1,2370)
+LexToken(ASSIGNMENT,'=',1,2373)
+LexToken(NUMBER,'1',1,2374)
+LexToken(EOL,'\n',1,2375)
+LexToken(VAR,'model',1,2384)
+LexToken(DOT,'.',1,2389)
+LexToken(VAR,'intyp',1,2390)
+LexToken(ASSIGNMENT,'=',1,2395)
+LexToken(NUMBER,'1',1,2396)
+LexToken(EOL,'\n',1,2397)
+LexToken(VAR,'model',1,2406)
+LexToken(DOT,'.',1,2411)
+LexToken(VAR,'out',1,2412)
+LexToken(ASSIGNMENT,'=',1,2415)
+LexToken(NUMBER,'-1',1,2416)
+LexToken(EOL,'\n',1,2418)
+LexToken(VAR,'model',1,2427)
+LexToken(DOT,'.',1,2432)
+LexToken(VAR,'out2',1,2433)
+LexToken(ASSIGNMENT,'=',1,2437)
+LexToken(NUMBER,'-1',1,2438)
+LexToken(EOL,'\n',1,2440)
+LexToken(VAR,'model',1,2449)
+LexToken(DOT,'.',1,2454)
+LexToken(VAR,'outtyp',1,2455)
+LexToken(ASSIGNMENT,'=',1,2461)
+LexToken(NUMBER,'1',1,2462)
+LexToken(EOL,'\n',1,2463)
+LexToken(VAR,'model',1,2472)
+LexToken(DOT,'.',1,2477)
+LexToken(VAR,'evtin',1,2478)
+LexToken(ASSIGNMENT,'=',1,2483)
+LexToken(OPENSQBRACKET,'[',1,2484)
+LexToken(CLOSESQBRACKET,']',1,2485)
+LexToken(EOL,'\n',1,2486)
+LexToken(VAR,'model',1,2495)
+LexToken(DOT,'.',1,2500)
+LexToken(VAR,'evtout',1,2501)
+LexToken(ASSIGNMENT,'=',1,2507)
+LexToken(OPENSQBRACKET,'[',1,2508)
+LexToken(CLOSESQBRACKET,']',1,2509)
+LexToken(EOL,'\n',1,2510)
+LexToken(VAR,'model',1,2519)
+LexToken(DOT,'.',1,2524)
+LexToken(VAR,'state',1,2525)
+LexToken(ASSIGNMENT,'=',1,2530)
+LexToken(OPENSQBRACKET,'[',1,2531)
+LexToken(CLOSESQBRACKET,']',1,2532)
+LexToken(EOL,'\n',1,2533)
+LexToken(VAR,'model',1,2542)
+LexToken(DOT,'.',1,2547)
+LexToken(VAR,'dstate',1,2548)
+LexToken(ASSIGNMENT,'=',1,2554)
+LexToken(OPENSQBRACKET,'[',1,2555)
+LexToken(CLOSESQBRACKET,']',1,2556)
+LexToken(EOL,'\n',1,2557)
+LexToken(VAR,'model',1,2566)
+LexToken(DOT,'.',1,2571)
+LexToken(VAR,'rpar',1,2572)
+LexToken(ASSIGNMENT,'=',1,2576)
+LexToken(OPENSQBRACKET,'[',1,2577)
+LexToken(CLOSESQBRACKET,']',1,2578)
+LexToken(EOL,'\n',1,2579)
+LexToken(VAR,'model',1,2588)
+LexToken(DOT,'.',1,2593)
+LexToken(VAR,'ipar',1,2594)
+LexToken(ASSIGNMENT,'=',1,2598)
+LexToken(OPENSQBRACKET,'[',1,2599)
+LexToken(CLOSESQBRACKET,']',1,2600)
+LexToken(EOL,'\n',1,2601)
+LexToken(VAR,'model',1,2610)
+LexToken(DOT,'.',1,2615)
+LexToken(VAR,'blocktype',1,2616)
+LexToken(ASSIGNMENT,'=',1,2625)
+LexToken(DQSTRING,'"c"',1,2628)
+LexToken(EOL,'\n',1,2629)
+LexToken(VAR,'model',1,2638)
+LexToken(DOT,'.',1,2643)
+LexToken(VAR,'firing',1,2644)
+LexToken(ASSIGNMENT,'=',1,2650)
+LexToken(OPENSQBRACKET,'[',1,2651)
+LexToken(CLOSESQBRACKET,']',1,2652)
+LexToken(EOL,'\n',1,2653)
+LexToken(VAR,'model',1,2662)
+LexToken(DOT,'.',1,2667)
+LexToken(VAR,'dep_ut',1,2668)
+LexToken(ASSIGNMENT,'=',1,2674)
+LexToken(OPENSQBRACKET,'[',1,2675)
+LexToken(PREVAR_BOOLEAN,'%t',1,2676)
+LexToken(PREVAR_BOOLEAN,'%f',1,2679)
+LexToken(CLOSESQBRACKET,']',1,2681)
+LexToken(EOL,'\n',1,2682)
+LexToken(VAR,'label',1,2691)
+LexToken(ASSIGNMENT,'=',1,2696)
+LexToken(OPENSQBRACKET,'[',1,2697)
+LexToken(VAR,'sci2exp',1,2698)
+LexToken(OPENBRACKET,'(',1,2705)
+LexToken(NUMBER,'1',1,2706)
+LexToken(CLOSEBRACKET,')',1,2707)
+LexToken(CLOSESQBRACKET,']',1,2708)
+LexToken(SEMICOLON,';',1,2709)
+LexToken(EOL,'\n',1,2710)
+LexToken(VAR,'gr_i',1,2719)
+LexToken(ASSIGNMENT,'=',1,2723)
+LexToken(OPENSQBRACKET,'[',1,2724)
+LexToken(CLOSESQBRACKET,']',1,2725)
+LexToken(EOL,'\n',1,2726)
+LexToken(VAR,'x',1,2735)
+LexToken(ASSIGNMENT,'=',1,2736)
+LexToken(VAR,'standard_define',1,2737)
+LexToken(OPENBRACKET,'(',1,2752)
+LexToken(OPENSQBRACKET,'[',1,2753)
+LexToken(NUMBER,'2',1,2754)
+LexToken(NUMBER,'2',1,2756)
+LexToken(CLOSESQBRACKET,']',1,2757)
+LexToken(COMMA,',',1,2758)
+LexToken(VAR,'model',1,2759)
+LexToken(COMMA,',',1,2764)
+LexToken(VAR,'label',1,2765)
+LexToken(COMMA,',',1,2770)
+LexToken(VAR,'gr_i',1,2771)
+LexToken(CLOSEBRACKET,')',1,2775)
+LexToken(EOL,'\n',1,2776)
+LexToken(END,'end',1,2781)
+LexToken(EOL,'\n',1,2784)
+LexToken(ENDFUNCTION,'endfunction',1,2785)
+LexToken(EOL,'\n',1,2796)
+LexToken(EOL,'\n',1,2797)
diff --git a/js/MatrixOp/MATDIV.js b/js/MatrixOp/MATDIV.js
new file mode 100644
index 00000000..a59e7eb7
--- /dev/null
+++ b/js/MatrixOp/MATDIV.js
@@ -0,0 +1,512 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATDIV',1,852)
+LexToken(OPENBRACKET,'(',1,858)
+LexToken(VAR,'job',1,859)
+LexToken(COMMA,',',1,862)
+LexToken(VAR,'arg1',1,863)
+LexToken(COMMA,',',1,867)
+LexToken(VAR,'arg2',1,868)
+LexToken(CLOSEBRACKET,')',1,872)
+LexToken(EOL,'\n',1,873)
+LexToken(EOL,'\n',1,880)
+LexToken(VAR,'x',1,885)
+LexToken(ASSIGNMENT,'=',1,886)
+LexToken(OPENSQBRACKET,'[',1,887)
+LexToken(CLOSESQBRACKET,']',1,888)
+LexToken(SEMICOLON,';',1,889)
+LexToken(EOL,'\n',1,890)
+LexToken(VAR,'y',1,895)
+LexToken(ASSIGNMENT,'=',1,896)
+LexToken(OPENSQBRACKET,'[',1,897)
+LexToken(CLOSESQBRACKET,']',1,898)
+LexToken(SEMICOLON,';',1,899)
+LexToken(EOL,'\n',1,900)
+LexToken(VAR,'typ',1,905)
+LexToken(ASSIGNMENT,'=',1,908)
+LexToken(OPENSQBRACKET,'[',1,909)
+LexToken(CLOSESQBRACKET,']',1,910)
+LexToken(SEMICOLON,';',1,911)
+LexToken(EOL,'\n',1,912)
+LexToken(SELECT,'select',1,917)
+LexToken(VAR,'job',1,924)
+LexToken(EOL,'\n',1,927)
+LexToken(CASE,'case',1,932)
+LexToken(DQSTRING,'"set"',1,941)
+LexToken(THEN,'then',1,943)
+LexToken(EOL,'\n',1,947)
+LexToken(VAR,'x',1,956)
+LexToken(ASSIGNMENT,'=',1,957)
+LexToken(VAR,'arg1',1,958)
+LexToken(EOL,'\n',1,962)
+LexToken(VAR,'graphics',1,971)
+LexToken(ASSIGNMENT,'=',1,979)
+LexToken(VAR,'arg1',1,980)
+LexToken(DOT,'.',1,984)
+LexToken(VAR,'graphics',1,985)
+LexToken(SEMICOLON,';',1,993)
+LexToken(EOL,'\n',1,994)
+LexToken(VAR,'label',1,1003)
+LexToken(ASSIGNMENT,'=',1,1008)
+LexToken(VAR,'graphics',1,1009)
+LexToken(DOT,'.',1,1017)
+LexToken(VAR,'exprs',1,1018)
+LexToken(EOL,'\n',1,1023)
+LexToken(VAR,'model',1,1032)
+LexToken(ASSIGNMENT,'=',1,1037)
+LexToken(VAR,'arg1',1,1038)
+LexToken(DOT,'.',1,1042)
+LexToken(VAR,'model',1,1043)
+LexToken(SEMICOLON,';',1,1048)
+LexToken(EOL,'\n',1,1049)
+LexToken(IF,'if',1,1058)
+LexToken(VAR,'size',1,1061)
+LexToken(OPENBRACKET,'(',1,1065)
+LexToken(VAR,'label',1,1066)
+LexToken(COMMA,',',1,1071)
+LexToken(DQSTRING,'"*"',1,1074)
+LexToken(CLOSEBRACKET,')',1,1075)
+LexToken(COMPARISON,'==',1,1076)
+LexToken(NUMBER,'14',1,1078)
+LexToken(THEN,'then',1,1081)
+LexToken(EOL,'\n',1,1085)
+LexToken(VAR,'label',1,1098)
+LexToken(OPENBRACKET,'(',1,1103)
+LexToken(NUMBER,'9',1,1104)
+LexToken(CLOSEBRACKET,')',1,1105)
+LexToken(ASSIGNMENT,'=',1,1106)
+LexToken(OPENSQBRACKET,'[',1,1107)
+LexToken(CLOSESQBRACKET,']',1,1108)
+LexToken(COMMA,',',1,1109)
+LexToken(EOL,'\n',1,1110)
+LexToken(END,'end',1,1119)
+LexToken(EOL,'\n',1,1137)
+LexToken(WHILE,'while',1,1146)
+LexToken(PREVAR_BOOLEAN,'%t',1,1152)
+LexToken(DO,'do',1,1155)
+LexToken(EOL,'\n',1,1157)
+LexToken(OPENSQBRACKET,'[',1,1170)
+LexToken(VAR,'ok',1,1171)
+LexToken(COMMA,',',1,1173)
+LexToken(VAR,'typ',1,1174)
+LexToken(COMMA,',',1,1177)
+LexToken(VAR,'exprs',1,1178)
+LexToken(CLOSESQBRACKET,']',1,1183)
+LexToken(ASSIGNMENT,'=',1,1184)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1185)
+LexToken(OPENBRACKET,'(',1,1200)
+LexToken(DQSTRING,'"Set MATDIV Block"',1,1218)
+LexToken(COMMA,',',1,1219)
+LexToken(OPENSQBRACKET,'[',1,1235)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1271)
+LexToken(CLOSESQBRACKET,']',1,1272)
+LexToken(COMMA,',',1,1273)
+LexToken(VAR,'list',1,1274)
+LexToken(OPENBRACKET,'(',1,1278)
+LexToken(DQSTRING,'"vec"',1,1283)
+LexToken(COMMA,',',1,1284)
+LexToken(NUMBER,'1',1,1285)
+LexToken(CLOSEBRACKET,')',1,1286)
+LexToken(COMMA,',',1,1287)
+LexToken(VAR,'label',1,1288)
+LexToken(CLOSEBRACKET,')',1,1293)
+LexToken(EOL,'\n',1,1294)
+LexToken(IF,'if',1,1307)
+LexToken(NOT,'~',1,1310)
+LexToken(VAR,'ok',1,1311)
+LexToken(THEN,'then',1,1314)
+LexToken(EOL,'\n',1,1318)
+LexToken(BREAK,'break',1,1335)
+LexToken(COMMA,',',1,1340)
+LexToken(EOL,'\n',1,1341)
+LexToken(END,'end',1,1354)
+LexToken(EOL,'\n',1,1357)
+LexToken(IF,'if',1,1370)
+LexToken(OPENBRACKET,'(',1,1373)
+LexToken(VAR,'typ',1,1374)
+LexToken(COMPARISON,'==',1,1377)
+LexToken(NUMBER,'1',1,1379)
+LexToken(CLOSEBRACKET,')',1,1380)
+LexToken(THEN,'then',1,1382)
+LexToken(EOL,'\n',1,1386)
+LexToken(VAR,'function_name',1,1403)
+LexToken(ASSIGNMENT,'=',1,1416)
+LexToken(DQSTRING,'"mat_div"',1,1425)
+LexToken(SEMICOLON,';',1,1426)
+LexToken(EOL,'\n',1,1427)
+LexToken(VAR,'ot',1,1444)
+LexToken(ASSIGNMENT,'=',1,1446)
+LexToken(NUMBER,'1',1,1447)
+LexToken(SEMICOLON,';',1,1448)
+LexToken(EOL,'\n',1,1449)
+LexToken(VAR,'it',1,1466)
+LexToken(ASSIGNMENT,'=',1,1468)
+LexToken(OPENSQBRACKET,'[',1,1469)
+LexToken(NUMBER,'1',1,1470)
+LexToken(NUMBER,'1',1,1472)
+LexToken(CLOSESQBRACKET,']',1,1473)
+LexToken(SEMICOLON,';',1,1474)
+LexToken(EOL,'\n',1,1475)
+LexToken(ELSEIF,'elseif',1,1488)
+LexToken(OPENBRACKET,'(',1,1495)
+LexToken(VAR,'typ',1,1496)
+LexToken(COMPARISON,'==',1,1499)
+LexToken(NUMBER,'2',1,1501)
+LexToken(CLOSEBRACKET,')',1,1502)
+LexToken(THEN,'then',1,1504)
+LexToken(EOL,'\n',1,1508)
+LexToken(VAR,'function_name',1,1525)
+LexToken(ASSIGNMENT,'=',1,1538)
+LexToken(DQSTRING,'"matz_div"',1,1548)
+LexToken(SEMICOLON,';',1,1549)
+LexToken(EOL,'\n',1,1550)
+LexToken(VAR,'ot',1,1567)
+LexToken(ASSIGNMENT,'=',1,1569)
+LexToken(NUMBER,'2',1,1570)
+LexToken(SEMICOLON,';',1,1571)
+LexToken(EOL,'\n',1,1572)
+LexToken(VAR,'it',1,1589)
+LexToken(ASSIGNMENT,'=',1,1591)
+LexToken(OPENSQBRACKET,'[',1,1592)
+LexToken(NUMBER,'2',1,1593)
+LexToken(NUMBER,'2',1,1595)
+LexToken(CLOSESQBRACKET,']',1,1596)
+LexToken(SEMICOLON,';',1,1597)
+LexToken(EOL,'\n',1,1598)
+LexToken(ELSE,'else',1,1611)
+LexToken(EOL,'\n',1,1615)
+LexToken(VAR,'message',1,1632)
+LexToken(OPENBRACKET,'(',1,1639)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1666)
+LexToken(CLOSEBRACKET,')',1,1667)
+LexToken(SEMICOLON,';',1,1668)
+LexToken(EOL,'\n',1,1669)
+LexToken(VAR,'ok',1,1686)
+LexToken(ASSIGNMENT,'=',1,1688)
+LexToken(PREVAR_BOOLEAN,'%f',1,1689)
+LexToken(SEMICOLON,';',1,1691)
+LexToken(EOL,'\n',1,1692)
+LexToken(END,'end',1,1705)
+LexToken(EOL,'\n',1,1708)
+LexToken(VAR,'in',1,1721)
+LexToken(ASSIGNMENT,'=',1,1723)
+LexToken(OPENSQBRACKET,'[',1,1724)
+LexToken(VAR,'model',1,1725)
+LexToken(DOT,'.',1,1730)
+LexToken(VAR,'in',1,1731)
+LexToken(VAR,'model',1,1734)
+LexToken(DOT,'.',1,1739)
+LexToken(VAR,'in2',1,1740)
+LexToken(CLOSESQBRACKET,']',1,1743)
+LexToken(SEMICOLON,';',1,1744)
+LexToken(EOL,'\n',1,1745)
+LexToken(VAR,'out',1,1758)
+LexToken(ASSIGNMENT,'=',1,1761)
+LexToken(OPENSQBRACKET,'[',1,1762)
+LexToken(VAR,'model',1,1763)
+LexToken(DOT,'.',1,1768)
+LexToken(VAR,'out',1,1769)
+LexToken(VAR,'model',1,1773)
+LexToken(DOT,'.',1,1778)
+LexToken(VAR,'out2',1,1779)
+LexToken(CLOSESQBRACKET,']',1,1783)
+LexToken(SEMICOLON,';',1,1784)
+LexToken(EOL,'\n',1,1785)
+LexToken(VAR,'funtyp',1,1798)
+LexToken(ASSIGNMENT,'=',1,1804)
+LexToken(NUMBER,'4',1,1805)
+LexToken(SEMICOLON,';',1,1806)
+LexToken(EOL,'\n',1,1807)
+LexToken(IF,'if',1,1820)
+LexToken(VAR,'ok',1,1823)
+LexToken(THEN,'then',1,1826)
+LexToken(EOL,'\n',1,1830)
+LexToken(VAR,'label',1,1847)
+LexToken(ASSIGNMENT,'=',1,1852)
+LexToken(VAR,'exprs',1,1853)
+LexToken(SEMICOLON,';',1,1858)
+LexToken(EOL,'\n',1,1859)
+LexToken(OPENSQBRACKET,'[',1,1876)
+LexToken(VAR,'model',1,1877)
+LexToken(COMMA,',',1,1882)
+LexToken(VAR,'graphics',1,1883)
+LexToken(COMMA,',',1,1891)
+LexToken(VAR,'ok',1,1892)
+LexToken(CLOSESQBRACKET,']',1,1894)
+LexToken(ASSIGNMENT,'=',1,1895)
+LexToken(VAR,'set_io',1,1896)
+LexToken(OPENBRACKET,'(',1,1902)
+LexToken(VAR,'model',1,1903)
+LexToken(COMMA,',',1,1908)
+LexToken(VAR,'graphics',1,1909)
+LexToken(COMMA,',',1,1917)
+LexToken(VAR,'list',1,1918)
+LexToken(OPENBRACKET,'(',1,1922)
+LexToken(VAR,'in',1,1923)
+LexToken(COMMA,',',1,1925)
+LexToken(VAR,'it',1,1926)
+LexToken(CLOSEBRACKET,')',1,1928)
+LexToken(COMMA,',',1,1929)
+LexToken(VAR,'list',1,1930)
+LexToken(OPENBRACKET,'(',1,1934)
+LexToken(VAR,'out',1,1935)
+LexToken(COMMA,',',1,1938)
+LexToken(VAR,'ot',1,1939)
+LexToken(CLOSEBRACKET,')',1,1941)
+LexToken(COMMA,',',1,1942)
+LexToken(OPENSQBRACKET,'[',1,1943)
+LexToken(CLOSESQBRACKET,']',1,1944)
+LexToken(COMMA,',',1,1945)
+LexToken(OPENSQBRACKET,'[',1,1946)
+LexToken(CLOSESQBRACKET,']',1,1947)
+LexToken(CLOSEBRACKET,')',1,1948)
+LexToken(EOL,'\n',1,1949)
+LexToken(VAR,'model',1,1966)
+LexToken(DOT,'.',1,1971)
+LexToken(VAR,'sim',1,1972)
+LexToken(ASSIGNMENT,'=',1,1975)
+LexToken(VAR,'list',1,1976)
+LexToken(OPENBRACKET,'(',1,1980)
+LexToken(VAR,'function_name',1,1981)
+LexToken(COMMA,',',1,1994)
+LexToken(VAR,'funtyp',1,1995)
+LexToken(CLOSEBRACKET,')',1,2001)
+LexToken(SEMICOLON,';',1,2002)
+LexToken(EOL,'\n',1,2003)
+LexToken(VAR,'graphics',1,2020)
+LexToken(DOT,'.',1,2028)
+LexToken(VAR,'exprs',1,2029)
+LexToken(ASSIGNMENT,'=',1,2034)
+LexToken(VAR,'label',1,2035)
+LexToken(SEMICOLON,';',1,2040)
+LexToken(EOL,'\n',1,2041)
+LexToken(VAR,'arg1',1,2058)
+LexToken(DOT,'.',1,2062)
+LexToken(VAR,'graphics',1,2063)
+LexToken(ASSIGNMENT,'=',1,2071)
+LexToken(VAR,'graphics',1,2072)
+LexToken(SEMICOLON,';',1,2080)
+LexToken(EOL,'\n',1,2081)
+LexToken(VAR,'arg1',1,2098)
+LexToken(DOT,'.',1,2102)
+LexToken(VAR,'model',1,2103)
+LexToken(ASSIGNMENT,'=',1,2108)
+LexToken(VAR,'model',1,2109)
+LexToken(SEMICOLON,';',1,2114)
+LexToken(EOL,'\n',1,2115)
+LexToken(VAR,'x',1,2132)
+LexToken(ASSIGNMENT,'=',1,2133)
+LexToken(VAR,'arg1',1,2134)
+LexToken(EOL,'\n',1,2138)
+LexToken(BREAK,'break',1,2155)
+LexToken(EOL,'\n',1,2160)
+LexToken(END,'end',1,2173)
+LexToken(EOL,'\n',1,2176)
+LexToken(END,'end',1,2185)
+LexToken(EOL,'\n',1,2188)
+LexToken(CASE,'case',1,2193)
+LexToken(DQSTRING,'"define"',1,2205)
+LexToken(THEN,'then',1,2207)
+LexToken(EOL,'\n',1,2211)
+LexToken(VAR,'model',1,2220)
+LexToken(ASSIGNMENT,'=',1,2225)
+LexToken(SCICOS_MODEL,'scicos_model',1,2226)
+LexToken(OPENBRACKET,'(',1,2238)
+LexToken(CLOSEBRACKET,')',1,2239)
+LexToken(EOL,'\n',1,2240)
+LexToken(VAR,'function_name',1,2249)
+LexToken(ASSIGNMENT,'=',1,2262)
+LexToken(DQSTRING,'"mat_div"',1,2271)
+LexToken(SEMICOLON,';',1,2272)
+LexToken(EOL,'\n',1,2273)
+LexToken(VAR,'funtyp',1,2282)
+LexToken(ASSIGNMENT,'=',1,2288)
+LexToken(NUMBER,'4',1,2289)
+LexToken(SEMICOLON,';',1,2290)
+LexToken(EOL,'\n',1,2291)
+LexToken(VAR,'model',1,2300)
+LexToken(DOT,'.',1,2305)
+LexToken(VAR,'sim',1,2306)
+LexToken(ASSIGNMENT,'=',1,2309)
+LexToken(VAR,'list',1,2310)
+LexToken(OPENBRACKET,'(',1,2314)
+LexToken(VAR,'function_name',1,2315)
+LexToken(COMMA,',',1,2328)
+LexToken(VAR,'funtyp',1,2329)
+LexToken(CLOSEBRACKET,')',1,2335)
+LexToken(EOL,'\n',1,2336)
+LexToken(VAR,'model',1,2345)
+LexToken(DOT,'.',1,2350)
+LexToken(VAR,'in',1,2351)
+LexToken(ASSIGNMENT,'=',1,2353)
+LexToken(OPENSQBRACKET,'[',1,2354)
+LexToken(NUMBER,'-1',1,2355)
+LexToken(SEMICOLON,';',1,2357)
+LexToken(NUMBER,'-2',1,2358)
+LexToken(CLOSESQBRACKET,']',1,2360)
+LexToken(EOL,'\n',1,2361)
+LexToken(VAR,'model',1,2370)
+LexToken(DOT,'.',1,2375)
+LexToken(VAR,'in2',1,2376)
+LexToken(ASSIGNMENT,'=',1,2379)
+LexToken(OPENSQBRACKET,'[',1,2380)
+LexToken(NUMBER,'-3',1,2381)
+LexToken(SEMICOLON,';',1,2383)
+LexToken(NUMBER,'-3',1,2384)
+LexToken(CLOSESQBRACKET,']',1,2386)
+LexToken(EOL,'\n',1,2387)
+LexToken(VAR,'model',1,2396)
+LexToken(DOT,'.',1,2401)
+LexToken(VAR,'intyp',1,2402)
+LexToken(ASSIGNMENT,'=',1,2407)
+LexToken(OPENSQBRACKET,'[',1,2408)
+LexToken(NUMBER,'1',1,2409)
+LexToken(NUMBER,'1',1,2411)
+LexToken(CLOSESQBRACKET,']',1,2412)
+LexToken(EOL,'\n',1,2413)
+LexToken(VAR,'model',1,2422)
+LexToken(DOT,'.',1,2427)
+LexToken(VAR,'out',1,2428)
+LexToken(ASSIGNMENT,'=',1,2431)
+LexToken(NUMBER,'-1',1,2432)
+LexToken(EOL,'\n',1,2434)
+LexToken(VAR,'model',1,2443)
+LexToken(DOT,'.',1,2448)
+LexToken(VAR,'out2',1,2449)
+LexToken(ASSIGNMENT,'=',1,2453)
+LexToken(NUMBER,'-2',1,2454)
+LexToken(EOL,'\n',1,2456)
+LexToken(VAR,'model',1,2465)
+LexToken(DOT,'.',1,2470)
+LexToken(VAR,'outtyp',1,2471)
+LexToken(ASSIGNMENT,'=',1,2477)
+LexToken(NUMBER,'1',1,2478)
+LexToken(EOL,'\n',1,2479)
+LexToken(VAR,'model',1,2488)
+LexToken(DOT,'.',1,2493)
+LexToken(VAR,'evtin',1,2494)
+LexToken(ASSIGNMENT,'=',1,2499)
+LexToken(OPENSQBRACKET,'[',1,2500)
+LexToken(CLOSESQBRACKET,']',1,2501)
+LexToken(EOL,'\n',1,2502)
+LexToken(VAR,'model',1,2511)
+LexToken(DOT,'.',1,2516)
+LexToken(VAR,'evtout',1,2517)
+LexToken(ASSIGNMENT,'=',1,2523)
+LexToken(OPENSQBRACKET,'[',1,2524)
+LexToken(CLOSESQBRACKET,']',1,2525)
+LexToken(EOL,'\n',1,2526)
+LexToken(VAR,'model',1,2535)
+LexToken(DOT,'.',1,2540)
+LexToken(VAR,'state',1,2541)
+LexToken(ASSIGNMENT,'=',1,2546)
+LexToken(OPENSQBRACKET,'[',1,2547)
+LexToken(CLOSESQBRACKET,']',1,2548)
+LexToken(EOL,'\n',1,2549)
+LexToken(VAR,'model',1,2558)
+LexToken(DOT,'.',1,2563)
+LexToken(VAR,'dstate',1,2564)
+LexToken(ASSIGNMENT,'=',1,2570)
+LexToken(OPENSQBRACKET,'[',1,2571)
+LexToken(CLOSESQBRACKET,']',1,2572)
+LexToken(EOL,'\n',1,2573)
+LexToken(VAR,'model',1,2582)
+LexToken(DOT,'.',1,2587)
+LexToken(VAR,'rpar',1,2588)
+LexToken(ASSIGNMENT,'=',1,2592)
+LexToken(OPENSQBRACKET,'[',1,2593)
+LexToken(CLOSESQBRACKET,']',1,2594)
+LexToken(EOL,'\n',1,2595)
+LexToken(VAR,'model',1,2604)
+LexToken(DOT,'.',1,2609)
+LexToken(VAR,'ipar',1,2610)
+LexToken(ASSIGNMENT,'=',1,2614)
+LexToken(OPENSQBRACKET,'[',1,2615)
+LexToken(CLOSESQBRACKET,']',1,2616)
+LexToken(EOL,'\n',1,2617)
+LexToken(VAR,'model',1,2626)
+LexToken(DOT,'.',1,2631)
+LexToken(VAR,'blocktype',1,2632)
+LexToken(ASSIGNMENT,'=',1,2641)
+LexToken(DQSTRING,'"c"',1,2644)
+LexToken(EOL,'\n',1,2645)
+LexToken(VAR,'model',1,2654)
+LexToken(DOT,'.',1,2659)
+LexToken(VAR,'firing',1,2660)
+LexToken(ASSIGNMENT,'=',1,2666)
+LexToken(OPENSQBRACKET,'[',1,2667)
+LexToken(CLOSESQBRACKET,']',1,2668)
+LexToken(EOL,'\n',1,2669)
+LexToken(VAR,'model',1,2678)
+LexToken(DOT,'.',1,2683)
+LexToken(VAR,'dep_ut',1,2684)
+LexToken(ASSIGNMENT,'=',1,2690)
+LexToken(OPENSQBRACKET,'[',1,2691)
+LexToken(PREVAR_BOOLEAN,'%t',1,2692)
+LexToken(PREVAR_BOOLEAN,'%f',1,2695)
+LexToken(CLOSESQBRACKET,']',1,2697)
+LexToken(EOL,'\n',1,2698)
+LexToken(VAR,'label',1,2707)
+LexToken(ASSIGNMENT,'=',1,2712)
+LexToken(OPENSQBRACKET,'[',1,2713)
+LexToken(VAR,'sci2exp',1,2714)
+LexToken(OPENBRACKET,'(',1,2721)
+LexToken(NUMBER,'1',1,2722)
+LexToken(CLOSEBRACKET,')',1,2723)
+LexToken(CLOSESQBRACKET,']',1,2724)
+LexToken(SEMICOLON,';',1,2725)
+LexToken(EOL,'\n',1,2726)
+LexToken(VAR,'gr_i',1,2735)
+LexToken(ASSIGNMENT,'=',1,2739)
+LexToken(OPENSQBRACKET,'[',1,2740)
+LexToken(CLOSESQBRACKET,']',1,2741)
+LexToken(EOL,'\n',1,2742)
+LexToken(VAR,'x',1,2751)
+LexToken(ASSIGNMENT,'=',1,2752)
+LexToken(VAR,'standard_define',1,2753)
+LexToken(OPENBRACKET,'(',1,2768)
+LexToken(OPENSQBRACKET,'[',1,2769)
+LexToken(NUMBER,'2',1,2770)
+LexToken(NUMBER,'2',1,2772)
+LexToken(CLOSESQBRACKET,']',1,2773)
+LexToken(COMMA,',',1,2774)
+LexToken(VAR,'model',1,2775)
+LexToken(COMMA,',',1,2780)
+LexToken(VAR,'label',1,2781)
+LexToken(COMMA,',',1,2786)
+LexToken(VAR,'gr_i',1,2787)
+LexToken(CLOSEBRACKET,')',1,2791)
+LexToken(EOL,'\n',1,2792)
+LexToken(END,'end',1,2797)
+LexToken(EOL,'\n',1,2800)
+LexToken(ENDFUNCTION,'endfunction',1,2801)
+LexToken(EOL,'\n',1,2812)
+LexToken(EOL,'\n',1,2813)
diff --git a/js/MatrixOp/MATEIG.js b/js/MatrixOp/MATEIG.js
new file mode 100644
index 00000000..1a0c918f
--- /dev/null
+++ b/js/MatrixOp/MATEIG.js
@@ -0,0 +1,621 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATEIG',1,852)
+LexToken(OPENBRACKET,'(',1,858)
+LexToken(VAR,'job',1,859)
+LexToken(COMMA,',',1,862)
+LexToken(VAR,'arg1',1,863)
+LexToken(COMMA,',',1,867)
+LexToken(VAR,'arg2',1,868)
+LexToken(CLOSEBRACKET,')',1,872)
+LexToken(EOL,'\n',1,873)
+LexToken(EOL,'\n',1,880)
+LexToken(VAR,'x',1,885)
+LexToken(ASSIGNMENT,'=',1,886)
+LexToken(OPENSQBRACKET,'[',1,887)
+LexToken(CLOSESQBRACKET,']',1,888)
+LexToken(SEMICOLON,';',1,889)
+LexToken(EOL,'\n',1,890)
+LexToken(VAR,'y',1,895)
+LexToken(ASSIGNMENT,'=',1,896)
+LexToken(OPENSQBRACKET,'[',1,897)
+LexToken(CLOSESQBRACKET,']',1,898)
+LexToken(SEMICOLON,';',1,899)
+LexToken(EOL,'\n',1,900)
+LexToken(VAR,'typ',1,905)
+LexToken(ASSIGNMENT,'=',1,908)
+LexToken(OPENSQBRACKET,'[',1,909)
+LexToken(CLOSESQBRACKET,']',1,910)
+LexToken(SEMICOLON,';',1,911)
+LexToken(EOL,'\n',1,912)
+LexToken(SELECT,'select',1,917)
+LexToken(VAR,'job',1,924)
+LexToken(EOL,'\n',1,927)
+LexToken(CASE,'case',1,932)
+LexToken(DQSTRING,'"set"',1,941)
+LexToken(THEN,'then',1,943)
+LexToken(EOL,'\n',1,947)
+LexToken(VAR,'x',1,956)
+LexToken(ASSIGNMENT,'=',1,957)
+LexToken(VAR,'arg1',1,958)
+LexToken(EOL,'\n',1,962)
+LexToken(VAR,'model',1,971)
+LexToken(ASSIGNMENT,'=',1,976)
+LexToken(VAR,'arg1',1,977)
+LexToken(DOT,'.',1,981)
+LexToken(VAR,'model',1,982)
+LexToken(SEMICOLON,';',1,987)
+LexToken(EOL,'\n',1,988)
+LexToken(VAR,'graphics',1,997)
+LexToken(ASSIGNMENT,'=',1,1005)
+LexToken(VAR,'arg1',1,1006)
+LexToken(DOT,'.',1,1010)
+LexToken(VAR,'graphics',1,1011)
+LexToken(SEMICOLON,';',1,1019)
+LexToken(EOL,'\n',1,1020)
+LexToken(VAR,'label',1,1029)
+LexToken(ASSIGNMENT,'=',1,1034)
+LexToken(VAR,'graphics',1,1035)
+LexToken(DOT,'.',1,1043)
+LexToken(VAR,'exprs',1,1044)
+LexToken(EOL,'\n',1,1049)
+LexToken(IF,'if',1,1058)
+LexToken(VAR,'size',1,1061)
+LexToken(OPENBRACKET,'(',1,1065)
+LexToken(VAR,'label',1,1066)
+LexToken(COMMA,',',1,1071)
+LexToken(DQSTRING,'"*"',1,1074)
+LexToken(CLOSEBRACKET,')',1,1075)
+LexToken(COMPARISON,'==',1,1076)
+LexToken(NUMBER,'14',1,1078)
+LexToken(THEN,'then',1,1081)
+LexToken(EOL,'\n',1,1085)
+LexToken(VAR,'label',1,1098)
+LexToken(OPENBRACKET,'(',1,1103)
+LexToken(NUMBER,'9',1,1104)
+LexToken(CLOSEBRACKET,')',1,1105)
+LexToken(ASSIGNMENT,'=',1,1106)
+LexToken(OPENSQBRACKET,'[',1,1107)
+LexToken(CLOSESQBRACKET,']',1,1108)
+LexToken(COMMA,',',1,1109)
+LexToken(EOL,'\n',1,1110)
+LexToken(END,'end',1,1119)
+LexToken(EOL,'\n',1,1137)
+LexToken(WHILE,'while',1,1146)
+LexToken(PREVAR_BOOLEAN,'%t',1,1152)
+LexToken(DO,'do',1,1155)
+LexToken(EOL,'\n',1,1157)
+LexToken(OPENSQBRACKET,'[',1,1170)
+LexToken(VAR,'ok',1,1171)
+LexToken(COMMA,',',1,1173)
+LexToken(VAR,'typ',1,1174)
+LexToken(COMMA,',',1,1177)
+LexToken(VAR,'decomptyp',1,1178)
+LexToken(COMMA,',',1,1187)
+LexToken(VAR,'lab',1,1188)
+LexToken(CLOSESQBRACKET,']',1,1191)
+LexToken(ASSIGNMENT,'=',1,1192)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1193)
+LexToken(OPENBRACKET,'(',1,1208)
+LexToken(DQSTRING,'"Set MATEIG block parameters"',1,1237)
+LexToken(COMMA,',',1,1238)
+LexToken(OPENSQBRACKET,'[',1,1239)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1275)
+LexToken(SEMICOLON,';',1,1276)
+LexToken(DQSTRING,'"decomposition type (1=eig values 2=eig values+eig vectors"',1,1336)
+LexToken(CLOSESQBRACKET,']',1,1337)
+LexToken(COMMA,',',1,1338)
+LexToken(VAR,'list',1,1339)
+LexToken(OPENBRACKET,'(',1,1343)
+LexToken(DQSTRING,'"vec"',1,1348)
+LexToken(COMMA,',',1,1349)
+LexToken(NUMBER,'1',1,1350)
+LexToken(COMMA,',',1,1351)
+LexToken(DQSTRING,'"vec"',1,1356)
+LexToken(COMMA,',',1,1357)
+LexToken(NUMBER,'1',1,1358)
+LexToken(CLOSEBRACKET,')',1,1359)
+LexToken(COMMA,',',1,1360)
+LexToken(VAR,'label',1,1361)
+LexToken(CLOSEBRACKET,')',1,1366)
+LexToken(EOL,'\n',1,1367)
+LexToken(IF,'if',1,1380)
+LexToken(NOT,'~',1,1383)
+LexToken(VAR,'ok',1,1384)
+LexToken(THEN,'then',1,1387)
+LexToken(EOL,'\n',1,1391)
+LexToken(BREAK,'break',1,1408)
+LexToken(COMMA,',',1,1413)
+LexToken(EOL,'\n',1,1414)
+LexToken(END,'end',1,1427)
+LexToken(EOL,'\n',1,1430)
+LexToken(VAR,'label',1,1443)
+LexToken(ASSIGNMENT,'=',1,1448)
+LexToken(VAR,'lab',1,1449)
+LexToken(EOL,'\n',1,1452)
+LexToken(IF,'if',1,1465)
+LexToken(OPENBRACKET,'(',1,1468)
+LexToken(VAR,'typ',1,1469)
+LexToken(COMPARISON,'==',1,1472)
+LexToken(NUMBER,'1',1,1474)
+LexToken(CLOSEBRACKET,')',1,1475)
+LexToken(THEN,'then',1,1477)
+LexToken(EOL,'\n',1,1481)
+LexToken(IF,'if',1,1498)
+LexToken(OPENBRACKET,'(',1,1501)
+LexToken(VAR,'decomptyp',1,1502)
+LexToken(COMPARISON,'==',1,1511)
+LexToken(NUMBER,'1',1,1513)
+LexToken(CLOSEBRACKET,')',1,1514)
+LexToken(THEN,'then',1,1516)
+LexToken(EOL,'\n',1,1520)
+LexToken(VAR,'function_name',1,1541)
+LexToken(ASSIGNMENT,'=',1,1554)
+LexToken(DQSTRING,'"mat_vps"',1,1563)
+LexToken(SEMICOLON,';',1,1564)
+LexToken(EOL,'\n',1,1565)
+LexToken(VAR,'out',1,1586)
+LexToken(ASSIGNMENT,'=',1,1589)
+LexToken(OPENSQBRACKET,'[',1,1590)
+LexToken(NUMBER,'-1',1,1591)
+LexToken(NUMBER,'1',1,1594)
+LexToken(CLOSESQBRACKET,']',1,1595)
+LexToken(SEMICOLON,';',1,1596)
+LexToken(EOL,'\n',1,1597)
+LexToken(VAR,'ot',1,1618)
+LexToken(ASSIGNMENT,'=',1,1620)
+LexToken(NUMBER,'2',1,1621)
+LexToken(SEMICOLON,';',1,1622)
+LexToken(EOL,'\n',1,1623)
+LexToken(ELSEIF,'elseif',1,1640)
+LexToken(OPENBRACKET,'(',1,1647)
+LexToken(VAR,'decomptyp',1,1648)
+LexToken(COMPARISON,'==',1,1657)
+LexToken(NUMBER,'2',1,1659)
+LexToken(CLOSEBRACKET,')',1,1660)
+LexToken(THEN,'then',1,1662)
+LexToken(EOL,'\n',1,1666)
+LexToken(VAR,'function_name',1,1687)
+LexToken(ASSIGNMENT,'=',1,1700)
+LexToken(DQSTRING,'"mat_vpv"',1,1709)
+LexToken(SEMICOLON,';',1,1710)
+LexToken(EOL,'\n',1,1711)
+LexToken(VAR,'out',1,1732)
+LexToken(ASSIGNMENT,'=',1,1735)
+LexToken(OPENSQBRACKET,'[',1,1736)
+LexToken(NUMBER,'-1',1,1737)
+LexToken(NUMBER,'-1',1,1740)
+LexToken(SEMICOLON,';',1,1742)
+LexToken(NUMBER,'-1',1,1743)
+LexToken(NUMBER,'-1',1,1746)
+LexToken(CLOSESQBRACKET,']',1,1748)
+LexToken(SEMICOLON,';',1,1749)
+LexToken(EOL,'\n',1,1750)
+LexToken(VAR,'ot',1,1771)
+LexToken(ASSIGNMENT,'=',1,1773)
+LexToken(OPENSQBRACKET,'[',1,1774)
+LexToken(NUMBER,'2',1,1775)
+LexToken(NUMBER,'2',1,1777)
+LexToken(CLOSESQBRACKET,']',1,1778)
+LexToken(SEMICOLON,';',1,1779)
+LexToken(EOL,'\n',1,1780)
+LexToken(ELSE,'else',1,1797)
+LexToken(EOL,'\n',1,1801)
+LexToken(VAR,'message',1,1822)
+LexToken(OPENBRACKET,'(',1,1829)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,1866)
+LexToken(CLOSEBRACKET,')',1,1867)
+LexToken(SEMICOLON,';',1,1868)
+LexToken(EOL,'\n',1,1869)
+LexToken(VAR,'ok',1,1890)
+LexToken(ASSIGNMENT,'=',1,1892)
+LexToken(PREVAR_BOOLEAN,'%f',1,1893)
+LexToken(SEMICOLON,';',1,1895)
+LexToken(EOL,'\n',1,1896)
+LexToken(END,'end',1,1913)
+LexToken(EOL,'\n',1,1916)
+LexToken(VAR,'it',1,1933)
+LexToken(ASSIGNMENT,'=',1,1935)
+LexToken(NUMBER,'1',1,1936)
+LexToken(SEMICOLON,';',1,1937)
+LexToken(EOL,'\n',1,1938)
+LexToken(ELSEIF,'elseif',1,1951)
+LexToken(OPENBRACKET,'(',1,1958)
+LexToken(VAR,'typ',1,1959)
+LexToken(COMPARISON,'==',1,1962)
+LexToken(NUMBER,'2',1,1964)
+LexToken(CLOSEBRACKET,')',1,1965)
+LexToken(THEN,'then',1,1967)
+LexToken(EOL,'\n',1,1971)
+LexToken(IF,'if',1,1988)
+LexToken(OPENBRACKET,'(',1,1991)
+LexToken(VAR,'decomptyp',1,1992)
+LexToken(COMPARISON,'==',1,2001)
+LexToken(NUMBER,'1',1,2003)
+LexToken(CLOSEBRACKET,')',1,2004)
+LexToken(THEN,'then',1,2006)
+LexToken(EOL,'\n',1,2010)
+LexToken(VAR,'function_name',1,2031)
+LexToken(ASSIGNMENT,'=',1,2044)
+LexToken(DQSTRING,'"matz_vps"',1,2054)
+LexToken(SEMICOLON,';',1,2055)
+LexToken(EOL,'\n',1,2056)
+LexToken(VAR,'out',1,2077)
+LexToken(ASSIGNMENT,'=',1,2080)
+LexToken(OPENSQBRACKET,'[',1,2081)
+LexToken(NUMBER,'-1',1,2082)
+LexToken(NUMBER,'1',1,2085)
+LexToken(CLOSESQBRACKET,']',1,2086)
+LexToken(SEMICOLON,';',1,2087)
+LexToken(EOL,'\n',1,2088)
+LexToken(VAR,'ot',1,2109)
+LexToken(ASSIGNMENT,'=',1,2111)
+LexToken(NUMBER,'2',1,2112)
+LexToken(SEMICOLON,';',1,2113)
+LexToken(EOL,'\n',1,2114)
+LexToken(ELSEIF,'elseif',1,2131)
+LexToken(OPENBRACKET,'(',1,2138)
+LexToken(VAR,'decomptyp',1,2139)
+LexToken(COMPARISON,'==',1,2148)
+LexToken(NUMBER,'2',1,2150)
+LexToken(CLOSEBRACKET,')',1,2151)
+LexToken(THEN,'then',1,2153)
+LexToken(EOL,'\n',1,2157)
+LexToken(VAR,'function_name',1,2178)
+LexToken(ASSIGNMENT,'=',1,2191)
+LexToken(DQSTRING,'"matz_vpv"',1,2201)
+LexToken(SEMICOLON,';',1,2202)
+LexToken(EOL,'\n',1,2203)
+LexToken(VAR,'out',1,2224)
+LexToken(ASSIGNMENT,'=',1,2227)
+LexToken(OPENSQBRACKET,'[',1,2228)
+LexToken(NUMBER,'-1',1,2229)
+LexToken(NUMBER,'-1',1,2232)
+LexToken(SEMICOLON,';',1,2234)
+LexToken(NUMBER,'-1',1,2235)
+LexToken(NUMBER,'-1',1,2238)
+LexToken(CLOSESQBRACKET,']',1,2240)
+LexToken(SEMICOLON,';',1,2241)
+LexToken(EOL,'\n',1,2242)
+LexToken(VAR,'ot',1,2263)
+LexToken(ASSIGNMENT,'=',1,2265)
+LexToken(OPENSQBRACKET,'[',1,2266)
+LexToken(NUMBER,'2',1,2267)
+LexToken(NUMBER,'2',1,2269)
+LexToken(CLOSESQBRACKET,']',1,2270)
+LexToken(SEMICOLON,';',1,2271)
+LexToken(EOL,'\n',1,2272)
+LexToken(ELSE,'else',1,2289)
+LexToken(EOL,'\n',1,2293)
+LexToken(VAR,'message',1,2314)
+LexToken(OPENBRACKET,'(',1,2321)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,2358)
+LexToken(CLOSEBRACKET,')',1,2359)
+LexToken(SEMICOLON,';',1,2360)
+LexToken(EOL,'\n',1,2361)
+LexToken(VAR,'ok',1,2382)
+LexToken(ASSIGNMENT,'=',1,2384)
+LexToken(PREVAR_BOOLEAN,'%f',1,2385)
+LexToken(SEMICOLON,';',1,2387)
+LexToken(EOL,'\n',1,2388)
+LexToken(END,'end',1,2405)
+LexToken(EOL,'\n',1,2408)
+LexToken(VAR,'it',1,2425)
+LexToken(ASSIGNMENT,'=',1,2427)
+LexToken(NUMBER,'2',1,2428)
+LexToken(SEMICOLON,';',1,2429)
+LexToken(EOL,'\n',1,2430)
+LexToken(ELSE,'else',1,2443)
+LexToken(EOL,'\n',1,2447)
+LexToken(VAR,'message',1,2464)
+LexToken(OPENBRACKET,'(',1,2471)
+LexToken(DQSTRING,'"Datatype is not supported"',1,2498)
+LexToken(CLOSEBRACKET,')',1,2499)
+LexToken(SEMICOLON,';',1,2500)
+LexToken(EOL,'\n',1,2501)
+LexToken(VAR,'ok',1,2518)
+LexToken(ASSIGNMENT,'=',1,2520)
+LexToken(PREVAR_BOOLEAN,'%f',1,2521)
+LexToken(SEMICOLON,';',1,2523)
+LexToken(EOL,'\n',1,2524)
+LexToken(END,'end',1,2537)
+LexToken(EOL,'\n',1,2540)
+LexToken(VAR,'in',1,2553)
+LexToken(ASSIGNMENT,'=',1,2555)
+LexToken(OPENSQBRACKET,'[',1,2556)
+LexToken(NUMBER,'-1',1,2557)
+LexToken(NUMBER,'-1',1,2560)
+LexToken(CLOSESQBRACKET,']',1,2562)
+LexToken(SEMICOLON,';',1,2563)
+LexToken(EOL,'\n',1,2564)
+LexToken(VAR,'funtyp',1,2577)
+LexToken(ASSIGNMENT,'=',1,2583)
+LexToken(NUMBER,'4',1,2584)
+LexToken(SEMICOLON,';',1,2585)
+LexToken(EOL,'\n',1,2586)
+LexToken(IF,'if',1,2599)
+LexToken(VAR,'ok',1,2602)
+LexToken(THEN,'then',1,2605)
+LexToken(EOL,'\n',1,2609)
+LexToken(OPENSQBRACKET,'[',1,2626)
+LexToken(VAR,'model',1,2627)
+LexToken(COMMA,',',1,2632)
+LexToken(VAR,'graphics',1,2633)
+LexToken(COMMA,',',1,2641)
+LexToken(VAR,'ok',1,2642)
+LexToken(CLOSESQBRACKET,']',1,2644)
+LexToken(ASSIGNMENT,'=',1,2645)
+LexToken(VAR,'set_io',1,2646)
+LexToken(OPENBRACKET,'(',1,2652)
+LexToken(VAR,'model',1,2653)
+LexToken(COMMA,',',1,2658)
+LexToken(VAR,'graphics',1,2659)
+LexToken(COMMA,',',1,2667)
+LexToken(VAR,'list',1,2668)
+LexToken(OPENBRACKET,'(',1,2672)
+LexToken(VAR,'in',1,2673)
+LexToken(COMMA,',',1,2675)
+LexToken(VAR,'it',1,2676)
+LexToken(CLOSEBRACKET,')',1,2678)
+LexToken(COMMA,',',1,2679)
+LexToken(VAR,'list',1,2680)
+LexToken(OPENBRACKET,'(',1,2684)
+LexToken(VAR,'out',1,2685)
+LexToken(COMMA,',',1,2688)
+LexToken(VAR,'ot',1,2689)
+LexToken(CLOSEBRACKET,')',1,2691)
+LexToken(COMMA,',',1,2692)
+LexToken(OPENSQBRACKET,'[',1,2693)
+LexToken(CLOSESQBRACKET,']',1,2694)
+LexToken(COMMA,',',1,2695)
+LexToken(OPENSQBRACKET,'[',1,2696)
+LexToken(CLOSESQBRACKET,']',1,2697)
+LexToken(CLOSEBRACKET,')',1,2698)
+LexToken(EOL,'\n',1,2699)
+LexToken(END,'end',1,2712)
+LexToken(EOL,'\n',1,2715)
+LexToken(IF,'if',1,2728)
+LexToken(VAR,'ok',1,2731)
+LexToken(THEN,'then',1,2734)
+LexToken(EOL,'\n',1,2738)
+LexToken(VAR,'model',1,2755)
+LexToken(DOT,'.',1,2760)
+LexToken(VAR,'sim',1,2761)
+LexToken(ASSIGNMENT,'=',1,2764)
+LexToken(VAR,'list',1,2765)
+LexToken(OPENBRACKET,'(',1,2769)
+LexToken(VAR,'function_name',1,2770)
+LexToken(COMMA,',',1,2783)
+LexToken(VAR,'funtyp',1,2784)
+LexToken(CLOSEBRACKET,')',1,2790)
+LexToken(SEMICOLON,';',1,2791)
+LexToken(EOL,'\n',1,2792)
+LexToken(VAR,'arg1',1,2809)
+LexToken(DOT,'.',1,2813)
+LexToken(VAR,'model',1,2814)
+LexToken(ASSIGNMENT,'=',1,2819)
+LexToken(VAR,'model',1,2820)
+LexToken(EOL,'\n',1,2825)
+LexToken(VAR,'graphics',1,2842)
+LexToken(DOT,'.',1,2850)
+LexToken(VAR,'exprs',1,2851)
+LexToken(ASSIGNMENT,'=',1,2856)
+LexToken(VAR,'label',1,2857)
+LexToken(EOL,'\n',1,2862)
+LexToken(VAR,'arg1',1,2879)
+LexToken(DOT,'.',1,2883)
+LexToken(VAR,'graphics',1,2884)
+LexToken(ASSIGNMENT,'=',1,2892)
+LexToken(VAR,'graphics',1,2893)
+LexToken(EOL,'\n',1,2901)
+LexToken(VAR,'x',1,2918)
+LexToken(ASSIGNMENT,'=',1,2919)
+LexToken(VAR,'arg1',1,2920)
+LexToken(EOL,'\n',1,2924)
+LexToken(BREAK,'break',1,2941)
+LexToken(EOL,'\n',1,2946)
+LexToken(END,'end',1,2959)
+LexToken(EOL,'\n',1,2962)
+LexToken(END,'end',1,2971)
+LexToken(EOL,'\n',1,2974)
+LexToken(CASE,'case',1,2979)
+LexToken(DQSTRING,'"define"',1,2991)
+LexToken(THEN,'then',1,2993)
+LexToken(EOL,'\n',1,2997)
+LexToken(VAR,'model',1,3006)
+LexToken(ASSIGNMENT,'=',1,3011)
+LexToken(SCICOS_MODEL,'scicos_model',1,3012)
+LexToken(OPENBRACKET,'(',1,3024)
+LexToken(CLOSEBRACKET,')',1,3025)
+LexToken(EOL,'\n',1,3026)
+LexToken(VAR,'function_name',1,3035)
+LexToken(ASSIGNMENT,'=',1,3048)
+LexToken(DQSTRING,'"mat_vps"',1,3057)
+LexToken(SEMICOLON,';',1,3058)
+LexToken(EOL,'\n',1,3059)
+LexToken(VAR,'funtyp',1,3068)
+LexToken(ASSIGNMENT,'=',1,3074)
+LexToken(NUMBER,'4',1,3075)
+LexToken(SEMICOLON,';',1,3076)
+LexToken(EOL,'\n',1,3077)
+LexToken(VAR,'model',1,3086)
+LexToken(DOT,'.',1,3091)
+LexToken(VAR,'sim',1,3092)
+LexToken(ASSIGNMENT,'=',1,3095)
+LexToken(VAR,'list',1,3096)
+LexToken(OPENBRACKET,'(',1,3100)
+LexToken(VAR,'function_name',1,3101)
+LexToken(COMMA,',',1,3114)
+LexToken(VAR,'funtyp',1,3115)
+LexToken(CLOSEBRACKET,')',1,3121)
+LexToken(EOL,'\n',1,3122)
+LexToken(EOL,'\n',1,3123)
+LexToken(VAR,'model',1,3132)
+LexToken(DOT,'.',1,3137)
+LexToken(VAR,'in',1,3138)
+LexToken(ASSIGNMENT,'=',1,3140)
+LexToken(NUMBER,'-1',1,3141)
+LexToken(EOL,'\n',1,3143)
+LexToken(VAR,'model',1,3152)
+LexToken(DOT,'.',1,3157)
+LexToken(VAR,'in2',1,3158)
+LexToken(ASSIGNMENT,'=',1,3161)
+LexToken(NUMBER,'-1',1,3162)
+LexToken(EOL,'\n',1,3164)
+LexToken(VAR,'model',1,3173)
+LexToken(DOT,'.',1,3178)
+LexToken(VAR,'intyp',1,3179)
+LexToken(ASSIGNMENT,'=',1,3184)
+LexToken(NUMBER,'1',1,3185)
+LexToken(EOL,'\n',1,3186)
+LexToken(VAR,'model',1,3195)
+LexToken(DOT,'.',1,3200)
+LexToken(VAR,'out',1,3201)
+LexToken(ASSIGNMENT,'=',1,3204)
+LexToken(NUMBER,'-1',1,3205)
+LexToken(EOL,'\n',1,3207)
+LexToken(VAR,'model',1,3216)
+LexToken(DOT,'.',1,3221)
+LexToken(VAR,'out2',1,3222)
+LexToken(ASSIGNMENT,'=',1,3226)
+LexToken(NUMBER,'1',1,3227)
+LexToken(EOL,'\n',1,3228)
+LexToken(VAR,'model',1,3237)
+LexToken(DOT,'.',1,3242)
+LexToken(VAR,'outtyp',1,3243)
+LexToken(ASSIGNMENT,'=',1,3249)
+LexToken(NUMBER,'2',1,3250)
+LexToken(EOL,'\n',1,3251)
+LexToken(VAR,'model',1,3260)
+LexToken(DOT,'.',1,3265)
+LexToken(VAR,'evtin',1,3266)
+LexToken(ASSIGNMENT,'=',1,3271)
+LexToken(OPENSQBRACKET,'[',1,3272)
+LexToken(CLOSESQBRACKET,']',1,3273)
+LexToken(EOL,'\n',1,3274)
+LexToken(VAR,'model',1,3283)
+LexToken(DOT,'.',1,3288)
+LexToken(VAR,'evtout',1,3289)
+LexToken(ASSIGNMENT,'=',1,3295)
+LexToken(OPENSQBRACKET,'[',1,3296)
+LexToken(CLOSESQBRACKET,']',1,3297)
+LexToken(EOL,'\n',1,3298)
+LexToken(VAR,'model',1,3307)
+LexToken(DOT,'.',1,3312)
+LexToken(VAR,'state',1,3313)
+LexToken(ASSIGNMENT,'=',1,3318)
+LexToken(OPENSQBRACKET,'[',1,3319)
+LexToken(CLOSESQBRACKET,']',1,3320)
+LexToken(EOL,'\n',1,3321)
+LexToken(VAR,'model',1,3330)
+LexToken(DOT,'.',1,3335)
+LexToken(VAR,'dstate',1,3336)
+LexToken(ASSIGNMENT,'=',1,3342)
+LexToken(OPENSQBRACKET,'[',1,3343)
+LexToken(CLOSESQBRACKET,']',1,3344)
+LexToken(EOL,'\n',1,3345)
+LexToken(VAR,'model',1,3354)
+LexToken(DOT,'.',1,3359)
+LexToken(VAR,'rpar',1,3360)
+LexToken(ASSIGNMENT,'=',1,3364)
+LexToken(OPENSQBRACKET,'[',1,3365)
+LexToken(CLOSESQBRACKET,']',1,3366)
+LexToken(EOL,'\n',1,3367)
+LexToken(VAR,'model',1,3376)
+LexToken(DOT,'.',1,3381)
+LexToken(VAR,'ipar',1,3382)
+LexToken(ASSIGNMENT,'=',1,3386)
+LexToken(OPENSQBRACKET,'[',1,3387)
+LexToken(CLOSESQBRACKET,']',1,3388)
+LexToken(EOL,'\n',1,3389)
+LexToken(VAR,'model',1,3398)
+LexToken(DOT,'.',1,3403)
+LexToken(VAR,'blocktype',1,3404)
+LexToken(ASSIGNMENT,'=',1,3413)
+LexToken(DQSTRING,'"c"',1,3416)
+LexToken(EOL,'\n',1,3417)
+LexToken(VAR,'model',1,3426)
+LexToken(DOT,'.',1,3431)
+LexToken(VAR,'firing',1,3432)
+LexToken(ASSIGNMENT,'=',1,3438)
+LexToken(OPENSQBRACKET,'[',1,3439)
+LexToken(CLOSESQBRACKET,']',1,3440)
+LexToken(EOL,'\n',1,3441)
+LexToken(VAR,'model',1,3450)
+LexToken(DOT,'.',1,3455)
+LexToken(VAR,'dep_ut',1,3456)
+LexToken(ASSIGNMENT,'=',1,3462)
+LexToken(OPENSQBRACKET,'[',1,3463)
+LexToken(PREVAR_BOOLEAN,'%t',1,3464)
+LexToken(PREVAR_BOOLEAN,'%f',1,3467)
+LexToken(CLOSESQBRACKET,']',1,3469)
+LexToken(EOL,'\n',1,3470)
+LexToken(VAR,'label',1,3479)
+LexToken(ASSIGNMENT,'=',1,3484)
+LexToken(OPENSQBRACKET,'[',1,3485)
+LexToken(VAR,'sci2exp',1,3486)
+LexToken(OPENBRACKET,'(',1,3493)
+LexToken(NUMBER,'1',1,3494)
+LexToken(CLOSEBRACKET,')',1,3495)
+LexToken(SEMICOLON,';',1,3496)
+LexToken(VAR,'sci2exp',1,3497)
+LexToken(OPENBRACKET,'(',1,3504)
+LexToken(NUMBER,'1',1,3505)
+LexToken(CLOSEBRACKET,')',1,3506)
+LexToken(CLOSESQBRACKET,']',1,3507)
+LexToken(SEMICOLON,';',1,3508)
+LexToken(EOL,'\n',1,3509)
+LexToken(VAR,'gr_i',1,3518)
+LexToken(ASSIGNMENT,'=',1,3522)
+LexToken(OPENSQBRACKET,'[',1,3523)
+LexToken(CLOSESQBRACKET,']',1,3524)
+LexToken(EOL,'\n',1,3525)
+LexToken(VAR,'x',1,3534)
+LexToken(ASSIGNMENT,'=',1,3535)
+LexToken(VAR,'standard_define',1,3536)
+LexToken(OPENBRACKET,'(',1,3551)
+LexToken(OPENSQBRACKET,'[',1,3552)
+LexToken(NUMBER,'2',1,3553)
+LexToken(NUMBER,'2',1,3555)
+LexToken(CLOSESQBRACKET,']',1,3556)
+LexToken(COMMA,',',1,3557)
+LexToken(VAR,'model',1,3558)
+LexToken(COMMA,',',1,3563)
+LexToken(VAR,'label',1,3564)
+LexToken(COMMA,',',1,3569)
+LexToken(VAR,'gr_i',1,3570)
+LexToken(CLOSEBRACKET,')',1,3574)
+LexToken(EOL,'\n',1,3575)
+LexToken(END,'end',1,3580)
+LexToken(EOL,'\n',1,3583)
+LexToken(ENDFUNCTION,'endfunction',1,3584)
+LexToken(EOL,'\n',1,3595)
+LexToken(EOL,'\n',1,3596)
diff --git a/js/MatrixOp/MATEXPM.js b/js/MatrixOp/MATEXPM.js
new file mode 100644
index 00000000..0b9454cb
--- /dev/null
+++ b/js/MatrixOp/MATEXPM.js
@@ -0,0 +1,495 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATEXPM',1,852)
+LexToken(OPENBRACKET,'(',1,859)
+LexToken(VAR,'job',1,860)
+LexToken(COMMA,',',1,863)
+LexToken(VAR,'arg1',1,864)
+LexToken(COMMA,',',1,868)
+LexToken(VAR,'arg2',1,869)
+LexToken(CLOSEBRACKET,')',1,873)
+LexToken(EOL,'\n',1,874)
+LexToken(EOL,'\n',1,881)
+LexToken(VAR,'x',1,886)
+LexToken(ASSIGNMENT,'=',1,887)
+LexToken(OPENSQBRACKET,'[',1,888)
+LexToken(CLOSESQBRACKET,']',1,889)
+LexToken(SEMICOLON,';',1,890)
+LexToken(EOL,'\n',1,891)
+LexToken(VAR,'y',1,896)
+LexToken(ASSIGNMENT,'=',1,897)
+LexToken(OPENSQBRACKET,'[',1,898)
+LexToken(CLOSESQBRACKET,']',1,899)
+LexToken(SEMICOLON,';',1,900)
+LexToken(EOL,'\n',1,901)
+LexToken(VAR,'typ',1,906)
+LexToken(ASSIGNMENT,'=',1,909)
+LexToken(OPENSQBRACKET,'[',1,910)
+LexToken(CLOSESQBRACKET,']',1,911)
+LexToken(SEMICOLON,';',1,912)
+LexToken(EOL,'\n',1,913)
+LexToken(SELECT,'select',1,918)
+LexToken(VAR,'job',1,925)
+LexToken(EOL,'\n',1,928)
+LexToken(CASE,'case',1,933)
+LexToken(DQSTRING,'"set"',1,942)
+LexToken(THEN,'then',1,944)
+LexToken(EOL,'\n',1,948)
+LexToken(VAR,'x',1,957)
+LexToken(ASSIGNMENT,'=',1,958)
+LexToken(VAR,'arg1',1,959)
+LexToken(EOL,'\n',1,963)
+LexToken(VAR,'graphics',1,972)
+LexToken(ASSIGNMENT,'=',1,980)
+LexToken(VAR,'arg1',1,981)
+LexToken(DOT,'.',1,985)
+LexToken(VAR,'graphics',1,986)
+LexToken(SEMICOLON,';',1,994)
+LexToken(EOL,'\n',1,995)
+LexToken(VAR,'label',1,1004)
+LexToken(ASSIGNMENT,'=',1,1009)
+LexToken(VAR,'graphics',1,1010)
+LexToken(DOT,'.',1,1018)
+LexToken(VAR,'exprs',1,1019)
+LexToken(EOL,'\n',1,1024)
+LexToken(VAR,'model',1,1033)
+LexToken(ASSIGNMENT,'=',1,1038)
+LexToken(VAR,'arg1',1,1039)
+LexToken(DOT,'.',1,1043)
+LexToken(VAR,'model',1,1044)
+LexToken(SEMICOLON,';',1,1049)
+LexToken(EOL,'\n',1,1050)
+LexToken(IF,'if',1,1059)
+LexToken(VAR,'size',1,1062)
+LexToken(OPENBRACKET,'(',1,1066)
+LexToken(VAR,'label',1,1067)
+LexToken(COMMA,',',1,1072)
+LexToken(DQSTRING,'"*"',1,1075)
+LexToken(CLOSEBRACKET,')',1,1076)
+LexToken(COMPARISON,'==',1,1077)
+LexToken(NUMBER,'14',1,1079)
+LexToken(THEN,'then',1,1082)
+LexToken(EOL,'\n',1,1086)
+LexToken(VAR,'label',1,1099)
+LexToken(OPENBRACKET,'(',1,1104)
+LexToken(NUMBER,'9',1,1105)
+LexToken(CLOSEBRACKET,')',1,1106)
+LexToken(ASSIGNMENT,'=',1,1107)
+LexToken(OPENSQBRACKET,'[',1,1108)
+LexToken(CLOSESQBRACKET,']',1,1109)
+LexToken(COMMA,',',1,1110)
+LexToken(EOL,'\n',1,1111)
+LexToken(END,'end',1,1120)
+LexToken(EOL,'\n',1,1138)
+LexToken(WHILE,'while',1,1147)
+LexToken(PREVAR_BOOLEAN,'%t',1,1153)
+LexToken(DO,'do',1,1156)
+LexToken(EOL,'\n',1,1158)
+LexToken(OPENSQBRACKET,'[',1,1171)
+LexToken(VAR,'ok',1,1172)
+LexToken(COMMA,',',1,1174)
+LexToken(VAR,'typ',1,1175)
+LexToken(COMMA,',',1,1178)
+LexToken(VAR,'exprs',1,1179)
+LexToken(CLOSESQBRACKET,']',1,1184)
+LexToken(ASSIGNMENT,'=',1,1185)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1186)
+LexToken(OPENBRACKET,'(',1,1201)
+LexToken(DQSTRING,'"Set EXPM Block"',1,1217)
+LexToken(COMMA,',',1,1218)
+LexToken(OPENSQBRACKET,'[',1,1234)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1270)
+LexToken(CLOSESQBRACKET,']',1,1271)
+LexToken(COMMA,',',1,1272)
+LexToken(VAR,'list',1,1273)
+LexToken(OPENBRACKET,'(',1,1277)
+LexToken(DQSTRING,'"vec"',1,1282)
+LexToken(COMMA,',',1,1283)
+LexToken(NUMBER,'1',1,1284)
+LexToken(CLOSEBRACKET,')',1,1285)
+LexToken(COMMA,',',1,1286)
+LexToken(VAR,'label',1,1287)
+LexToken(CLOSEBRACKET,')',1,1292)
+LexToken(EOL,'\n',1,1293)
+LexToken(IF,'if',1,1306)
+LexToken(NOT,'~',1,1309)
+LexToken(VAR,'ok',1,1310)
+LexToken(THEN,'then',1,1313)
+LexToken(EOL,'\n',1,1317)
+LexToken(BREAK,'break',1,1334)
+LexToken(COMMA,',',1,1339)
+LexToken(EOL,'\n',1,1340)
+LexToken(END,'end',1,1353)
+LexToken(EOL,'\n',1,1356)
+LexToken(IF,'if',1,1369)
+LexToken(OPENBRACKET,'(',1,1372)
+LexToken(VAR,'typ',1,1373)
+LexToken(COMPARISON,'==',1,1376)
+LexToken(NUMBER,'1',1,1378)
+LexToken(CLOSEBRACKET,')',1,1379)
+LexToken(THEN,'then',1,1381)
+LexToken(EOL,'\n',1,1385)
+LexToken(VAR,'function_name',1,1402)
+LexToken(ASSIGNMENT,'=',1,1415)
+LexToken(DQSTRING,'"mat_expm"',1,1425)
+LexToken(SEMICOLON,';',1,1426)
+LexToken(EOL,'\n',1,1427)
+LexToken(VAR,'ot',1,1444)
+LexToken(ASSIGNMENT,'=',1,1446)
+LexToken(NUMBER,'1',1,1447)
+LexToken(SEMICOLON,';',1,1448)
+LexToken(EOL,'\n',1,1449)
+LexToken(VAR,'it',1,1466)
+LexToken(ASSIGNMENT,'=',1,1468)
+LexToken(NUMBER,'1',1,1469)
+LexToken(SEMICOLON,';',1,1470)
+LexToken(EOL,'\n',1,1471)
+LexToken(ELSEIF,'elseif',1,1484)
+LexToken(OPENBRACKET,'(',1,1491)
+LexToken(VAR,'typ',1,1492)
+LexToken(COMPARISON,'==',1,1495)
+LexToken(NUMBER,'2',1,1497)
+LexToken(CLOSEBRACKET,')',1,1498)
+LexToken(THEN,'then',1,1500)
+LexToken(EOL,'\n',1,1504)
+LexToken(VAR,'function_name',1,1521)
+LexToken(ASSIGNMENT,'=',1,1534)
+LexToken(DQSTRING,'"matz_expm"',1,1545)
+LexToken(SEMICOLON,';',1,1546)
+LexToken(EOL,'\n',1,1547)
+LexToken(VAR,'ot',1,1564)
+LexToken(ASSIGNMENT,'=',1,1566)
+LexToken(NUMBER,'2',1,1567)
+LexToken(SEMICOLON,';',1,1568)
+LexToken(EOL,'\n',1,1569)
+LexToken(VAR,'it',1,1586)
+LexToken(ASSIGNMENT,'=',1,1588)
+LexToken(NUMBER,'2',1,1589)
+LexToken(SEMICOLON,';',1,1590)
+LexToken(EOL,'\n',1,1591)
+LexToken(ELSE,'else',1,1604)
+LexToken(EOL,'\n',1,1608)
+LexToken(VAR,'message',1,1625)
+LexToken(OPENBRACKET,'(',1,1632)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1659)
+LexToken(CLOSEBRACKET,')',1,1660)
+LexToken(SEMICOLON,';',1,1661)
+LexToken(EOL,'\n',1,1662)
+LexToken(VAR,'ok',1,1679)
+LexToken(ASSIGNMENT,'=',1,1681)
+LexToken(PREVAR_BOOLEAN,'%f',1,1682)
+LexToken(SEMICOLON,';',1,1684)
+LexToken(EOL,'\n',1,1685)
+LexToken(END,'end',1,1698)
+LexToken(EOL,'\n',1,1701)
+LexToken(VAR,'in',1,1714)
+LexToken(ASSIGNMENT,'=',1,1716)
+LexToken(OPENSQBRACKET,'[',1,1717)
+LexToken(VAR,'model',1,1718)
+LexToken(DOT,'.',1,1723)
+LexToken(VAR,'in',1,1724)
+LexToken(VAR,'model',1,1727)
+LexToken(DOT,'.',1,1732)
+LexToken(VAR,'in2',1,1733)
+LexToken(CLOSESQBRACKET,']',1,1736)
+LexToken(SEMICOLON,';',1,1737)
+LexToken(EOL,'\n',1,1738)
+LexToken(VAR,'out',1,1751)
+LexToken(ASSIGNMENT,'=',1,1754)
+LexToken(OPENSQBRACKET,'[',1,1755)
+LexToken(VAR,'model',1,1756)
+LexToken(DOT,'.',1,1761)
+LexToken(VAR,'out',1,1762)
+LexToken(VAR,'model',1,1766)
+LexToken(DOT,'.',1,1771)
+LexToken(VAR,'out2',1,1772)
+LexToken(CLOSESQBRACKET,']',1,1776)
+LexToken(SEMICOLON,';',1,1777)
+LexToken(EOL,'\n',1,1778)
+LexToken(VAR,'funtyp',1,1791)
+LexToken(ASSIGNMENT,'=',1,1797)
+LexToken(NUMBER,'4',1,1798)
+LexToken(SEMICOLON,';',1,1799)
+LexToken(EOL,'\n',1,1800)
+LexToken(IF,'if',1,1813)
+LexToken(VAR,'ok',1,1816)
+LexToken(THEN,'then',1,1819)
+LexToken(EOL,'\n',1,1823)
+LexToken(VAR,'label',1,1840)
+LexToken(ASSIGNMENT,'=',1,1845)
+LexToken(VAR,'exprs',1,1846)
+LexToken(SEMICOLON,';',1,1851)
+LexToken(EOL,'\n',1,1852)
+LexToken(OPENSQBRACKET,'[',1,1869)
+LexToken(VAR,'model',1,1870)
+LexToken(COMMA,',',1,1875)
+LexToken(VAR,'graphics',1,1876)
+LexToken(COMMA,',',1,1884)
+LexToken(VAR,'ok',1,1885)
+LexToken(CLOSESQBRACKET,']',1,1887)
+LexToken(ASSIGNMENT,'=',1,1888)
+LexToken(VAR,'set_io',1,1889)
+LexToken(OPENBRACKET,'(',1,1895)
+LexToken(VAR,'model',1,1896)
+LexToken(COMMA,',',1,1901)
+LexToken(VAR,'graphics',1,1902)
+LexToken(COMMA,',',1,1910)
+LexToken(VAR,'list',1,1911)
+LexToken(OPENBRACKET,'(',1,1915)
+LexToken(VAR,'in',1,1916)
+LexToken(COMMA,',',1,1918)
+LexToken(VAR,'it',1,1919)
+LexToken(CLOSEBRACKET,')',1,1921)
+LexToken(COMMA,',',1,1922)
+LexToken(VAR,'list',1,1923)
+LexToken(OPENBRACKET,'(',1,1927)
+LexToken(VAR,'out',1,1928)
+LexToken(COMMA,',',1,1931)
+LexToken(VAR,'ot',1,1932)
+LexToken(CLOSEBRACKET,')',1,1934)
+LexToken(COMMA,',',1,1935)
+LexToken(OPENSQBRACKET,'[',1,1936)
+LexToken(CLOSESQBRACKET,']',1,1937)
+LexToken(COMMA,',',1,1938)
+LexToken(OPENSQBRACKET,'[',1,1939)
+LexToken(CLOSESQBRACKET,']',1,1940)
+LexToken(CLOSEBRACKET,')',1,1941)
+LexToken(EOL,'\n',1,1942)
+LexToken(VAR,'model',1,1959)
+LexToken(DOT,'.',1,1964)
+LexToken(VAR,'sim',1,1965)
+LexToken(ASSIGNMENT,'=',1,1968)
+LexToken(VAR,'list',1,1969)
+LexToken(OPENBRACKET,'(',1,1973)
+LexToken(VAR,'function_name',1,1974)
+LexToken(COMMA,',',1,1987)
+LexToken(VAR,'funtyp',1,1988)
+LexToken(CLOSEBRACKET,')',1,1994)
+LexToken(SEMICOLON,';',1,1995)
+LexToken(EOL,'\n',1,1996)
+LexToken(VAR,'graphics',1,2013)
+LexToken(DOT,'.',1,2021)
+LexToken(VAR,'exprs',1,2022)
+LexToken(ASSIGNMENT,'=',1,2027)
+LexToken(VAR,'label',1,2028)
+LexToken(SEMICOLON,';',1,2033)
+LexToken(EOL,'\n',1,2034)
+LexToken(VAR,'arg1',1,2051)
+LexToken(DOT,'.',1,2055)
+LexToken(VAR,'graphics',1,2056)
+LexToken(ASSIGNMENT,'=',1,2064)
+LexToken(VAR,'graphics',1,2065)
+LexToken(SEMICOLON,';',1,2073)
+LexToken(VAR,'arg1',1,2074)
+LexToken(DOT,'.',1,2078)
+LexToken(VAR,'model',1,2079)
+LexToken(ASSIGNMENT,'=',1,2084)
+LexToken(VAR,'model',1,2085)
+LexToken(SEMICOLON,';',1,2090)
+LexToken(EOL,'\n',1,2091)
+LexToken(VAR,'x',1,2108)
+LexToken(ASSIGNMENT,'=',1,2109)
+LexToken(VAR,'arg1',1,2110)
+LexToken(EOL,'\n',1,2114)
+LexToken(BREAK,'break',1,2131)
+LexToken(EOL,'\n',1,2136)
+LexToken(END,'end',1,2149)
+LexToken(EOL,'\n',1,2152)
+LexToken(END,'end',1,2161)
+LexToken(EOL,'\n',1,2164)
+LexToken(CASE,'case',1,2169)
+LexToken(DQSTRING,'"define"',1,2181)
+LexToken(THEN,'then',1,2183)
+LexToken(EOL,'\n',1,2187)
+LexToken(VAR,'model',1,2196)
+LexToken(ASSIGNMENT,'=',1,2201)
+LexToken(SCICOS_MODEL,'scicos_model',1,2202)
+LexToken(OPENBRACKET,'(',1,2214)
+LexToken(CLOSEBRACKET,')',1,2215)
+LexToken(EOL,'\n',1,2216)
+LexToken(VAR,'function_name',1,2225)
+LexToken(ASSIGNMENT,'=',1,2238)
+LexToken(DQSTRING,'"mat_expm"',1,2248)
+LexToken(SEMICOLON,';',1,2249)
+LexToken(EOL,'\n',1,2250)
+LexToken(VAR,'funtyp',1,2259)
+LexToken(ASSIGNMENT,'=',1,2265)
+LexToken(NUMBER,'4',1,2266)
+LexToken(SEMICOLON,';',1,2267)
+LexToken(EOL,'\n',1,2268)
+LexToken(VAR,'model',1,2277)
+LexToken(DOT,'.',1,2282)
+LexToken(VAR,'sim',1,2283)
+LexToken(ASSIGNMENT,'=',1,2286)
+LexToken(VAR,'list',1,2287)
+LexToken(OPENBRACKET,'(',1,2291)
+LexToken(VAR,'function_name',1,2292)
+LexToken(COMMA,',',1,2305)
+LexToken(VAR,'funtyp',1,2306)
+LexToken(CLOSEBRACKET,')',1,2312)
+LexToken(EOL,'\n',1,2313)
+LexToken(EOL,'\n',1,2314)
+LexToken(VAR,'model',1,2323)
+LexToken(DOT,'.',1,2328)
+LexToken(VAR,'in',1,2329)
+LexToken(ASSIGNMENT,'=',1,2331)
+LexToken(NUMBER,'-1',1,2332)
+LexToken(EOL,'\n',1,2334)
+LexToken(VAR,'model',1,2343)
+LexToken(DOT,'.',1,2348)
+LexToken(VAR,'in2',1,2349)
+LexToken(ASSIGNMENT,'=',1,2352)
+LexToken(NUMBER,'-1',1,2353)
+LexToken(EOL,'\n',1,2355)
+LexToken(VAR,'model',1,2364)
+LexToken(DOT,'.',1,2369)
+LexToken(VAR,'intyp',1,2370)
+LexToken(ASSIGNMENT,'=',1,2375)
+LexToken(NUMBER,'1',1,2376)
+LexToken(EOL,'\n',1,2377)
+LexToken(VAR,'model',1,2386)
+LexToken(DOT,'.',1,2391)
+LexToken(VAR,'out',1,2392)
+LexToken(ASSIGNMENT,'=',1,2395)
+LexToken(NUMBER,'-1',1,2396)
+LexToken(EOL,'\n',1,2398)
+LexToken(VAR,'model',1,2407)
+LexToken(DOT,'.',1,2412)
+LexToken(VAR,'out2',1,2413)
+LexToken(ASSIGNMENT,'=',1,2417)
+LexToken(NUMBER,'-1',1,2418)
+LexToken(EOL,'\n',1,2420)
+LexToken(VAR,'model',1,2429)
+LexToken(DOT,'.',1,2434)
+LexToken(VAR,'outtyp',1,2435)
+LexToken(ASSIGNMENT,'=',1,2441)
+LexToken(NUMBER,'1',1,2442)
+LexToken(EOL,'\n',1,2443)
+LexToken(VAR,'model',1,2452)
+LexToken(DOT,'.',1,2457)
+LexToken(VAR,'evtin',1,2458)
+LexToken(ASSIGNMENT,'=',1,2463)
+LexToken(OPENSQBRACKET,'[',1,2464)
+LexToken(CLOSESQBRACKET,']',1,2465)
+LexToken(EOL,'\n',1,2466)
+LexToken(VAR,'model',1,2475)
+LexToken(DOT,'.',1,2480)
+LexToken(VAR,'evtout',1,2481)
+LexToken(ASSIGNMENT,'=',1,2487)
+LexToken(OPENSQBRACKET,'[',1,2488)
+LexToken(CLOSESQBRACKET,']',1,2489)
+LexToken(EOL,'\n',1,2490)
+LexToken(VAR,'model',1,2499)
+LexToken(DOT,'.',1,2504)
+LexToken(VAR,'state',1,2505)
+LexToken(ASSIGNMENT,'=',1,2510)
+LexToken(OPENSQBRACKET,'[',1,2511)
+LexToken(CLOSESQBRACKET,']',1,2512)
+LexToken(EOL,'\n',1,2513)
+LexToken(VAR,'model',1,2522)
+LexToken(DOT,'.',1,2527)
+LexToken(VAR,'dstate',1,2528)
+LexToken(ASSIGNMENT,'=',1,2534)
+LexToken(OPENSQBRACKET,'[',1,2535)
+LexToken(CLOSESQBRACKET,']',1,2536)
+LexToken(EOL,'\n',1,2537)
+LexToken(VAR,'model',1,2546)
+LexToken(DOT,'.',1,2551)
+LexToken(VAR,'rpar',1,2552)
+LexToken(ASSIGNMENT,'=',1,2556)
+LexToken(OPENSQBRACKET,'[',1,2557)
+LexToken(CLOSESQBRACKET,']',1,2558)
+LexToken(EOL,'\n',1,2559)
+LexToken(VAR,'model',1,2568)
+LexToken(DOT,'.',1,2573)
+LexToken(VAR,'ipar',1,2574)
+LexToken(ASSIGNMENT,'=',1,2578)
+LexToken(OPENSQBRACKET,'[',1,2579)
+LexToken(CLOSESQBRACKET,']',1,2580)
+LexToken(EOL,'\n',1,2581)
+LexToken(VAR,'model',1,2590)
+LexToken(DOT,'.',1,2595)
+LexToken(VAR,'blocktype',1,2596)
+LexToken(ASSIGNMENT,'=',1,2605)
+LexToken(DQSTRING,'"c"',1,2608)
+LexToken(EOL,'\n',1,2609)
+LexToken(VAR,'model',1,2618)
+LexToken(DOT,'.',1,2623)
+LexToken(VAR,'firing',1,2624)
+LexToken(ASSIGNMENT,'=',1,2630)
+LexToken(OPENSQBRACKET,'[',1,2631)
+LexToken(CLOSESQBRACKET,']',1,2632)
+LexToken(EOL,'\n',1,2633)
+LexToken(VAR,'model',1,2642)
+LexToken(DOT,'.',1,2647)
+LexToken(VAR,'dep_ut',1,2648)
+LexToken(ASSIGNMENT,'=',1,2654)
+LexToken(OPENSQBRACKET,'[',1,2655)
+LexToken(PREVAR_BOOLEAN,'%t',1,2656)
+LexToken(PREVAR_BOOLEAN,'%f',1,2659)
+LexToken(CLOSESQBRACKET,']',1,2661)
+LexToken(EOL,'\n',1,2662)
+LexToken(VAR,'label',1,2671)
+LexToken(ASSIGNMENT,'=',1,2676)
+LexToken(OPENSQBRACKET,'[',1,2677)
+LexToken(VAR,'sci2exp',1,2678)
+LexToken(OPENBRACKET,'(',1,2685)
+LexToken(NUMBER,'1',1,2686)
+LexToken(CLOSEBRACKET,')',1,2687)
+LexToken(CLOSESQBRACKET,']',1,2688)
+LexToken(SEMICOLON,';',1,2689)
+LexToken(EOL,'\n',1,2690)
+LexToken(VAR,'gr_i',1,2699)
+LexToken(ASSIGNMENT,'=',1,2703)
+LexToken(OPENSQBRACKET,'[',1,2704)
+LexToken(CLOSESQBRACKET,']',1,2705)
+LexToken(EOL,'\n',1,2706)
+LexToken(VAR,'x',1,2715)
+LexToken(ASSIGNMENT,'=',1,2716)
+LexToken(VAR,'standard_define',1,2717)
+LexToken(OPENBRACKET,'(',1,2732)
+LexToken(OPENSQBRACKET,'[',1,2733)
+LexToken(NUMBER,'2',1,2734)
+LexToken(NUMBER,'2',1,2736)
+LexToken(CLOSESQBRACKET,']',1,2737)
+LexToken(COMMA,',',1,2738)
+LexToken(VAR,'model',1,2739)
+LexToken(COMMA,',',1,2744)
+LexToken(VAR,'label',1,2745)
+LexToken(COMMA,',',1,2750)
+LexToken(VAR,'gr_i',1,2751)
+LexToken(CLOSEBRACKET,')',1,2755)
+LexToken(EOL,'\n',1,2756)
+LexToken(END,'end',1,2761)
+LexToken(EOL,'\n',1,2764)
+LexToken(ENDFUNCTION,'endfunction',1,2765)
+LexToken(EOL,'\n',1,2776)
+LexToken(EOL,'\n',1,2777)
diff --git a/js/MatrixOp/MATINV.js b/js/MatrixOp/MATINV.js
new file mode 100644
index 00000000..f086f37b
--- /dev/null
+++ b/js/MatrixOp/MATINV.js
@@ -0,0 +1,496 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATINV',1,852)
+LexToken(OPENBRACKET,'(',1,858)
+LexToken(VAR,'job',1,859)
+LexToken(COMMA,',',1,862)
+LexToken(VAR,'arg1',1,863)
+LexToken(COMMA,',',1,867)
+LexToken(VAR,'arg2',1,868)
+LexToken(CLOSEBRACKET,')',1,872)
+LexToken(EOL,'\n',1,873)
+LexToken(EOL,'\n',1,880)
+LexToken(VAR,'x',1,885)
+LexToken(ASSIGNMENT,'=',1,886)
+LexToken(OPENSQBRACKET,'[',1,887)
+LexToken(CLOSESQBRACKET,']',1,888)
+LexToken(SEMICOLON,';',1,889)
+LexToken(EOL,'\n',1,890)
+LexToken(VAR,'y',1,895)
+LexToken(ASSIGNMENT,'=',1,896)
+LexToken(OPENSQBRACKET,'[',1,897)
+LexToken(CLOSESQBRACKET,']',1,898)
+LexToken(SEMICOLON,';',1,899)
+LexToken(EOL,'\n',1,900)
+LexToken(VAR,'typ',1,905)
+LexToken(ASSIGNMENT,'=',1,908)
+LexToken(OPENSQBRACKET,'[',1,909)
+LexToken(CLOSESQBRACKET,']',1,910)
+LexToken(SEMICOLON,';',1,911)
+LexToken(EOL,'\n',1,912)
+LexToken(SELECT,'select',1,917)
+LexToken(VAR,'job',1,924)
+LexToken(EOL,'\n',1,927)
+LexToken(CASE,'case',1,932)
+LexToken(DQSTRING,'"set"',1,941)
+LexToken(THEN,'then',1,943)
+LexToken(EOL,'\n',1,947)
+LexToken(VAR,'x',1,956)
+LexToken(ASSIGNMENT,'=',1,957)
+LexToken(VAR,'arg1',1,958)
+LexToken(EOL,'\n',1,962)
+LexToken(VAR,'graphics',1,971)
+LexToken(ASSIGNMENT,'=',1,979)
+LexToken(VAR,'arg1',1,980)
+LexToken(DOT,'.',1,984)
+LexToken(VAR,'graphics',1,985)
+LexToken(SEMICOLON,';',1,993)
+LexToken(EOL,'\n',1,994)
+LexToken(VAR,'label',1,1003)
+LexToken(ASSIGNMENT,'=',1,1008)
+LexToken(VAR,'graphics',1,1009)
+LexToken(DOT,'.',1,1017)
+LexToken(VAR,'exprs',1,1018)
+LexToken(EOL,'\n',1,1023)
+LexToken(VAR,'model',1,1032)
+LexToken(ASSIGNMENT,'=',1,1037)
+LexToken(VAR,'arg1',1,1038)
+LexToken(DOT,'.',1,1042)
+LexToken(VAR,'model',1,1043)
+LexToken(SEMICOLON,';',1,1048)
+LexToken(EOL,'\n',1,1049)
+LexToken(IF,'if',1,1058)
+LexToken(VAR,'size',1,1061)
+LexToken(OPENBRACKET,'(',1,1065)
+LexToken(VAR,'label',1,1066)
+LexToken(COMMA,',',1,1071)
+LexToken(DQSTRING,'"*"',1,1074)
+LexToken(CLOSEBRACKET,')',1,1075)
+LexToken(COMPARISON,'==',1,1076)
+LexToken(NUMBER,'14',1,1078)
+LexToken(THEN,'then',1,1081)
+LexToken(EOL,'\n',1,1085)
+LexToken(VAR,'label',1,1098)
+LexToken(OPENBRACKET,'(',1,1103)
+LexToken(NUMBER,'9',1,1104)
+LexToken(CLOSEBRACKET,')',1,1105)
+LexToken(ASSIGNMENT,'=',1,1106)
+LexToken(OPENSQBRACKET,'[',1,1107)
+LexToken(CLOSESQBRACKET,']',1,1108)
+LexToken(COMMA,',',1,1109)
+LexToken(EOL,'\n',1,1110)
+LexToken(END,'end',1,1119)
+LexToken(EOL,'\n',1,1137)
+LexToken(WHILE,'while',1,1146)
+LexToken(PREVAR_BOOLEAN,'%t',1,1152)
+LexToken(DO,'do',1,1155)
+LexToken(EOL,'\n',1,1157)
+LexToken(OPENSQBRACKET,'[',1,1170)
+LexToken(VAR,'ok',1,1171)
+LexToken(COMMA,',',1,1173)
+LexToken(VAR,'typ',1,1174)
+LexToken(COMMA,',',1,1177)
+LexToken(VAR,'exprs',1,1178)
+LexToken(CLOSESQBRACKET,']',1,1183)
+LexToken(ASSIGNMENT,'=',1,1184)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1185)
+LexToken(OPENBRACKET,'(',1,1200)
+LexToken(DQSTRING,'"Set MATINV Block"',1,1218)
+LexToken(COMMA,',',1,1219)
+LexToken(OPENSQBRACKET,'[',1,1235)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1271)
+LexToken(CLOSESQBRACKET,']',1,1272)
+LexToken(COMMA,',',1,1273)
+LexToken(VAR,'list',1,1274)
+LexToken(OPENBRACKET,'(',1,1278)
+LexToken(DQSTRING,'"vec"',1,1283)
+LexToken(COMMA,',',1,1284)
+LexToken(NUMBER,'1',1,1285)
+LexToken(CLOSEBRACKET,')',1,1286)
+LexToken(COMMA,',',1,1287)
+LexToken(VAR,'label',1,1288)
+LexToken(CLOSEBRACKET,')',1,1293)
+LexToken(EOL,'\n',1,1294)
+LexToken(IF,'if',1,1307)
+LexToken(NOT,'~',1,1310)
+LexToken(VAR,'ok',1,1311)
+LexToken(THEN,'then',1,1314)
+LexToken(EOL,'\n',1,1318)
+LexToken(BREAK,'break',1,1335)
+LexToken(COMMA,',',1,1340)
+LexToken(EOL,'\n',1,1341)
+LexToken(END,'end',1,1354)
+LexToken(EOL,'\n',1,1357)
+LexToken(IF,'if',1,1370)
+LexToken(OPENBRACKET,'(',1,1373)
+LexToken(VAR,'typ',1,1374)
+LexToken(COMPARISON,'==',1,1377)
+LexToken(NUMBER,'1',1,1379)
+LexToken(CLOSEBRACKET,')',1,1380)
+LexToken(THEN,'then',1,1382)
+LexToken(EOL,'\n',1,1386)
+LexToken(VAR,'function_name',1,1403)
+LexToken(ASSIGNMENT,'=',1,1416)
+LexToken(DQSTRING,'"mat_inv"',1,1425)
+LexToken(SEMICOLON,';',1,1426)
+LexToken(EOL,'\n',1,1427)
+LexToken(VAR,'ot',1,1444)
+LexToken(ASSIGNMENT,'=',1,1446)
+LexToken(NUMBER,'1',1,1447)
+LexToken(SEMICOLON,';',1,1448)
+LexToken(EOL,'\n',1,1449)
+LexToken(VAR,'it',1,1466)
+LexToken(ASSIGNMENT,'=',1,1468)
+LexToken(NUMBER,'1',1,1469)
+LexToken(SEMICOLON,';',1,1470)
+LexToken(EOL,'\n',1,1471)
+LexToken(ELSEIF,'elseif',1,1484)
+LexToken(OPENBRACKET,'(',1,1491)
+LexToken(VAR,'typ',1,1492)
+LexToken(COMPARISON,'==',1,1495)
+LexToken(NUMBER,'2',1,1497)
+LexToken(CLOSEBRACKET,')',1,1498)
+LexToken(THEN,'then',1,1500)
+LexToken(EOL,'\n',1,1504)
+LexToken(VAR,'function_name',1,1521)
+LexToken(ASSIGNMENT,'=',1,1534)
+LexToken(DQSTRING,'"matz_inv"',1,1544)
+LexToken(SEMICOLON,';',1,1545)
+LexToken(EOL,'\n',1,1546)
+LexToken(VAR,'ot',1,1563)
+LexToken(ASSIGNMENT,'=',1,1565)
+LexToken(NUMBER,'2',1,1566)
+LexToken(SEMICOLON,';',1,1567)
+LexToken(EOL,'\n',1,1568)
+LexToken(VAR,'it',1,1585)
+LexToken(ASSIGNMENT,'=',1,1587)
+LexToken(NUMBER,'2',1,1588)
+LexToken(SEMICOLON,';',1,1589)
+LexToken(EOL,'\n',1,1590)
+LexToken(ELSE,'else',1,1603)
+LexToken(EOL,'\n',1,1607)
+LexToken(VAR,'message',1,1624)
+LexToken(OPENBRACKET,'(',1,1631)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1658)
+LexToken(CLOSEBRACKET,')',1,1659)
+LexToken(SEMICOLON,';',1,1660)
+LexToken(EOL,'\n',1,1661)
+LexToken(VAR,'ok',1,1678)
+LexToken(ASSIGNMENT,'=',1,1680)
+LexToken(PREVAR_BOOLEAN,'%f',1,1681)
+LexToken(SEMICOLON,';',1,1683)
+LexToken(EOL,'\n',1,1684)
+LexToken(END,'end',1,1697)
+LexToken(EOL,'\n',1,1700)
+LexToken(VAR,'in',1,1713)
+LexToken(ASSIGNMENT,'=',1,1715)
+LexToken(OPENSQBRACKET,'[',1,1716)
+LexToken(VAR,'model',1,1717)
+LexToken(DOT,'.',1,1722)
+LexToken(VAR,'in',1,1723)
+LexToken(VAR,'model',1,1726)
+LexToken(DOT,'.',1,1731)
+LexToken(VAR,'in2',1,1732)
+LexToken(CLOSESQBRACKET,']',1,1735)
+LexToken(SEMICOLON,';',1,1736)
+LexToken(EOL,'\n',1,1737)
+LexToken(VAR,'out',1,1750)
+LexToken(ASSIGNMENT,'=',1,1753)
+LexToken(OPENSQBRACKET,'[',1,1754)
+LexToken(VAR,'model',1,1755)
+LexToken(DOT,'.',1,1760)
+LexToken(VAR,'out',1,1761)
+LexToken(VAR,'model',1,1765)
+LexToken(DOT,'.',1,1770)
+LexToken(VAR,'out2',1,1771)
+LexToken(CLOSESQBRACKET,']',1,1775)
+LexToken(SEMICOLON,';',1,1776)
+LexToken(EOL,'\n',1,1777)
+LexToken(VAR,'funtyp',1,1790)
+LexToken(ASSIGNMENT,'=',1,1796)
+LexToken(NUMBER,'4',1,1797)
+LexToken(SEMICOLON,';',1,1798)
+LexToken(EOL,'\n',1,1799)
+LexToken(IF,'if',1,1812)
+LexToken(VAR,'ok',1,1815)
+LexToken(THEN,'then',1,1818)
+LexToken(EOL,'\n',1,1822)
+LexToken(VAR,'label',1,1839)
+LexToken(ASSIGNMENT,'=',1,1844)
+LexToken(VAR,'exprs',1,1845)
+LexToken(SEMICOLON,';',1,1850)
+LexToken(EOL,'\n',1,1851)
+LexToken(OPENSQBRACKET,'[',1,1868)
+LexToken(VAR,'model',1,1869)
+LexToken(COMMA,',',1,1874)
+LexToken(VAR,'graphics',1,1875)
+LexToken(COMMA,',',1,1883)
+LexToken(VAR,'ok',1,1884)
+LexToken(CLOSESQBRACKET,']',1,1886)
+LexToken(ASSIGNMENT,'=',1,1887)
+LexToken(VAR,'set_io',1,1888)
+LexToken(OPENBRACKET,'(',1,1894)
+LexToken(VAR,'model',1,1895)
+LexToken(COMMA,',',1,1900)
+LexToken(VAR,'graphics',1,1901)
+LexToken(COMMA,',',1,1909)
+LexToken(VAR,'list',1,1910)
+LexToken(OPENBRACKET,'(',1,1914)
+LexToken(VAR,'in',1,1915)
+LexToken(COMMA,',',1,1917)
+LexToken(VAR,'it',1,1918)
+LexToken(CLOSEBRACKET,')',1,1920)
+LexToken(COMMA,',',1,1921)
+LexToken(VAR,'list',1,1922)
+LexToken(OPENBRACKET,'(',1,1926)
+LexToken(VAR,'out',1,1927)
+LexToken(COMMA,',',1,1930)
+LexToken(VAR,'ot',1,1931)
+LexToken(CLOSEBRACKET,')',1,1933)
+LexToken(COMMA,',',1,1934)
+LexToken(OPENSQBRACKET,'[',1,1935)
+LexToken(CLOSESQBRACKET,']',1,1936)
+LexToken(COMMA,',',1,1937)
+LexToken(OPENSQBRACKET,'[',1,1938)
+LexToken(CLOSESQBRACKET,']',1,1939)
+LexToken(CLOSEBRACKET,')',1,1940)
+LexToken(EOL,'\n',1,1941)
+LexToken(VAR,'model',1,1958)
+LexToken(DOT,'.',1,1963)
+LexToken(VAR,'sim',1,1964)
+LexToken(ASSIGNMENT,'=',1,1967)
+LexToken(VAR,'list',1,1968)
+LexToken(OPENBRACKET,'(',1,1972)
+LexToken(VAR,'function_name',1,1973)
+LexToken(COMMA,',',1,1986)
+LexToken(VAR,'funtyp',1,1987)
+LexToken(CLOSEBRACKET,')',1,1993)
+LexToken(SEMICOLON,';',1,1994)
+LexToken(EOL,'\n',1,1995)
+LexToken(VAR,'graphics',1,2012)
+LexToken(DOT,'.',1,2020)
+LexToken(VAR,'exprs',1,2021)
+LexToken(ASSIGNMENT,'=',1,2026)
+LexToken(VAR,'label',1,2027)
+LexToken(SEMICOLON,';',1,2032)
+LexToken(EOL,'\n',1,2033)
+LexToken(VAR,'arg1',1,2050)
+LexToken(DOT,'.',1,2054)
+LexToken(VAR,'graphics',1,2055)
+LexToken(ASSIGNMENT,'=',1,2063)
+LexToken(VAR,'graphics',1,2064)
+LexToken(SEMICOLON,';',1,2072)
+LexToken(EOL,'\n',1,2073)
+LexToken(VAR,'arg1',1,2090)
+LexToken(DOT,'.',1,2094)
+LexToken(VAR,'model',1,2095)
+LexToken(ASSIGNMENT,'=',1,2100)
+LexToken(VAR,'model',1,2101)
+LexToken(SEMICOLON,';',1,2106)
+LexToken(EOL,'\n',1,2107)
+LexToken(VAR,'x',1,2124)
+LexToken(ASSIGNMENT,'=',1,2125)
+LexToken(VAR,'arg1',1,2126)
+LexToken(EOL,'\n',1,2130)
+LexToken(BREAK,'break',1,2147)
+LexToken(EOL,'\n',1,2152)
+LexToken(END,'end',1,2165)
+LexToken(EOL,'\n',1,2168)
+LexToken(END,'end',1,2177)
+LexToken(EOL,'\n',1,2180)
+LexToken(CASE,'case',1,2185)
+LexToken(DQSTRING,'"define"',1,2197)
+LexToken(THEN,'then',1,2199)
+LexToken(EOL,'\n',1,2203)
+LexToken(VAR,'model',1,2212)
+LexToken(ASSIGNMENT,'=',1,2217)
+LexToken(SCICOS_MODEL,'scicos_model',1,2218)
+LexToken(OPENBRACKET,'(',1,2230)
+LexToken(CLOSEBRACKET,')',1,2231)
+LexToken(EOL,'\n',1,2232)
+LexToken(VAR,'function_name',1,2241)
+LexToken(ASSIGNMENT,'=',1,2254)
+LexToken(DQSTRING,'"mat_inv"',1,2263)
+LexToken(SEMICOLON,';',1,2264)
+LexToken(EOL,'\n',1,2265)
+LexToken(VAR,'funtyp',1,2274)
+LexToken(ASSIGNMENT,'=',1,2280)
+LexToken(NUMBER,'4',1,2281)
+LexToken(SEMICOLON,';',1,2282)
+LexToken(EOL,'\n',1,2283)
+LexToken(VAR,'model',1,2292)
+LexToken(DOT,'.',1,2297)
+LexToken(VAR,'sim',1,2298)
+LexToken(ASSIGNMENT,'=',1,2301)
+LexToken(VAR,'list',1,2302)
+LexToken(OPENBRACKET,'(',1,2306)
+LexToken(VAR,'function_name',1,2307)
+LexToken(COMMA,',',1,2320)
+LexToken(VAR,'funtyp',1,2321)
+LexToken(CLOSEBRACKET,')',1,2327)
+LexToken(EOL,'\n',1,2328)
+LexToken(EOL,'\n',1,2329)
+LexToken(VAR,'model',1,2338)
+LexToken(DOT,'.',1,2343)
+LexToken(VAR,'in',1,2344)
+LexToken(ASSIGNMENT,'=',1,2346)
+LexToken(NUMBER,'-1',1,2347)
+LexToken(EOL,'\n',1,2349)
+LexToken(VAR,'model',1,2358)
+LexToken(DOT,'.',1,2363)
+LexToken(VAR,'in2',1,2364)
+LexToken(ASSIGNMENT,'=',1,2367)
+LexToken(NUMBER,'-1',1,2368)
+LexToken(EOL,'\n',1,2370)
+LexToken(VAR,'model',1,2379)
+LexToken(DOT,'.',1,2384)
+LexToken(VAR,'intyp',1,2385)
+LexToken(ASSIGNMENT,'=',1,2390)
+LexToken(NUMBER,'1',1,2391)
+LexToken(EOL,'\n',1,2392)
+LexToken(VAR,'model',1,2401)
+LexToken(DOT,'.',1,2406)
+LexToken(VAR,'out',1,2407)
+LexToken(ASSIGNMENT,'=',1,2410)
+LexToken(NUMBER,'-1',1,2411)
+LexToken(EOL,'\n',1,2413)
+LexToken(VAR,'model',1,2422)
+LexToken(DOT,'.',1,2427)
+LexToken(VAR,'out2',1,2428)
+LexToken(ASSIGNMENT,'=',1,2432)
+LexToken(NUMBER,'-1',1,2433)
+LexToken(EOL,'\n',1,2435)
+LexToken(VAR,'model',1,2444)
+LexToken(DOT,'.',1,2449)
+LexToken(VAR,'outtyp',1,2450)
+LexToken(ASSIGNMENT,'=',1,2456)
+LexToken(NUMBER,'1',1,2457)
+LexToken(EOL,'\n',1,2458)
+LexToken(VAR,'model',1,2467)
+LexToken(DOT,'.',1,2472)
+LexToken(VAR,'evtin',1,2473)
+LexToken(ASSIGNMENT,'=',1,2478)
+LexToken(OPENSQBRACKET,'[',1,2479)
+LexToken(CLOSESQBRACKET,']',1,2480)
+LexToken(EOL,'\n',1,2481)
+LexToken(VAR,'model',1,2490)
+LexToken(DOT,'.',1,2495)
+LexToken(VAR,'evtout',1,2496)
+LexToken(ASSIGNMENT,'=',1,2502)
+LexToken(OPENSQBRACKET,'[',1,2503)
+LexToken(CLOSESQBRACKET,']',1,2504)
+LexToken(EOL,'\n',1,2505)
+LexToken(VAR,'model',1,2514)
+LexToken(DOT,'.',1,2519)
+LexToken(VAR,'state',1,2520)
+LexToken(ASSIGNMENT,'=',1,2525)
+LexToken(OPENSQBRACKET,'[',1,2526)
+LexToken(CLOSESQBRACKET,']',1,2527)
+LexToken(EOL,'\n',1,2528)
+LexToken(VAR,'model',1,2537)
+LexToken(DOT,'.',1,2542)
+LexToken(VAR,'dstate',1,2543)
+LexToken(ASSIGNMENT,'=',1,2549)
+LexToken(OPENSQBRACKET,'[',1,2550)
+LexToken(CLOSESQBRACKET,']',1,2551)
+LexToken(EOL,'\n',1,2552)
+LexToken(VAR,'model',1,2561)
+LexToken(DOT,'.',1,2566)
+LexToken(VAR,'rpar',1,2567)
+LexToken(ASSIGNMENT,'=',1,2571)
+LexToken(OPENSQBRACKET,'[',1,2572)
+LexToken(CLOSESQBRACKET,']',1,2573)
+LexToken(EOL,'\n',1,2574)
+LexToken(VAR,'model',1,2583)
+LexToken(DOT,'.',1,2588)
+LexToken(VAR,'ipar',1,2589)
+LexToken(ASSIGNMENT,'=',1,2593)
+LexToken(OPENSQBRACKET,'[',1,2594)
+LexToken(CLOSESQBRACKET,']',1,2595)
+LexToken(EOL,'\n',1,2596)
+LexToken(VAR,'model',1,2605)
+LexToken(DOT,'.',1,2610)
+LexToken(VAR,'blocktype',1,2611)
+LexToken(ASSIGNMENT,'=',1,2620)
+LexToken(DQSTRING,'"c"',1,2623)
+LexToken(EOL,'\n',1,2624)
+LexToken(VAR,'model',1,2633)
+LexToken(DOT,'.',1,2638)
+LexToken(VAR,'firing',1,2639)
+LexToken(ASSIGNMENT,'=',1,2645)
+LexToken(OPENSQBRACKET,'[',1,2646)
+LexToken(CLOSESQBRACKET,']',1,2647)
+LexToken(EOL,'\n',1,2648)
+LexToken(VAR,'model',1,2657)
+LexToken(DOT,'.',1,2662)
+LexToken(VAR,'dep_ut',1,2663)
+LexToken(ASSIGNMENT,'=',1,2669)
+LexToken(OPENSQBRACKET,'[',1,2670)
+LexToken(PREVAR_BOOLEAN,'%t',1,2671)
+LexToken(PREVAR_BOOLEAN,'%f',1,2674)
+LexToken(CLOSESQBRACKET,']',1,2676)
+LexToken(EOL,'\n',1,2677)
+LexToken(VAR,'label',1,2686)
+LexToken(ASSIGNMENT,'=',1,2691)
+LexToken(OPENSQBRACKET,'[',1,2692)
+LexToken(VAR,'sci2exp',1,2693)
+LexToken(OPENBRACKET,'(',1,2700)
+LexToken(NUMBER,'1',1,2701)
+LexToken(CLOSEBRACKET,')',1,2702)
+LexToken(CLOSESQBRACKET,']',1,2703)
+LexToken(SEMICOLON,';',1,2704)
+LexToken(EOL,'\n',1,2705)
+LexToken(VAR,'gr_i',1,2714)
+LexToken(ASSIGNMENT,'=',1,2718)
+LexToken(OPENSQBRACKET,'[',1,2719)
+LexToken(CLOSESQBRACKET,']',1,2720)
+LexToken(EOL,'\n',1,2721)
+LexToken(VAR,'x',1,2730)
+LexToken(ASSIGNMENT,'=',1,2731)
+LexToken(VAR,'standard_define',1,2732)
+LexToken(OPENBRACKET,'(',1,2747)
+LexToken(OPENSQBRACKET,'[',1,2748)
+LexToken(NUMBER,'2',1,2749)
+LexToken(NUMBER,'2',1,2751)
+LexToken(CLOSESQBRACKET,']',1,2752)
+LexToken(COMMA,',',1,2753)
+LexToken(VAR,'model',1,2754)
+LexToken(COMMA,',',1,2759)
+LexToken(VAR,'label',1,2760)
+LexToken(COMMA,',',1,2765)
+LexToken(VAR,'gr_i',1,2766)
+LexToken(CLOSEBRACKET,')',1,2770)
+LexToken(EOL,'\n',1,2771)
+LexToken(END,'end',1,2776)
+LexToken(EOL,'\n',1,2779)
+LexToken(ENDFUNCTION,'endfunction',1,2780)
+LexToken(EOL,'\n',1,2791)
+LexToken(EOL,'\n',1,2792)
diff --git a/js/MatrixOp/MATLU.js b/js/MatrixOp/MATLU.js
new file mode 100644
index 00000000..2b58fee2
--- /dev/null
+++ b/js/MatrixOp/MATLU.js
@@ -0,0 +1,499 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATLU',1,852)
+LexToken(OPENBRACKET,'(',1,857)
+LexToken(VAR,'job',1,858)
+LexToken(COMMA,',',1,861)
+LexToken(VAR,'arg1',1,862)
+LexToken(COMMA,',',1,866)
+LexToken(VAR,'arg2',1,867)
+LexToken(CLOSEBRACKET,')',1,871)
+LexToken(EOL,'\n',1,872)
+LexToken(EOL,'\n',1,879)
+LexToken(VAR,'x',1,884)
+LexToken(ASSIGNMENT,'=',1,885)
+LexToken(OPENSQBRACKET,'[',1,886)
+LexToken(CLOSESQBRACKET,']',1,887)
+LexToken(SEMICOLON,';',1,888)
+LexToken(EOL,'\n',1,889)
+LexToken(VAR,'y',1,894)
+LexToken(ASSIGNMENT,'=',1,895)
+LexToken(OPENSQBRACKET,'[',1,896)
+LexToken(CLOSESQBRACKET,']',1,897)
+LexToken(SEMICOLON,';',1,898)
+LexToken(EOL,'\n',1,899)
+LexToken(VAR,'typ',1,904)
+LexToken(ASSIGNMENT,'=',1,907)
+LexToken(OPENSQBRACKET,'[',1,908)
+LexToken(CLOSESQBRACKET,']',1,909)
+LexToken(SEMICOLON,';',1,910)
+LexToken(EOL,'\n',1,911)
+LexToken(SELECT,'select',1,916)
+LexToken(VAR,'job',1,923)
+LexToken(EOL,'\n',1,926)
+LexToken(CASE,'case',1,931)
+LexToken(DQSTRING,'"set"',1,940)
+LexToken(THEN,'then',1,942)
+LexToken(EOL,'\n',1,946)
+LexToken(VAR,'x',1,955)
+LexToken(ASSIGNMENT,'=',1,956)
+LexToken(VAR,'arg1',1,957)
+LexToken(EOL,'\n',1,961)
+LexToken(VAR,'model',1,970)
+LexToken(ASSIGNMENT,'=',1,975)
+LexToken(VAR,'arg1',1,976)
+LexToken(DOT,'.',1,980)
+LexToken(VAR,'model',1,981)
+LexToken(SEMICOLON,';',1,986)
+LexToken(EOL,'\n',1,987)
+LexToken(VAR,'graphics',1,996)
+LexToken(ASSIGNMENT,'=',1,1004)
+LexToken(VAR,'arg1',1,1005)
+LexToken(DOT,'.',1,1009)
+LexToken(VAR,'graphics',1,1010)
+LexToken(SEMICOLON,';',1,1018)
+LexToken(EOL,'\n',1,1019)
+LexToken(VAR,'label',1,1028)
+LexToken(ASSIGNMENT,'=',1,1033)
+LexToken(VAR,'graphics',1,1034)
+LexToken(DOT,'.',1,1042)
+LexToken(VAR,'exprs',1,1043)
+LexToken(EOL,'\n',1,1048)
+LexToken(IF,'if',1,1057)
+LexToken(VAR,'size',1,1060)
+LexToken(OPENBRACKET,'(',1,1064)
+LexToken(VAR,'label',1,1065)
+LexToken(COMMA,',',1,1070)
+LexToken(DQSTRING,'"*"',1,1073)
+LexToken(CLOSEBRACKET,')',1,1074)
+LexToken(COMPARISON,'==',1,1075)
+LexToken(NUMBER,'14',1,1077)
+LexToken(THEN,'then',1,1080)
+LexToken(EOL,'\n',1,1084)
+LexToken(VAR,'label',1,1097)
+LexToken(OPENBRACKET,'(',1,1102)
+LexToken(NUMBER,'9',1,1103)
+LexToken(CLOSEBRACKET,')',1,1104)
+LexToken(ASSIGNMENT,'=',1,1105)
+LexToken(OPENSQBRACKET,'[',1,1106)
+LexToken(CLOSESQBRACKET,']',1,1107)
+LexToken(COMMA,',',1,1108)
+LexToken(EOL,'\n',1,1109)
+LexToken(END,'end',1,1118)
+LexToken(EOL,'\n',1,1136)
+LexToken(WHILE,'while',1,1145)
+LexToken(PREVAR_BOOLEAN,'%t',1,1151)
+LexToken(DO,'do',1,1154)
+LexToken(EOL,'\n',1,1156)
+LexToken(OPENSQBRACKET,'[',1,1169)
+LexToken(VAR,'ok',1,1170)
+LexToken(COMMA,',',1,1172)
+LexToken(VAR,'typ',1,1173)
+LexToken(COMMA,',',1,1176)
+LexToken(VAR,'lab',1,1177)
+LexToken(CLOSESQBRACKET,']',1,1180)
+LexToken(ASSIGNMENT,'=',1,1181)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1197)
+LexToken(OPENBRACKET,'(',1,1212)
+LexToken(DQSTRING,'"Set MATLU block parameters"',1,1240)
+LexToken(COMMA,',',1,1241)
+LexToken(OPENSQBRACKET,'[',1,1242)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1278)
+LexToken(CLOSESQBRACKET,']',1,1279)
+LexToken(COMMA,',',1,1280)
+LexToken(VAR,'list',1,1281)
+LexToken(OPENBRACKET,'(',1,1285)
+LexToken(DQSTRING,'"vec"',1,1290)
+LexToken(COMMA,',',1,1291)
+LexToken(NUMBER,'1',1,1292)
+LexToken(CLOSEBRACKET,')',1,1293)
+LexToken(COMMA,',',1,1294)
+LexToken(VAR,'label',1,1295)
+LexToken(CLOSEBRACKET,')',1,1300)
+LexToken(SEMICOLON,';',1,1301)
+LexToken(EOL,'\n',1,1302)
+LexToken(IF,'if',1,1315)
+LexToken(NOT,'~',1,1318)
+LexToken(VAR,'ok',1,1319)
+LexToken(THEN,'then',1,1322)
+LexToken(EOL,'\n',1,1326)
+LexToken(BREAK,'break',1,1343)
+LexToken(COMMA,',',1,1348)
+LexToken(EOL,'\n',1,1349)
+LexToken(END,'end',1,1362)
+LexToken(EOL,'\n',1,1365)
+LexToken(IF,'if',1,1378)
+LexToken(OPENBRACKET,'(',1,1381)
+LexToken(VAR,'typ',1,1382)
+LexToken(COMPARISON,'==',1,1385)
+LexToken(NUMBER,'1',1,1387)
+LexToken(CLOSEBRACKET,')',1,1388)
+LexToken(THEN,'then',1,1390)
+LexToken(EOL,'\n',1,1394)
+LexToken(VAR,'function_name',1,1411)
+LexToken(ASSIGNMENT,'=',1,1424)
+LexToken(DQSTRING,'"mat_lu"',1,1432)
+LexToken(SEMICOLON,';',1,1433)
+LexToken(EOL,'\n',1,1434)
+LexToken(VAR,'ot',1,1451)
+LexToken(ASSIGNMENT,'=',1,1453)
+LexToken(OPENSQBRACKET,'[',1,1454)
+LexToken(NUMBER,'1',1,1455)
+LexToken(NUMBER,'1',1,1457)
+LexToken(CLOSESQBRACKET,']',1,1458)
+LexToken(SEMICOLON,';',1,1459)
+LexToken(EOL,'\n',1,1460)
+LexToken(VAR,'it',1,1477)
+LexToken(ASSIGNMENT,'=',1,1479)
+LexToken(NUMBER,'1',1,1480)
+LexToken(SEMICOLON,';',1,1481)
+LexToken(EOL,'\n',1,1482)
+LexToken(ELSEIF,'elseif',1,1495)
+LexToken(OPENBRACKET,'(',1,1502)
+LexToken(VAR,'typ',1,1503)
+LexToken(COMPARISON,'==',1,1506)
+LexToken(NUMBER,'2',1,1508)
+LexToken(CLOSEBRACKET,')',1,1509)
+LexToken(THEN,'then',1,1511)
+LexToken(EOL,'\n',1,1515)
+LexToken(VAR,'function_name',1,1532)
+LexToken(ASSIGNMENT,'=',1,1545)
+LexToken(DQSTRING,'"matz_lu"',1,1554)
+LexToken(SEMICOLON,';',1,1555)
+LexToken(EOL,'\n',1,1556)
+LexToken(VAR,'ot',1,1573)
+LexToken(ASSIGNMENT,'=',1,1575)
+LexToken(OPENSQBRACKET,'[',1,1576)
+LexToken(NUMBER,'2',1,1577)
+LexToken(NUMBER,'2',1,1579)
+LexToken(CLOSESQBRACKET,']',1,1580)
+LexToken(SEMICOLON,';',1,1581)
+LexToken(EOL,'\n',1,1582)
+LexToken(VAR,'it',1,1599)
+LexToken(ASSIGNMENT,'=',1,1601)
+LexToken(NUMBER,'2',1,1602)
+LexToken(SEMICOLON,';',1,1603)
+LexToken(EOL,'\n',1,1604)
+LexToken(ELSE,'else',1,1617)
+LexToken(EOL,'\n',1,1621)
+LexToken(VAR,'message',1,1638)
+LexToken(OPENBRACKET,'(',1,1645)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1672)
+LexToken(CLOSEBRACKET,')',1,1673)
+LexToken(SEMICOLON,';',1,1674)
+LexToken(EOL,'\n',1,1675)
+LexToken(VAR,'ok',1,1692)
+LexToken(ASSIGNMENT,'=',1,1694)
+LexToken(PREVAR_BOOLEAN,'%f',1,1695)
+LexToken(SEMICOLON,';',1,1697)
+LexToken(EOL,'\n',1,1698)
+LexToken(END,'end',1,1711)
+LexToken(EOL,'\n',1,1714)
+LexToken(IF,'if',1,1727)
+LexToken(VAR,'ok',1,1730)
+LexToken(THEN,'then',1,1733)
+LexToken(EOL,'\n',1,1737)
+LexToken(OPENSQBRACKET,'[',1,1754)
+LexToken(VAR,'model',1,1755)
+LexToken(COMMA,',',1,1760)
+LexToken(VAR,'graphics',1,1761)
+LexToken(COMMA,',',1,1769)
+LexToken(VAR,'ok',1,1770)
+LexToken(CLOSESQBRACKET,']',1,1772)
+LexToken(ASSIGNMENT,'=',1,1773)
+LexToken(VAR,'set_io',1,1774)
+LexToken(OPENBRACKET,'(',1,1780)
+LexToken(VAR,'model',1,1781)
+LexToken(COMMA,',',1,1786)
+LexToken(VAR,'graphics',1,1787)
+LexToken(COMMA,',',1,1795)
+LexToken(VAR,'list',1,1796)
+LexToken(OPENBRACKET,'(',1,1800)
+LexToken(OPENSQBRACKET,'[',1,1801)
+LexToken(VAR,'model',1,1802)
+LexToken(DOT,'.',1,1807)
+LexToken(VAR,'in',1,1808)
+LexToken(VAR,'model',1,1811)
+LexToken(DOT,'.',1,1816)
+LexToken(VAR,'in2',1,1817)
+LexToken(CLOSESQBRACKET,']',1,1820)
+LexToken(COMMA,',',1,1821)
+LexToken(VAR,'it',1,1822)
+LexToken(CLOSEBRACKET,')',1,1824)
+LexToken(COMMA,',',1,1825)
+LexToken(VAR,'list',1,1826)
+LexToken(OPENBRACKET,'(',1,1830)
+LexToken(OPENSQBRACKET,'[',1,1831)
+LexToken(VAR,'model',1,1832)
+LexToken(DOT,'.',1,1837)
+LexToken(VAR,'out',1,1838)
+LexToken(VAR,'model',1,1842)
+LexToken(DOT,'.',1,1847)
+LexToken(VAR,'out2',1,1848)
+LexToken(CLOSESQBRACKET,']',1,1852)
+LexToken(COMMA,',',1,1853)
+LexToken(VAR,'ot',1,1854)
+LexToken(CLOSEBRACKET,')',1,1856)
+LexToken(COMMA,',',1,1857)
+LexToken(OPENSQBRACKET,'[',1,1858)
+LexToken(CLOSESQBRACKET,']',1,1859)
+LexToken(COMMA,',',1,1860)
+LexToken(OPENSQBRACKET,'[',1,1861)
+LexToken(CLOSESQBRACKET,']',1,1862)
+LexToken(CLOSEBRACKET,')',1,1863)
+LexToken(EOL,'\n',1,1864)
+LexToken(END,'end',1,1877)
+LexToken(EOL,'\n',1,1880)
+LexToken(IF,'if',1,1893)
+LexToken(VAR,'ok',1,1896)
+LexToken(THEN,'then',1,1899)
+LexToken(EOL,'\n',1,1903)
+LexToken(VAR,'funtyp',1,1920)
+LexToken(ASSIGNMENT,'=',1,1926)
+LexToken(NUMBER,'4',1,1927)
+LexToken(SEMICOLON,';',1,1928)
+LexToken(EOL,'\n',1,1929)
+LexToken(VAR,'model',1,1946)
+LexToken(DOT,'.',1,1951)
+LexToken(VAR,'sim',1,1952)
+LexToken(ASSIGNMENT,'=',1,1955)
+LexToken(VAR,'list',1,1956)
+LexToken(OPENBRACKET,'(',1,1960)
+LexToken(VAR,'function_name',1,1961)
+LexToken(COMMA,',',1,1974)
+LexToken(VAR,'funtyp',1,1975)
+LexToken(CLOSEBRACKET,')',1,1981)
+LexToken(EOL,'\n',1,1982)
+LexToken(VAR,'graphics',1,1999)
+LexToken(DOT,'.',1,2007)
+LexToken(VAR,'exprs',1,2008)
+LexToken(ASSIGNMENT,'=',1,2013)
+LexToken(VAR,'lab',1,2014)
+LexToken(SEMICOLON,';',1,2017)
+LexToken(EOL,'\n',1,2018)
+LexToken(VAR,'x',1,2035)
+LexToken(DOT,'.',1,2036)
+LexToken(VAR,'graphics',1,2037)
+LexToken(ASSIGNMENT,'=',1,2045)
+LexToken(VAR,'graphics',1,2046)
+LexToken(SEMICOLON,';',1,2054)
+LexToken(EOL,'\n',1,2055)
+LexToken(VAR,'x',1,2072)
+LexToken(DOT,'.',1,2073)
+LexToken(VAR,'model',1,2074)
+LexToken(ASSIGNMENT,'=',1,2079)
+LexToken(VAR,'model',1,2080)
+LexToken(EOL,'\n',1,2085)
+LexToken(BREAK,'break',1,2102)
+LexToken(EOL,'\n',1,2107)
+LexToken(END,'end',1,2120)
+LexToken(EOL,'\n',1,2123)
+LexToken(END,'end',1,2132)
+LexToken(EOL,'\n',1,2135)
+LexToken(CASE,'case',1,2140)
+LexToken(DQSTRING,'"define"',1,2152)
+LexToken(THEN,'then',1,2154)
+LexToken(EOL,'\n',1,2158)
+LexToken(VAR,'model',1,2167)
+LexToken(ASSIGNMENT,'=',1,2172)
+LexToken(SCICOS_MODEL,'scicos_model',1,2173)
+LexToken(OPENBRACKET,'(',1,2185)
+LexToken(CLOSEBRACKET,')',1,2186)
+LexToken(EOL,'\n',1,2187)
+LexToken(VAR,'function_name',1,2196)
+LexToken(ASSIGNMENT,'=',1,2209)
+LexToken(DQSTRING,'"mat_lu"',1,2217)
+LexToken(SEMICOLON,';',1,2218)
+LexToken(EOL,'\n',1,2219)
+LexToken(VAR,'funtyp',1,2228)
+LexToken(ASSIGNMENT,'=',1,2234)
+LexToken(NUMBER,'4',1,2235)
+LexToken(SEMICOLON,';',1,2236)
+LexToken(EOL,'\n',1,2237)
+LexToken(VAR,'model',1,2246)
+LexToken(DOT,'.',1,2251)
+LexToken(VAR,'sim',1,2252)
+LexToken(ASSIGNMENT,'=',1,2255)
+LexToken(VAR,'list',1,2256)
+LexToken(OPENBRACKET,'(',1,2260)
+LexToken(VAR,'function_name',1,2261)
+LexToken(COMMA,',',1,2274)
+LexToken(VAR,'funtyp',1,2275)
+LexToken(CLOSEBRACKET,')',1,2281)
+LexToken(EOL,'\n',1,2282)
+LexToken(EOL,'\n',1,2283)
+LexToken(VAR,'model',1,2292)
+LexToken(DOT,'.',1,2297)
+LexToken(VAR,'in',1,2298)
+LexToken(ASSIGNMENT,'=',1,2300)
+LexToken(NUMBER,'-1',1,2301)
+LexToken(EOL,'\n',1,2303)
+LexToken(VAR,'model',1,2312)
+LexToken(DOT,'.',1,2317)
+LexToken(VAR,'in2',1,2318)
+LexToken(ASSIGNMENT,'=',1,2321)
+LexToken(NUMBER,'-1',1,2322)
+LexToken(EOL,'\n',1,2324)
+LexToken(VAR,'model',1,2333)
+LexToken(DOT,'.',1,2338)
+LexToken(VAR,'intyp',1,2339)
+LexToken(ASSIGNMENT,'=',1,2344)
+LexToken(NUMBER,'1',1,2345)
+LexToken(EOL,'\n',1,2346)
+LexToken(EOL,'\n',1,2384)
+LexToken(EOL,'\n',1,2423)
+LexToken(VAR,'model',1,2432)
+LexToken(DOT,'.',1,2437)
+LexToken(VAR,'out',1,2438)
+LexToken(ASSIGNMENT,'=',1,2441)
+LexToken(OPENSQBRACKET,'[',1,2442)
+LexToken(NUMBER,'-1',1,2443)
+LexToken(SEMICOLON,';',1,2445)
+LexToken(NUMBER,'-1',1,2446)
+LexToken(CLOSESQBRACKET,']',1,2448)
+LexToken(EOL,'\n',1,2449)
+LexToken(VAR,'model',1,2458)
+LexToken(DOT,'.',1,2463)
+LexToken(VAR,'out2',1,2464)
+LexToken(ASSIGNMENT,'=',1,2468)
+LexToken(OPENSQBRACKET,'[',1,2469)
+LexToken(NUMBER,'-1',1,2470)
+LexToken(SEMICOLON,';',1,2472)
+LexToken(NUMBER,'-1',1,2473)
+LexToken(CLOSESQBRACKET,']',1,2475)
+LexToken(EOL,'\n',1,2476)
+LexToken(VAR,'model',1,2485)
+LexToken(DOT,'.',1,2490)
+LexToken(VAR,'outtyp',1,2491)
+LexToken(ASSIGNMENT,'=',1,2497)
+LexToken(OPENSQBRACKET,'[',1,2498)
+LexToken(NUMBER,'1',1,2499)
+LexToken(NUMBER,'1',1,2501)
+LexToken(CLOSESQBRACKET,']',1,2502)
+LexToken(EOL,'\n',1,2503)
+LexToken(VAR,'model',1,2512)
+LexToken(DOT,'.',1,2517)
+LexToken(VAR,'evtin',1,2518)
+LexToken(ASSIGNMENT,'=',1,2523)
+LexToken(OPENSQBRACKET,'[',1,2524)
+LexToken(CLOSESQBRACKET,']',1,2525)
+LexToken(EOL,'\n',1,2526)
+LexToken(VAR,'model',1,2535)
+LexToken(DOT,'.',1,2540)
+LexToken(VAR,'evtout',1,2541)
+LexToken(ASSIGNMENT,'=',1,2547)
+LexToken(OPENSQBRACKET,'[',1,2548)
+LexToken(CLOSESQBRACKET,']',1,2549)
+LexToken(EOL,'\n',1,2550)
+LexToken(VAR,'model',1,2559)
+LexToken(DOT,'.',1,2564)
+LexToken(VAR,'state',1,2565)
+LexToken(ASSIGNMENT,'=',1,2570)
+LexToken(OPENSQBRACKET,'[',1,2571)
+LexToken(CLOSESQBRACKET,']',1,2572)
+LexToken(EOL,'\n',1,2573)
+LexToken(VAR,'model',1,2582)
+LexToken(DOT,'.',1,2587)
+LexToken(VAR,'dstate',1,2588)
+LexToken(ASSIGNMENT,'=',1,2594)
+LexToken(OPENSQBRACKET,'[',1,2595)
+LexToken(CLOSESQBRACKET,']',1,2596)
+LexToken(EOL,'\n',1,2597)
+LexToken(VAR,'model',1,2606)
+LexToken(DOT,'.',1,2611)
+LexToken(VAR,'rpar',1,2612)
+LexToken(ASSIGNMENT,'=',1,2616)
+LexToken(OPENSQBRACKET,'[',1,2617)
+LexToken(CLOSESQBRACKET,']',1,2618)
+LexToken(EOL,'\n',1,2619)
+LexToken(VAR,'model',1,2628)
+LexToken(DOT,'.',1,2633)
+LexToken(VAR,'ipar',1,2634)
+LexToken(ASSIGNMENT,'=',1,2638)
+LexToken(OPENSQBRACKET,'[',1,2639)
+LexToken(CLOSESQBRACKET,']',1,2640)
+LexToken(EOL,'\n',1,2641)
+LexToken(VAR,'model',1,2650)
+LexToken(DOT,'.',1,2655)
+LexToken(VAR,'blocktype',1,2656)
+LexToken(ASSIGNMENT,'=',1,2665)
+LexToken(DQSTRING,'"c"',1,2668)
+LexToken(EOL,'\n',1,2669)
+LexToken(VAR,'model',1,2678)
+LexToken(DOT,'.',1,2683)
+LexToken(VAR,'firing',1,2684)
+LexToken(ASSIGNMENT,'=',1,2690)
+LexToken(OPENSQBRACKET,'[',1,2691)
+LexToken(CLOSESQBRACKET,']',1,2692)
+LexToken(EOL,'\n',1,2693)
+LexToken(VAR,'model',1,2702)
+LexToken(DOT,'.',1,2707)
+LexToken(VAR,'dep_ut',1,2708)
+LexToken(ASSIGNMENT,'=',1,2714)
+LexToken(OPENSQBRACKET,'[',1,2715)
+LexToken(PREVAR_BOOLEAN,'%t',1,2716)
+LexToken(PREVAR_BOOLEAN,'%f',1,2719)
+LexToken(CLOSESQBRACKET,']',1,2721)
+LexToken(EOL,'\n',1,2722)
+LexToken(VAR,'label',1,2731)
+LexToken(ASSIGNMENT,'=',1,2736)
+LexToken(VAR,'sci2exp',1,2737)
+LexToken(OPENBRACKET,'(',1,2744)
+LexToken(NUMBER,'1',1,2745)
+LexToken(CLOSEBRACKET,')',1,2746)
+LexToken(SEMICOLON,';',1,2747)
+LexToken(EOL,'\n',1,2748)
+LexToken(VAR,'gr_i',1,2757)
+LexToken(ASSIGNMENT,'=',1,2761)
+LexToken(OPENSQBRACKET,'[',1,2762)
+LexToken(CLOSESQBRACKET,']',1,2763)
+LexToken(EOL,'\n',1,2764)
+LexToken(VAR,'x',1,2773)
+LexToken(ASSIGNMENT,'=',1,2774)
+LexToken(VAR,'standard_define',1,2775)
+LexToken(OPENBRACKET,'(',1,2790)
+LexToken(OPENSQBRACKET,'[',1,2791)
+LexToken(NUMBER,'2',1,2792)
+LexToken(NUMBER,'2',1,2794)
+LexToken(CLOSESQBRACKET,']',1,2795)
+LexToken(COMMA,',',1,2796)
+LexToken(VAR,'model',1,2797)
+LexToken(COMMA,',',1,2802)
+LexToken(VAR,'label',1,2803)
+LexToken(COMMA,',',1,2808)
+LexToken(VAR,'gr_i',1,2809)
+LexToken(CLOSEBRACKET,')',1,2813)
+LexToken(EOL,'\n',1,2814)
+LexToken(END,'end',1,2819)
+LexToken(EOL,'\n',1,2822)
+LexToken(ENDFUNCTION,'endfunction',1,2823)
+LexToken(EOL,'\n',1,2834)
+LexToken(EOL,'\n',1,2835)
diff --git a/js/MatrixOp/MATMAGPHI.js b/js/MatrixOp/MATMAGPHI.js
new file mode 100644
index 00000000..3311a7b6
--- /dev/null
+++ b/js/MatrixOp/MATMAGPHI.js
@@ -0,0 +1,528 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATMAGPHI',1,852)
+LexToken(OPENBRACKET,'(',1,861)
+LexToken(VAR,'job',1,862)
+LexToken(COMMA,',',1,865)
+LexToken(VAR,'arg1',1,866)
+LexToken(COMMA,',',1,870)
+LexToken(VAR,'arg2',1,871)
+LexToken(CLOSEBRACKET,')',1,875)
+LexToken(EOL,'\n',1,876)
+LexToken(EOL,'\n',1,883)
+LexToken(VAR,'x',1,888)
+LexToken(ASSIGNMENT,'=',1,889)
+LexToken(OPENSQBRACKET,'[',1,890)
+LexToken(CLOSESQBRACKET,']',1,891)
+LexToken(SEMICOLON,';',1,892)
+LexToken(EOL,'\n',1,893)
+LexToken(VAR,'y',1,898)
+LexToken(ASSIGNMENT,'=',1,899)
+LexToken(OPENSQBRACKET,'[',1,900)
+LexToken(CLOSESQBRACKET,']',1,901)
+LexToken(SEMICOLON,';',1,902)
+LexToken(EOL,'\n',1,903)
+LexToken(VAR,'typ',1,908)
+LexToken(ASSIGNMENT,'=',1,911)
+LexToken(OPENSQBRACKET,'[',1,912)
+LexToken(CLOSESQBRACKET,']',1,913)
+LexToken(SEMICOLON,';',1,914)
+LexToken(EOL,'\n',1,915)
+LexToken(SELECT,'select',1,920)
+LexToken(VAR,'job',1,927)
+LexToken(EOL,'\n',1,930)
+LexToken(CASE,'case',1,935)
+LexToken(DQSTRING,'"set"',1,944)
+LexToken(THEN,'then',1,946)
+LexToken(EOL,'\n',1,950)
+LexToken(VAR,'x',1,959)
+LexToken(ASSIGNMENT,'=',1,960)
+LexToken(VAR,'arg1',1,961)
+LexToken(EOL,'\n',1,965)
+LexToken(VAR,'model',1,974)
+LexToken(ASSIGNMENT,'=',1,979)
+LexToken(VAR,'arg1',1,980)
+LexToken(DOT,'.',1,984)
+LexToken(VAR,'model',1,985)
+LexToken(SEMICOLON,';',1,990)
+LexToken(EOL,'\n',1,991)
+LexToken(VAR,'graphics',1,1000)
+LexToken(ASSIGNMENT,'=',1,1008)
+LexToken(VAR,'arg1',1,1009)
+LexToken(DOT,'.',1,1013)
+LexToken(VAR,'graphics',1,1014)
+LexToken(SEMICOLON,';',1,1022)
+LexToken(EOL,'\n',1,1023)
+LexToken(VAR,'label',1,1032)
+LexToken(ASSIGNMENT,'=',1,1037)
+LexToken(VAR,'graphics',1,1038)
+LexToken(DOT,'.',1,1046)
+LexToken(VAR,'exprs',1,1047)
+LexToken(EOL,'\n',1,1052)
+LexToken(IF,'if',1,1061)
+LexToken(VAR,'size',1,1064)
+LexToken(OPENBRACKET,'(',1,1068)
+LexToken(VAR,'label',1,1069)
+LexToken(COMMA,',',1,1074)
+LexToken(DQSTRING,'"*"',1,1077)
+LexToken(CLOSEBRACKET,')',1,1078)
+LexToken(COMPARISON,'==',1,1079)
+LexToken(NUMBER,'14',1,1081)
+LexToken(THEN,'then',1,1084)
+LexToken(EOL,'\n',1,1088)
+LexToken(VAR,'label',1,1101)
+LexToken(OPENBRACKET,'(',1,1106)
+LexToken(NUMBER,'9',1,1107)
+LexToken(CLOSEBRACKET,')',1,1108)
+LexToken(ASSIGNMENT,'=',1,1109)
+LexToken(OPENSQBRACKET,'[',1,1110)
+LexToken(CLOSESQBRACKET,']',1,1111)
+LexToken(COMMA,',',1,1112)
+LexToken(EOL,'\n',1,1113)
+LexToken(END,'end',1,1122)
+LexToken(EOL,'\n',1,1140)
+LexToken(WHILE,'while',1,1149)
+LexToken(PREVAR_BOOLEAN,'%t',1,1155)
+LexToken(DO,'do',1,1158)
+LexToken(EOL,'\n',1,1160)
+LexToken(OPENSQBRACKET,'[',1,1173)
+LexToken(VAR,'ok',1,1174)
+LexToken(COMMA,',',1,1176)
+LexToken(VAR,'decomptyp',1,1177)
+LexToken(COMMA,',',1,1186)
+LexToken(VAR,'lab',1,1187)
+LexToken(CLOSESQBRACKET,']',1,1190)
+LexToken(ASSIGNMENT,'=',1,1191)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1192)
+LexToken(OPENBRACKET,'(',1,1207)
+LexToken(DQSTRING,'"Set MATMAGPHI block parameters"',1,1239)
+LexToken(COMMA,',',1,1240)
+LexToken(OPENSQBRACKET,'[',1,1241)
+LexToken(DQSTRING,'"decomposition type (1=Complex2MAG&PHI 2=MAG&PHI2Complex)"',1,1299)
+LexToken(CLOSESQBRACKET,']',1,1300)
+LexToken(COMMA,',',1,1301)
+LexToken(VAR,'list',1,1302)
+LexToken(OPENBRACKET,'(',1,1306)
+LexToken(DQSTRING,'"vec"',1,1311)
+LexToken(COMMA,',',1,1312)
+LexToken(NUMBER,'1',1,1313)
+LexToken(CLOSEBRACKET,')',1,1314)
+LexToken(COMMA,',',1,1315)
+LexToken(VAR,'label',1,1316)
+LexToken(CLOSEBRACKET,')',1,1321)
+LexToken(EOL,'\n',1,1322)
+LexToken(IF,'if',1,1335)
+LexToken(NOT,'~',1,1338)
+LexToken(VAR,'ok',1,1339)
+LexToken(THEN,'then',1,1342)
+LexToken(EOL,'\n',1,1346)
+LexToken(BREAK,'break',1,1363)
+LexToken(COMMA,',',1,1368)
+LexToken(EOL,'\n',1,1369)
+LexToken(END,'end',1,1382)
+LexToken(EOL,'\n',1,1385)
+LexToken(VAR,'label',1,1398)
+LexToken(ASSIGNMENT,'=',1,1403)
+LexToken(VAR,'lab',1,1404)
+LexToken(EOL,'\n',1,1407)
+LexToken(IF,'if',1,1420)
+LexToken(OPENBRACKET,'(',1,1423)
+LexToken(VAR,'decomptyp',1,1424)
+LexToken(COMPARISON,'==',1,1433)
+LexToken(NUMBER,'1',1,1435)
+LexToken(CLOSEBRACKET,')',1,1436)
+LexToken(THEN,'then',1,1438)
+LexToken(EOL,'\n',1,1442)
+LexToken(VAR,'function_name',1,1459)
+LexToken(ASSIGNMENT,'=',1,1472)
+LexToken(DQSTRING,'"matz_abs"',1,1482)
+LexToken(SEMICOLON,';',1,1483)
+LexToken(EOL,'\n',1,1484)
+LexToken(VAR,'in',1,1501)
+LexToken(ASSIGNMENT,'=',1,1503)
+LexToken(OPENSQBRACKET,'[',1,1504)
+LexToken(NUMBER,'-1',1,1505)
+LexToken(NUMBER,'-2',1,1508)
+LexToken(CLOSESQBRACKET,']',1,1510)
+LexToken(SEMICOLON,';',1,1511)
+LexToken(EOL,'\n',1,1512)
+LexToken(VAR,'it',1,1529)
+LexToken(ASSIGNMENT,'=',1,1531)
+LexToken(NUMBER,'2',1,1532)
+LexToken(SEMICOLON,';',1,1533)
+LexToken(EOL,'\n',1,1534)
+LexToken(VAR,'out',1,1551)
+LexToken(ASSIGNMENT,'=',1,1554)
+LexToken(OPENSQBRACKET,'[',1,1555)
+LexToken(NUMBER,'-1',1,1556)
+LexToken(NUMBER,'-2',1,1559)
+LexToken(SEMICOLON,';',1,1561)
+LexToken(NUMBER,'-1',1,1562)
+LexToken(NUMBER,'-2',1,1565)
+LexToken(CLOSESQBRACKET,']',1,1567)
+LexToken(SEMICOLON,';',1,1568)
+LexToken(EOL,'\n',1,1569)
+LexToken(VAR,'ot',1,1586)
+LexToken(ASSIGNMENT,'=',1,1588)
+LexToken(OPENSQBRACKET,'[',1,1589)
+LexToken(NUMBER,'1',1,1590)
+LexToken(NUMBER,'1',1,1592)
+LexToken(CLOSESQBRACKET,']',1,1593)
+LexToken(SEMICOLON,';',1,1594)
+LexToken(EOL,'\n',1,1595)
+LexToken(ELSEIF,'elseif',1,1608)
+LexToken(OPENBRACKET,'(',1,1615)
+LexToken(VAR,'decomptyp',1,1616)
+LexToken(COMPARISON,'==',1,1625)
+LexToken(NUMBER,'2',1,1627)
+LexToken(CLOSEBRACKET,')',1,1628)
+LexToken(THEN,'then',1,1630)
+LexToken(EOL,'\n',1,1634)
+LexToken(VAR,'function_name',1,1651)
+LexToken(ASSIGNMENT,'=',1,1664)
+LexToken(DQSTRING,'"matz_absc"',1,1675)
+LexToken(SEMICOLON,';',1,1676)
+LexToken(EOL,'\n',1,1677)
+LexToken(VAR,'in',1,1694)
+LexToken(ASSIGNMENT,'=',1,1696)
+LexToken(OPENSQBRACKET,'[',1,1697)
+LexToken(NUMBER,'-1',1,1698)
+LexToken(NUMBER,'-2',1,1701)
+LexToken(SEMICOLON,';',1,1703)
+LexToken(NUMBER,'-1',1,1704)
+LexToken(NUMBER,'-2',1,1707)
+LexToken(CLOSESQBRACKET,']',1,1709)
+LexToken(SEMICOLON,';',1,1710)
+LexToken(EOL,'\n',1,1711)
+LexToken(VAR,'it',1,1728)
+LexToken(ASSIGNMENT,'=',1,1730)
+LexToken(OPENSQBRACKET,'[',1,1731)
+LexToken(NUMBER,'1',1,1732)
+LexToken(NUMBER,'1',1,1734)
+LexToken(CLOSESQBRACKET,']',1,1735)
+LexToken(SEMICOLON,';',1,1736)
+LexToken(EOL,'\n',1,1737)
+LexToken(VAR,'out',1,1754)
+LexToken(ASSIGNMENT,'=',1,1757)
+LexToken(OPENSQBRACKET,'[',1,1758)
+LexToken(NUMBER,'-1',1,1759)
+LexToken(NUMBER,'-2',1,1762)
+LexToken(CLOSESQBRACKET,']',1,1764)
+LexToken(SEMICOLON,';',1,1765)
+LexToken(EOL,'\n',1,1766)
+LexToken(VAR,'ot',1,1783)
+LexToken(ASSIGNMENT,'=',1,1785)
+LexToken(NUMBER,'2',1,1786)
+LexToken(SEMICOLON,';',1,1787)
+LexToken(EOL,'\n',1,1788)
+LexToken(ELSE,'else',1,1801)
+LexToken(EOL,'\n',1,1805)
+LexToken(VAR,'message',1,1822)
+LexToken(OPENBRACKET,'(',1,1829)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,1866)
+LexToken(CLOSEBRACKET,')',1,1867)
+LexToken(SEMICOLON,';',1,1868)
+LexToken(EOL,'\n',1,1869)
+LexToken(VAR,'ok',1,1886)
+LexToken(ASSIGNMENT,'=',1,1888)
+LexToken(PREVAR_BOOLEAN,'%f',1,1889)
+LexToken(SEMICOLON,';',1,1891)
+LexToken(EOL,'\n',1,1892)
+LexToken(END,'end',1,1905)
+LexToken(EOL,'\n',1,1908)
+LexToken(VAR,'funtyp',1,1921)
+LexToken(ASSIGNMENT,'=',1,1927)
+LexToken(NUMBER,'4',1,1928)
+LexToken(SEMICOLON,';',1,1929)
+LexToken(EOL,'\n',1,1930)
+LexToken(IF,'if',1,1943)
+LexToken(VAR,'ok',1,1946)
+LexToken(THEN,'then',1,1949)
+LexToken(EOL,'\n',1,1953)
+LexToken(OPENSQBRACKET,'[',1,1970)
+LexToken(VAR,'model',1,1971)
+LexToken(COMMA,',',1,1976)
+LexToken(VAR,'graphics',1,1977)
+LexToken(COMMA,',',1,1985)
+LexToken(VAR,'ok',1,1986)
+LexToken(CLOSESQBRACKET,']',1,1988)
+LexToken(ASSIGNMENT,'=',1,1989)
+LexToken(VAR,'set_io',1,1990)
+LexToken(OPENBRACKET,'(',1,1996)
+LexToken(VAR,'model',1,1997)
+LexToken(COMMA,',',1,2002)
+LexToken(VAR,'graphics',1,2003)
+LexToken(COMMA,',',1,2011)
+LexToken(VAR,'list',1,2012)
+LexToken(OPENBRACKET,'(',1,2016)
+LexToken(VAR,'in',1,2017)
+LexToken(COMMA,',',1,2019)
+LexToken(VAR,'it',1,2020)
+LexToken(CLOSEBRACKET,')',1,2022)
+LexToken(COMMA,',',1,2023)
+LexToken(VAR,'list',1,2024)
+LexToken(OPENBRACKET,'(',1,2028)
+LexToken(VAR,'out',1,2029)
+LexToken(COMMA,',',1,2032)
+LexToken(VAR,'ot',1,2033)
+LexToken(CLOSEBRACKET,')',1,2035)
+LexToken(COMMA,',',1,2036)
+LexToken(OPENSQBRACKET,'[',1,2037)
+LexToken(CLOSESQBRACKET,']',1,2038)
+LexToken(COMMA,',',1,2039)
+LexToken(OPENSQBRACKET,'[',1,2040)
+LexToken(CLOSESQBRACKET,']',1,2041)
+LexToken(CLOSEBRACKET,')',1,2042)
+LexToken(EOL,'\n',1,2043)
+LexToken(END,'end',1,2056)
+LexToken(EOL,'\n',1,2059)
+LexToken(IF,'if',1,2072)
+LexToken(VAR,'ok',1,2075)
+LexToken(THEN,'then',1,2078)
+LexToken(EOL,'\n',1,2082)
+LexToken(VAR,'model',1,2099)
+LexToken(DOT,'.',1,2104)
+LexToken(VAR,'sim',1,2105)
+LexToken(ASSIGNMENT,'=',1,2108)
+LexToken(VAR,'list',1,2109)
+LexToken(OPENBRACKET,'(',1,2113)
+LexToken(VAR,'function_name',1,2114)
+LexToken(COMMA,',',1,2127)
+LexToken(VAR,'funtyp',1,2128)
+LexToken(CLOSEBRACKET,')',1,2134)
+LexToken(SEMICOLON,';',1,2135)
+LexToken(EOL,'\n',1,2136)
+LexToken(VAR,'arg1',1,2153)
+LexToken(DOT,'.',1,2157)
+LexToken(VAR,'model',1,2158)
+LexToken(ASSIGNMENT,'=',1,2163)
+LexToken(VAR,'model',1,2164)
+LexToken(EOL,'\n',1,2169)
+LexToken(VAR,'graphics',1,2186)
+LexToken(DOT,'.',1,2194)
+LexToken(VAR,'exprs',1,2195)
+LexToken(ASSIGNMENT,'=',1,2200)
+LexToken(VAR,'label',1,2201)
+LexToken(EOL,'\n',1,2206)
+LexToken(VAR,'arg1',1,2223)
+LexToken(DOT,'.',1,2227)
+LexToken(VAR,'graphics',1,2228)
+LexToken(ASSIGNMENT,'=',1,2236)
+LexToken(VAR,'graphics',1,2237)
+LexToken(EOL,'\n',1,2245)
+LexToken(VAR,'x',1,2262)
+LexToken(ASSIGNMENT,'=',1,2263)
+LexToken(VAR,'arg1',1,2264)
+LexToken(EOL,'\n',1,2268)
+LexToken(BREAK,'break',1,2285)
+LexToken(EOL,'\n',1,2290)
+LexToken(END,'end',1,2303)
+LexToken(EOL,'\n',1,2306)
+LexToken(END,'end',1,2315)
+LexToken(EOL,'\n',1,2318)
+LexToken(CASE,'case',1,2323)
+LexToken(DQSTRING,'"define"',1,2335)
+LexToken(THEN,'then',1,2337)
+LexToken(EOL,'\n',1,2341)
+LexToken(VAR,'model',1,2350)
+LexToken(ASSIGNMENT,'=',1,2355)
+LexToken(SCICOS_MODEL,'scicos_model',1,2356)
+LexToken(OPENBRACKET,'(',1,2368)
+LexToken(CLOSEBRACKET,')',1,2369)
+LexToken(EOL,'\n',1,2370)
+LexToken(VAR,'function_name',1,2379)
+LexToken(ASSIGNMENT,'=',1,2392)
+LexToken(DQSTRING,'"matz_abs"',1,2402)
+LexToken(SEMICOLON,';',1,2403)
+LexToken(EOL,'\n',1,2404)
+LexToken(VAR,'funtyp',1,2413)
+LexToken(ASSIGNMENT,'=',1,2419)
+LexToken(NUMBER,'4',1,2420)
+LexToken(SEMICOLON,';',1,2421)
+LexToken(EOL,'\n',1,2422)
+LexToken(VAR,'model',1,2431)
+LexToken(DOT,'.',1,2436)
+LexToken(VAR,'sim',1,2437)
+LexToken(ASSIGNMENT,'=',1,2440)
+LexToken(VAR,'list',1,2441)
+LexToken(OPENBRACKET,'(',1,2445)
+LexToken(VAR,'function_name',1,2446)
+LexToken(COMMA,',',1,2459)
+LexToken(VAR,'funtyp',1,2460)
+LexToken(CLOSEBRACKET,')',1,2466)
+LexToken(EOL,'\n',1,2467)
+LexToken(VAR,'model',1,2476)
+LexToken(DOT,'.',1,2481)
+LexToken(VAR,'in',1,2482)
+LexToken(ASSIGNMENT,'=',1,2484)
+LexToken(NUMBER,'-1',1,2485)
+LexToken(EOL,'\n',1,2487)
+LexToken(VAR,'model',1,2496)
+LexToken(DOT,'.',1,2501)
+LexToken(VAR,'in2',1,2502)
+LexToken(ASSIGNMENT,'=',1,2505)
+LexToken(NUMBER,'-2',1,2506)
+LexToken(EOL,'\n',1,2508)
+LexToken(VAR,'model',1,2517)
+LexToken(DOT,'.',1,2522)
+LexToken(VAR,'intyp',1,2523)
+LexToken(ASSIGNMENT,'=',1,2528)
+LexToken(NUMBER,'2',1,2529)
+LexToken(EOL,'\n',1,2530)
+LexToken(VAR,'model',1,2539)
+LexToken(DOT,'.',1,2544)
+LexToken(VAR,'out',1,2545)
+LexToken(ASSIGNMENT,'=',1,2548)
+LexToken(OPENSQBRACKET,'[',1,2549)
+LexToken(NUMBER,'-1',1,2550)
+LexToken(SEMICOLON,';',1,2552)
+LexToken(NUMBER,'-1',1,2553)
+LexToken(CLOSESQBRACKET,']',1,2555)
+LexToken(EOL,'\n',1,2556)
+LexToken(VAR,'model',1,2565)
+LexToken(DOT,'.',1,2570)
+LexToken(VAR,'out2',1,2571)
+LexToken(ASSIGNMENT,'=',1,2575)
+LexToken(OPENSQBRACKET,'[',1,2576)
+LexToken(NUMBER,'-2',1,2577)
+LexToken(SEMICOLON,';',1,2579)
+LexToken(NUMBER,'-2',1,2580)
+LexToken(CLOSESQBRACKET,']',1,2582)
+LexToken(EOL,'\n',1,2583)
+LexToken(VAR,'model',1,2592)
+LexToken(DOT,'.',1,2597)
+LexToken(VAR,'outtyp',1,2598)
+LexToken(ASSIGNMENT,'=',1,2604)
+LexToken(OPENSQBRACKET,'[',1,2605)
+LexToken(NUMBER,'1',1,2606)
+LexToken(NUMBER,'1',1,2608)
+LexToken(CLOSESQBRACKET,']',1,2609)
+LexToken(EOL,'\n',1,2610)
+LexToken(VAR,'model',1,2619)
+LexToken(DOT,'.',1,2624)
+LexToken(VAR,'evtin',1,2625)
+LexToken(ASSIGNMENT,'=',1,2630)
+LexToken(OPENSQBRACKET,'[',1,2631)
+LexToken(CLOSESQBRACKET,']',1,2632)
+LexToken(EOL,'\n',1,2633)
+LexToken(VAR,'model',1,2642)
+LexToken(DOT,'.',1,2647)
+LexToken(VAR,'evtout',1,2648)
+LexToken(ASSIGNMENT,'=',1,2654)
+LexToken(OPENSQBRACKET,'[',1,2655)
+LexToken(CLOSESQBRACKET,']',1,2656)
+LexToken(EOL,'\n',1,2657)
+LexToken(VAR,'model',1,2666)
+LexToken(DOT,'.',1,2671)
+LexToken(VAR,'state',1,2672)
+LexToken(ASSIGNMENT,'=',1,2677)
+LexToken(OPENSQBRACKET,'[',1,2678)
+LexToken(CLOSESQBRACKET,']',1,2679)
+LexToken(EOL,'\n',1,2680)
+LexToken(VAR,'model',1,2689)
+LexToken(DOT,'.',1,2694)
+LexToken(VAR,'dstate',1,2695)
+LexToken(ASSIGNMENT,'=',1,2701)
+LexToken(OPENSQBRACKET,'[',1,2702)
+LexToken(CLOSESQBRACKET,']',1,2703)
+LexToken(EOL,'\n',1,2704)
+LexToken(VAR,'model',1,2713)
+LexToken(DOT,'.',1,2718)
+LexToken(VAR,'rpar',1,2719)
+LexToken(ASSIGNMENT,'=',1,2723)
+LexToken(OPENSQBRACKET,'[',1,2724)
+LexToken(CLOSESQBRACKET,']',1,2725)
+LexToken(EOL,'\n',1,2726)
+LexToken(VAR,'model',1,2735)
+LexToken(DOT,'.',1,2740)
+LexToken(VAR,'ipar',1,2741)
+LexToken(ASSIGNMENT,'=',1,2745)
+LexToken(OPENSQBRACKET,'[',1,2746)
+LexToken(CLOSESQBRACKET,']',1,2747)
+LexToken(EOL,'\n',1,2748)
+LexToken(VAR,'model',1,2757)
+LexToken(DOT,'.',1,2762)
+LexToken(VAR,'blocktype',1,2763)
+LexToken(ASSIGNMENT,'=',1,2772)
+LexToken(DQSTRING,'"c"',1,2775)
+LexToken(EOL,'\n',1,2776)
+LexToken(VAR,'model',1,2785)
+LexToken(DOT,'.',1,2790)
+LexToken(VAR,'firing',1,2791)
+LexToken(ASSIGNMENT,'=',1,2797)
+LexToken(OPENSQBRACKET,'[',1,2798)
+LexToken(CLOSESQBRACKET,']',1,2799)
+LexToken(EOL,'\n',1,2800)
+LexToken(VAR,'model',1,2809)
+LexToken(DOT,'.',1,2814)
+LexToken(VAR,'dep_ut',1,2815)
+LexToken(ASSIGNMENT,'=',1,2821)
+LexToken(OPENSQBRACKET,'[',1,2822)
+LexToken(PREVAR_BOOLEAN,'%t',1,2823)
+LexToken(PREVAR_BOOLEAN,'%f',1,2826)
+LexToken(CLOSESQBRACKET,']',1,2828)
+LexToken(EOL,'\n',1,2829)
+LexToken(VAR,'label',1,2838)
+LexToken(ASSIGNMENT,'=',1,2843)
+LexToken(OPENSQBRACKET,'[',1,2844)
+LexToken(VAR,'sci2exp',1,2845)
+LexToken(OPENBRACKET,'(',1,2852)
+LexToken(NUMBER,'1',1,2853)
+LexToken(CLOSEBRACKET,')',1,2854)
+LexToken(CLOSESQBRACKET,']',1,2855)
+LexToken(SEMICOLON,';',1,2856)
+LexToken(EOL,'\n',1,2857)
+LexToken(VAR,'gr_i',1,2866)
+LexToken(ASSIGNMENT,'=',1,2870)
+LexToken(OPENSQBRACKET,'[',1,2871)
+LexToken(CLOSESQBRACKET,']',1,2872)
+LexToken(EOL,'\n',1,2873)
+LexToken(VAR,'x',1,2882)
+LexToken(ASSIGNMENT,'=',1,2883)
+LexToken(VAR,'standard_define',1,2884)
+LexToken(OPENBRACKET,'(',1,2899)
+LexToken(OPENSQBRACKET,'[',1,2900)
+LexToken(NUMBER,'3',1,2901)
+LexToken(NUMBER,'2',1,2903)
+LexToken(CLOSESQBRACKET,']',1,2904)
+LexToken(COMMA,',',1,2905)
+LexToken(VAR,'model',1,2906)
+LexToken(COMMA,',',1,2911)
+LexToken(VAR,'label',1,2912)
+LexToken(COMMA,',',1,2917)
+LexToken(VAR,'gr_i',1,2918)
+LexToken(CLOSEBRACKET,')',1,2922)
+LexToken(EOL,'\n',1,2923)
+LexToken(END,'end',1,2928)
+LexToken(EOL,'\n',1,2931)
+LexToken(ENDFUNCTION,'endfunction',1,2932)
+LexToken(EOL,'\n',1,2943)
+LexToken(EOL,'\n',1,2944)
diff --git a/js/MatrixOp/MATMUL.js b/js/MatrixOp/MATMUL.js
new file mode 100644
index 00000000..5bd335a6
--- /dev/null
+++ b/js/MatrixOp/MATMUL.js
@@ -0,0 +1,1169 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,852)
+LexToken(VAR,'MATMUL',1,854)
+LexToken(OPENBRACKET,'(',1,860)
+LexToken(VAR,'job',1,861)
+LexToken(COMMA,',',1,864)
+LexToken(VAR,'arg1',1,865)
+LexToken(COMMA,',',1,869)
+LexToken(VAR,'arg2',1,870)
+LexToken(CLOSEBRACKET,')',1,874)
+LexToken(EOL,'\n',1,875)
+LexToken(VAR,'x',1,880)
+LexToken(ASSIGNMENT,'=',1,881)
+LexToken(OPENSQBRACKET,'[',1,882)
+LexToken(CLOSESQBRACKET,']',1,883)
+LexToken(SEMICOLON,';',1,884)
+LexToken(EOL,'\n',1,885)
+LexToken(VAR,'y',1,890)
+LexToken(ASSIGNMENT,'=',1,891)
+LexToken(OPENSQBRACKET,'[',1,892)
+LexToken(CLOSESQBRACKET,']',1,893)
+LexToken(SEMICOLON,';',1,894)
+LexToken(EOL,'\n',1,895)
+LexToken(VAR,'typ',1,900)
+LexToken(ASSIGNMENT,'=',1,903)
+LexToken(OPENSQBRACKET,'[',1,904)
+LexToken(CLOSESQBRACKET,']',1,905)
+LexToken(SEMICOLON,';',1,906)
+LexToken(EOL,'\n',1,907)
+LexToken(SELECT,'select',1,912)
+LexToken(VAR,'job',1,919)
+LexToken(EOL,'\n',1,922)
+LexToken(CASE,'case',1,927)
+LexToken(DQSTRING,'"set"',1,936)
+LexToken(THEN,'then',1,938)
+LexToken(EOL,'\n',1,942)
+LexToken(VAR,'x',1,951)
+LexToken(ASSIGNMENT,'=',1,952)
+LexToken(VAR,'arg1',1,953)
+LexToken(EOL,'\n',1,957)
+LexToken(VAR,'graphics',1,966)
+LexToken(ASSIGNMENT,'=',1,974)
+LexToken(VAR,'x',1,975)
+LexToken(DOT,'.',1,976)
+LexToken(VAR,'graphics',1,977)
+LexToken(SEMICOLON,';',1,985)
+LexToken(EOL,'\n',1,986)
+LexToken(VAR,'label',1,995)
+LexToken(ASSIGNMENT,'=',1,1000)
+LexToken(VAR,'graphics',1,1001)
+LexToken(DOT,'.',1,1009)
+LexToken(VAR,'exprs',1,1010)
+LexToken(EOL,'\n',1,1015)
+LexToken(VAR,'model',1,1024)
+LexToken(ASSIGNMENT,'=',1,1029)
+LexToken(VAR,'x',1,1030)
+LexToken(DOT,'.',1,1031)
+LexToken(VAR,'model',1,1032)
+LexToken(SEMICOLON,';',1,1037)
+LexToken(EOL,'\n',1,1038)
+LexToken(IF,'if',1,1047)
+LexToken(VAR,'model',1,1050)
+LexToken(DOT,'.',1,1055)
+LexToken(VAR,'ipar',1,1056)
+LexToken(COMPARISON,'==',1,1060)
+LexToken(OPENSQBRACKET,'[',1,1062)
+LexToken(CLOSESQBRACKET,']',1,1063)
+LexToken(THEN,'then',1,1065)
+LexToken(EOL,'\n',1,1069)
+LexToken(VAR,'model',1,1082)
+LexToken(DOT,'.',1,1087)
+LexToken(VAR,'ipar',1,1088)
+LexToken(ASSIGNMENT,'=',1,1092)
+LexToken(NUMBER,'1',1,1093)
+LexToken(SEMICOLON,';',1,1094)
+LexToken(EOL,'\n',1,1095)
+LexToken(END,'end',1,1104)
+LexToken(EOL,'\n',1,1107)
+LexToken(IF,'if',1,1116)
+LexToken(VAR,'size',1,1119)
+LexToken(OPENBRACKET,'(',1,1123)
+LexToken(VAR,'label',1,1124)
+LexToken(COMMA,',',1,1129)
+LexToken(DQSTRING,'"*"',1,1132)
+LexToken(CLOSEBRACKET,')',1,1133)
+LexToken(COMPARISON,'==',1,1134)
+LexToken(NUMBER,'1',1,1136)
+LexToken(THEN,'then',1,1138)
+LexToken(EOL,'\n',1,1142)
+LexToken(VAR,'label',1,1155)
+LexToken(OPENBRACKET,'(',1,1160)
+LexToken(NUMBER,'2',1,1161)
+LexToken(CLOSEBRACKET,')',1,1162)
+LexToken(ASSIGNMENT,'=',1,1163)
+LexToken(VAR,'sci2exp',1,1164)
+LexToken(OPENBRACKET,'(',1,1171)
+LexToken(NUMBER,'1',1,1172)
+LexToken(CLOSEBRACKET,')',1,1173)
+LexToken(COMMA,',',1,1174)
+LexToken(EOL,'\n',1,1175)
+LexToken(END,'end',1,1184)
+LexToken(EOL,'\n',1,1202)
+LexToken(IF,'if',1,1211)
+LexToken(VAR,'size',1,1214)
+LexToken(OPENBRACKET,'(',1,1218)
+LexToken(VAR,'label',1,1219)
+LexToken(COMMA,',',1,1224)
+LexToken(DQSTRING,'"*"',1,1227)
+LexToken(CLOSEBRACKET,')',1,1228)
+LexToken(COMPARISON,'==',1,1229)
+LexToken(NUMBER,'2',1,1231)
+LexToken(THEN,'then',1,1233)
+LexToken(EOL,'\n',1,1237)
+LexToken(VAR,'label',1,1250)
+LexToken(OPENBRACKET,'(',1,1255)
+LexToken(NUMBER,'3',1,1256)
+LexToken(CLOSEBRACKET,')',1,1257)
+LexToken(ASSIGNMENT,'=',1,1258)
+LexToken(VAR,'sci2exp',1,1259)
+LexToken(OPENBRACKET,'(',1,1266)
+LexToken(NUMBER,'1',1,1267)
+LexToken(CLOSEBRACKET,')',1,1268)
+LexToken(SEMICOLON,';',1,1269)
+LexToken(EOL,'\n',1,1270)
+LexToken(END,'end',1,1279)
+LexToken(EOL,'\n',1,1298)
+LexToken(WHILE,'while',1,1307)
+LexToken(PREVAR_BOOLEAN,'%t',1,1313)
+LexToken(DO,'do',1,1316)
+LexToken(EOL,'\n',1,1318)
+LexToken(OPENSQBRACKET,'[',1,1331)
+LexToken(VAR,'ok',1,1332)
+LexToken(COMMA,',',1,1334)
+LexToken(VAR,'dtype',1,1335)
+LexToken(COMMA,',',1,1340)
+LexToken(VAR,'rule',1,1341)
+LexToken(COMMA,',',1,1345)
+LexToken(VAR,'np',1,1346)
+LexToken(COMMA,',',1,1348)
+LexToken(VAR,'exprs',1,1349)
+LexToken(CLOSESQBRACKET,']',1,1354)
+LexToken(ASSIGNMENT,'=',1,1355)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1356)
+LexToken(OPENBRACKET,'(',1,1371)
+LexToken(OPENSQBRACKET,'[',1,1372)
+LexToken(DQSTRING,'"Set MATMUL parameter"',1,1394)
+LexToken(SEMICOLON,';',1,1395)
+LexToken(DQSTRING,'"For the Multipication rule:"',1,1437)
+LexToken(SEMICOLON,';',1,1438)
+LexToken(DQSTRING,'" 1= Matrix by Matrix"',1,1476)
+LexToken(SEMICOLON,';',1,1477)
+LexToken(DQSTRING,'" 2= Matrix by Matrix element wise "',1,1529)
+LexToken(SEMICOLON,';',1,1530)
+LexToken(DQSTRING,'" 3= Matrix by Scalar"',1,1568)
+LexToken(SEMICOLON,';',1,1569)
+LexToken(DQSTRING,'"In the third case the second input will be the scalar"',1,1637)
+LexToken(CLOSESQBRACKET,']',1,1638)
+LexToken(COMMA,',',1,1639)
+LexToken(OPENSQBRACKET,'[',1,1655)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex 3=int32 ...)"',1,1702)
+LexToken(SEMICOLON,';',1,1703)
+LexToken(DQSTRING,'"Multiplication rule"',1,1737)
+LexToken(SEMICOLON,';',1,1738)
+LexToken(DQSTRING,'"Do on Overflow(0=Nothing 1=Saturate 2=Error)"',1,1797)
+LexToken(CLOSESQBRACKET,']',1,1798)
+LexToken(COMMA,',',1,1799)
+LexToken(VAR,'list',1,1800)
+LexToken(OPENBRACKET,'(',1,1804)
+LexToken(DQSTRING,'"vec"',1,1809)
+LexToken(COMMA,',',1,1810)
+LexToken(NUMBER,'1',1,1811)
+LexToken(COMMA,',',1,1812)
+LexToken(DQSTRING,'"vec"',1,1817)
+LexToken(COMMA,',',1,1818)
+LexToken(NUMBER,'1',1,1819)
+LexToken(COMMA,',',1,1820)
+LexToken(DQSTRING,'"vec"',1,1825)
+LexToken(COMMA,',',1,1826)
+LexToken(NUMBER,'1',1,1827)
+LexToken(CLOSEBRACKET,')',1,1828)
+LexToken(COMMA,',',1,1829)
+LexToken(VAR,'label',1,1830)
+LexToken(CLOSEBRACKET,')',1,1835)
+LexToken(EOL,'\n',1,1836)
+LexToken(IF,'if',1,1849)
+LexToken(NOT,'~',1,1852)
+LexToken(VAR,'ok',1,1853)
+LexToken(THEN,'then',1,1856)
+LexToken(EOL,'\n',1,1860)
+LexToken(BREAK,'break',1,1877)
+LexToken(COMMA,',',1,1882)
+LexToken(EOL,'\n',1,1883)
+LexToken(END,'end',1,1896)
+LexToken(EOL,'\n',1,1899)
+LexToken(VAR,'rule',1,1912)
+LexToken(ASSIGNMENT,'=',1,1916)
+LexToken(VAR,'int',1,1917)
+LexToken(OPENBRACKET,'(',1,1920)
+LexToken(VAR,'rule',1,1921)
+LexToken(CLOSEBRACKET,')',1,1925)
+LexToken(EOL,'\n',1,1926)
+LexToken(IF,'if',1,1939)
+LexToken(OPENBRACKET,'(',1,1942)
+LexToken(VAR,'dtype',1,1943)
+LexToken(COMPARISON,'<',1,1948)
+LexToken(NUMBER,'1',1,1949)
+LexToken(LOGICAL,'|',1,1950)
+LexToken(VAR,'dtype',1,1951)
+LexToken(COMPARISON,'>',1,1956)
+LexToken(NUMBER,'8',1,1957)
+LexToken(CLOSEBRACKET,')',1,1958)
+LexToken(THEN,'then',1,1960)
+LexToken(EOL,'\n',1,1964)
+LexToken(VAR,'message',1,1981)
+LexToken(OPENBRACKET,'(',1,1988)
+LexToken(DQSTRING,'"type is not supported"',1,2011)
+LexToken(CLOSEBRACKET,')',1,2012)
+LexToken(SEMICOLON,';',1,2013)
+LexToken(EOL,'\n',1,2014)
+LexToken(VAR,'ok',1,2031)
+LexToken(ASSIGNMENT,'=',1,2033)
+LexToken(PREVAR_BOOLEAN,'%f',1,2034)
+LexToken(SEMICOLON,';',1,2036)
+LexToken(EOL,'\n',1,2037)
+LexToken(END,'end',1,2050)
+LexToken(EOL,'\n',1,2053)
+LexToken(IF,'if',1,2066)
+LexToken(OPENBRACKET,'(',1,2069)
+LexToken(VAR,'rule',1,2070)
+LexToken(COMPARISON,'<',1,2074)
+LexToken(NUMBER,'1',1,2075)
+LexToken(LOGICAL,'|',1,2076)
+LexToken(VAR,'rule',1,2077)
+LexToken(COMPARISON,'>',1,2081)
+LexToken(NUMBER,'3',1,2082)
+LexToken(CLOSEBRACKET,')',1,2083)
+LexToken(THEN,'then',1,2085)
+LexToken(EOL,'\n',1,2089)
+LexToken(VAR,'message',1,2106)
+LexToken(OPENBRACKET,'(',1,2113)
+LexToken(DQSTRING,'"Multiplication rule must be only 1,2 or 3"',1,2156)
+LexToken(CLOSEBRACKET,')',1,2157)
+LexToken(SEMICOLON,';',1,2158)
+LexToken(EOL,'\n',1,2159)
+LexToken(VAR,'ok',1,2176)
+LexToken(ASSIGNMENT,'=',1,2178)
+LexToken(PREVAR_BOOLEAN,'%f',1,2179)
+LexToken(SEMICOLON,';',1,2181)
+LexToken(EOL,'\n',1,2182)
+LexToken(END,'end',1,2195)
+LexToken(EOL,'\n',1,2198)
+LexToken(IF,'if',1,2211)
+LexToken(OPENBRACKET,'(',1,2214)
+LexToken(VAR,'dtype',1,2215)
+LexToken(COMPARISON,'==',1,2220)
+LexToken(NUMBER,'1',1,2222)
+LexToken(LOGICAL,'|',1,2223)
+LexToken(VAR,'dtype',1,2224)
+LexToken(COMPARISON,'==',1,2229)
+LexToken(NUMBER,'2',1,2231)
+LexToken(CLOSEBRACKET,')',1,2232)
+LexToken(THEN,'then',1,2234)
+LexToken(EOL,'\n',1,2238)
+LexToken(VAR,'np',1,2255)
+LexToken(ASSIGNMENT,'=',1,2257)
+LexToken(NUMBER,'0',1,2258)
+LexToken(SEMICOLON,';',1,2259)
+LexToken(EOL,'\n',1,2260)
+LexToken(END,'end',1,2273)
+LexToken(EOL,'\n',1,2276)
+LexToken(VAR,'TABMIN',1,2289)
+LexToken(ASSIGNMENT,'=',1,2295)
+LexToken(OPENSQBRACKET,'[',1,2296)
+LexToken(NUMBER,'0',1,2297)
+LexToken(SEMICOLON,';',1,2298)
+LexToken(NUMBER,'0',1,2299)
+LexToken(SEMICOLON,';',1,2300)
+LexToken(OPERATOR,'-',1,2301)
+LexToken(OPENBRACKET,'(',1,2302)
+LexToken(NUMBER,'2',1,2303)
+LexToken(OPERATOR,'^',1,2304)
+LexToken(NUMBER,'31',1,2305)
+LexToken(CLOSEBRACKET,')',1,2307)
+LexToken(SEMICOLON,';',1,2308)
+LexToken(OPERATOR,'-',1,2309)
+LexToken(OPENBRACKET,'(',1,2310)
+LexToken(NUMBER,'2',1,2311)
+LexToken(OPERATOR,'^',1,2312)
+LexToken(NUMBER,'15',1,2313)
+LexToken(CLOSEBRACKET,')',1,2315)
+LexToken(SEMICOLON,';',1,2316)
+LexToken(OPERATOR,'-',1,2317)
+LexToken(OPENBRACKET,'(',1,2318)
+LexToken(NUMBER,'2',1,2319)
+LexToken(OPERATOR,'^',1,2320)
+LexToken(NUMBER,'7',1,2321)
+LexToken(CLOSEBRACKET,')',1,2322)
+LexToken(SEMICOLON,';',1,2323)
+LexToken(NUMBER,'0',1,2324)
+LexToken(SEMICOLON,';',1,2325)
+LexToken(NUMBER,'0',1,2326)
+LexToken(SEMICOLON,';',1,2327)
+LexToken(NUMBER,'0',1,2328)
+LexToken(CLOSESQBRACKET,']',1,2329)
+LexToken(EOL,'\n',1,2330)
+LexToken(VAR,'TABMAX',1,2343)
+LexToken(ASSIGNMENT,'=',1,2349)
+LexToken(OPENSQBRACKET,'[',1,2350)
+LexToken(NUMBER,'0',1,2351)
+LexToken(SEMICOLON,';',1,2352)
+LexToken(NUMBER,'0',1,2353)
+LexToken(SEMICOLON,';',1,2354)
+LexToken(OPENBRACKET,'(',1,2355)
+LexToken(NUMBER,'2',1,2356)
+LexToken(OPERATOR,'^',1,2357)
+LexToken(NUMBER,'31',1,2358)
+LexToken(CLOSEBRACKET,')',1,2360)
+LexToken(NUMBER,'-1',1,2361)
+LexToken(SEMICOLON,';',1,2363)
+LexToken(OPENBRACKET,'(',1,2364)
+LexToken(NUMBER,'2',1,2365)
+LexToken(OPERATOR,'^',1,2366)
+LexToken(NUMBER,'15',1,2367)
+LexToken(CLOSEBRACKET,')',1,2369)
+LexToken(NUMBER,'-1',1,2370)
+LexToken(SEMICOLON,';',1,2372)
+LexToken(OPENBRACKET,'(',1,2373)
+LexToken(NUMBER,'2',1,2374)
+LexToken(OPERATOR,'^',1,2375)
+LexToken(NUMBER,'7',1,2376)
+LexToken(CLOSEBRACKET,')',1,2377)
+LexToken(NUMBER,'-1',1,2378)
+LexToken(SEMICOLON,';',1,2380)
+LexToken(OPENBRACKET,'(',1,2381)
+LexToken(NUMBER,'2',1,2382)
+LexToken(OPERATOR,'^',1,2383)
+LexToken(NUMBER,'32',1,2384)
+LexToken(CLOSEBRACKET,')',1,2386)
+LexToken(NUMBER,'-1',1,2387)
+LexToken(SEMICOLON,';',1,2389)
+LexToken(OPENBRACKET,'(',1,2390)
+LexToken(NUMBER,'2',1,2391)
+LexToken(OPERATOR,'^',1,2392)
+LexToken(NUMBER,'16',1,2393)
+LexToken(CLOSEBRACKET,')',1,2395)
+LexToken(NUMBER,'-1',1,2396)
+LexToken(SEMICOLON,';',1,2398)
+LexToken(OPENBRACKET,'(',1,2399)
+LexToken(NUMBER,'2',1,2400)
+LexToken(OPERATOR,'^',1,2401)
+LexToken(NUMBER,'8',1,2402)
+LexToken(CLOSEBRACKET,')',1,2403)
+LexToken(NUMBER,'-1',1,2404)
+LexToken(CLOSESQBRACKET,']',1,2406)
+LexToken(EOL,'\n',1,2407)
+LexToken(IF,'if',1,2420)
+LexToken(VAR,'rule',1,2423)
+LexToken(COMPARISON,'==',1,2427)
+LexToken(NUMBER,'2',1,2429)
+LexToken(THEN,'then',1,2431)
+LexToken(EOL,'\n',1,2435)
+LexToken(IF,'if',1,2452)
+LexToken(VAR,'np',1,2455)
+LexToken(COMPARISON,'==',1,2457)
+LexToken(NUMBER,'0',1,2459)
+LexToken(THEN,'then',1,2461)
+LexToken(EOL,'\n',1,2465)
+LexToken(VAR,'model',1,2486)
+LexToken(DOT,'.',1,2491)
+LexToken(VAR,'sim',1,2492)
+LexToken(ASSIGNMENT,'=',1,2495)
+LexToken(VAR,'list',1,2496)
+LexToken(OPENBRACKET,'(',1,2500)
+LexToken(DQSTRING,'"matmul2_m"',1,2511)
+LexToken(COMMA,',',1,2512)
+LexToken(NUMBER,'4',1,2513)
+LexToken(CLOSEBRACKET,')',1,2514)
+LexToken(EOL,'\n',1,2515)
+LexToken(ELSEIF,'elseif',1,2532)
+LexToken(VAR,'np',1,2539)
+LexToken(COMPARISON,'==',1,2541)
+LexToken(NUMBER,'1',1,2543)
+LexToken(THEN,'then',1,2545)
+LexToken(EOL,'\n',1,2549)
+LexToken(VAR,'model',1,2570)
+LexToken(DOT,'.',1,2575)
+LexToken(VAR,'sim',1,2576)
+LexToken(ASSIGNMENT,'=',1,2579)
+LexToken(VAR,'list',1,2580)
+LexToken(OPENBRACKET,'(',1,2584)
+LexToken(DQSTRING,'"matmul2_s"',1,2595)
+LexToken(COMMA,',',1,2596)
+LexToken(NUMBER,'4',1,2597)
+LexToken(CLOSEBRACKET,')',1,2598)
+LexToken(EOL,'\n',1,2599)
+LexToken(ELSE,'else',1,2616)
+LexToken(EOL,'\n',1,2620)
+LexToken(VAR,'model',1,2641)
+LexToken(DOT,'.',1,2646)
+LexToken(VAR,'sim',1,2647)
+LexToken(ASSIGNMENT,'=',1,2650)
+LexToken(VAR,'list',1,2651)
+LexToken(OPENBRACKET,'(',1,2655)
+LexToken(DQSTRING,'"matmul2_e"',1,2666)
+LexToken(COMMA,',',1,2667)
+LexToken(NUMBER,'4',1,2668)
+LexToken(CLOSEBRACKET,')',1,2669)
+LexToken(EOL,'\n',1,2670)
+LexToken(END,'end',1,2687)
+LexToken(EOL,'\n',1,2690)
+LexToken(ELSEIF,'elseif',1,2703)
+LexToken(VAR,'rule',1,2710)
+LexToken(COMPARISON,'==',1,2714)
+LexToken(NUMBER,'3',1,2716)
+LexToken(THEN,'then',1,2718)
+LexToken(EOL,'\n',1,2722)
+LexToken(IF,'if',1,2739)
+LexToken(VAR,'np',1,2742)
+LexToken(COMPARISON,'==',1,2744)
+LexToken(NUMBER,'0',1,2746)
+LexToken(THEN,'then',1,2748)
+LexToken(EOL,'\n',1,2752)
+LexToken(VAR,'model',1,2773)
+LexToken(DOT,'.',1,2778)
+LexToken(VAR,'sim',1,2779)
+LexToken(ASSIGNMENT,'=',1,2782)
+LexToken(VAR,'list',1,2783)
+LexToken(OPENBRACKET,'(',1,2787)
+LexToken(DQSTRING,'"matbyscal"',1,2798)
+LexToken(COMMA,',',1,2799)
+LexToken(NUMBER,'4',1,2800)
+LexToken(CLOSEBRACKET,')',1,2801)
+LexToken(EOL,'\n',1,2802)
+LexToken(ELSEIF,'elseif',1,2819)
+LexToken(VAR,'np',1,2826)
+LexToken(COMPARISON,'==',1,2828)
+LexToken(NUMBER,'1',1,2830)
+LexToken(THEN,'then',1,2832)
+LexToken(EOL,'\n',1,2836)
+LexToken(VAR,'model',1,2857)
+LexToken(DOT,'.',1,2862)
+LexToken(VAR,'sim',1,2863)
+LexToken(ASSIGNMENT,'=',1,2866)
+LexToken(VAR,'list',1,2867)
+LexToken(OPENBRACKET,'(',1,2871)
+LexToken(DQSTRING,'"matbyscal_s"',1,2884)
+LexToken(COMMA,',',1,2885)
+LexToken(NUMBER,'4',1,2886)
+LexToken(CLOSEBRACKET,')',1,2887)
+LexToken(EOL,'\n',1,2888)
+LexToken(ELSE,'else',1,2905)
+LexToken(EOL,'\n',1,2909)
+LexToken(VAR,'model',1,2930)
+LexToken(DOT,'.',1,2935)
+LexToken(VAR,'sim',1,2936)
+LexToken(ASSIGNMENT,'=',1,2939)
+LexToken(VAR,'list',1,2940)
+LexToken(OPENBRACKET,'(',1,2944)
+LexToken(DQSTRING,'"matbyscal_e"',1,2957)
+LexToken(COMMA,',',1,2958)
+LexToken(NUMBER,'4',1,2959)
+LexToken(CLOSEBRACKET,')',1,2960)
+LexToken(EOL,'\n',1,2961)
+LexToken(END,'end',1,2978)
+LexToken(EOL,'\n',1,2981)
+LexToken(ELSE,'else',1,2994)
+LexToken(EOL,'\n',1,2998)
+LexToken(IF,'if',1,3015)
+LexToken(OPENBRACKET,'(',1,3018)
+LexToken(VAR,'dtype',1,3019)
+LexToken(COMPARISON,'==',1,3024)
+LexToken(NUMBER,'1',1,3026)
+LexToken(CLOSEBRACKET,')',1,3027)
+LexToken(THEN,'then',1,3029)
+LexToken(EOL,'\n',1,3033)
+LexToken(VAR,'model',1,3054)
+LexToken(DOT,'.',1,3059)
+LexToken(VAR,'sim',1,3060)
+LexToken(ASSIGNMENT,'=',1,3063)
+LexToken(VAR,'list',1,3064)
+LexToken(OPENBRACKET,'(',1,3068)
+LexToken(DQSTRING,'"matmul_m"',1,3078)
+LexToken(COMMA,',',1,3079)
+LexToken(NUMBER,'4',1,3080)
+LexToken(CLOSEBRACKET,')',1,3081)
+LexToken(SEMICOLON,';',1,3082)
+LexToken(EOL,'\n',1,3083)
+LexToken(ELSEIF,'elseif',1,3100)
+LexToken(OPENBRACKET,'(',1,3107)
+LexToken(VAR,'dtype',1,3108)
+LexToken(COMPARISON,'==',1,3113)
+LexToken(NUMBER,'2',1,3115)
+LexToken(CLOSEBRACKET,')',1,3116)
+LexToken(THEN,'then',1,3118)
+LexToken(EOL,'\n',1,3122)
+LexToken(VAR,'model',1,3143)
+LexToken(DOT,'.',1,3148)
+LexToken(VAR,'sim',1,3149)
+LexToken(ASSIGNMENT,'=',1,3152)
+LexToken(VAR,'list',1,3153)
+LexToken(OPENBRACKET,'(',1,3157)
+LexToken(DQSTRING,'"matzmul_m"',1,3168)
+LexToken(COMMA,',',1,3169)
+LexToken(NUMBER,'4',1,3170)
+LexToken(CLOSEBRACKET,')',1,3171)
+LexToken(SEMICOLON,';',1,3172)
+LexToken(EOL,'\n',1,3173)
+LexToken(ELSEIF,'elseif',1,3190)
+LexToken(VAR,'dtype',1,3197)
+LexToken(COMPARISON,'==',1,3202)
+LexToken(NUMBER,'3',1,3204)
+LexToken(THEN,'then',1,3206)
+LexToken(EOL,'\n',1,3210)
+LexToken(IF,'if',1,3231)
+LexToken(VAR,'np',1,3234)
+LexToken(COMPARISON,'==',1,3236)
+LexToken(NUMBER,'0',1,3238)
+LexToken(THEN,'then',1,3240)
+LexToken(EOL,'\n',1,3244)
+LexToken(VAR,'model',1,3269)
+LexToken(DOT,'.',1,3274)
+LexToken(VAR,'sim',1,3275)
+LexToken(ASSIGNMENT,'=',1,3278)
+LexToken(VAR,'list',1,3279)
+LexToken(OPENBRACKET,'(',1,3283)
+LexToken(DQSTRING,'"matmul_i32n"',1,3296)
+LexToken(COMMA,',',1,3297)
+LexToken(NUMBER,'4',1,3298)
+LexToken(CLOSEBRACKET,')',1,3299)
+LexToken(EOL,'\n',1,3300)
+LexToken(ELSEIF,'elseif',1,3321)
+LexToken(VAR,'np',1,3328)
+LexToken(COMPARISON,'==',1,3330)
+LexToken(NUMBER,'1',1,3332)
+LexToken(THEN,'then',1,3334)
+LexToken(EOL,'\n',1,3338)
+LexToken(VAR,'model',1,3363)
+LexToken(DOT,'.',1,3368)
+LexToken(VAR,'sim',1,3369)
+LexToken(ASSIGNMENT,'=',1,3372)
+LexToken(VAR,'list',1,3373)
+LexToken(OPENBRACKET,'(',1,3377)
+LexToken(DQSTRING,'"matmul_i32s"',1,3390)
+LexToken(COMMA,',',1,3391)
+LexToken(NUMBER,'4',1,3392)
+LexToken(CLOSEBRACKET,')',1,3393)
+LexToken(EOL,'\n',1,3394)
+LexToken(ELSE,'else',1,3415)
+LexToken(EOL,'\n',1,3419)
+LexToken(VAR,'model',1,3444)
+LexToken(DOT,'.',1,3449)
+LexToken(VAR,'sim',1,3450)
+LexToken(ASSIGNMENT,'=',1,3453)
+LexToken(VAR,'list',1,3454)
+LexToken(OPENBRACKET,'(',1,3458)
+LexToken(DQSTRING,'"matmul_i32e"',1,3471)
+LexToken(COMMA,',',1,3472)
+LexToken(NUMBER,'4',1,3473)
+LexToken(CLOSEBRACKET,')',1,3474)
+LexToken(EOL,'\n',1,3475)
+LexToken(END,'end',1,3496)
+LexToken(EOL,'\n',1,3499)
+LexToken(ELSEIF,'elseif',1,3516)
+LexToken(VAR,'dtype',1,3523)
+LexToken(COMPARISON,'==',1,3528)
+LexToken(NUMBER,'4',1,3530)
+LexToken(THEN,'then',1,3532)
+LexToken(EOL,'\n',1,3536)
+LexToken(IF,'if',1,3557)
+LexToken(VAR,'np',1,3560)
+LexToken(COMPARISON,'==',1,3562)
+LexToken(NUMBER,'0',1,3564)
+LexToken(THEN,'then',1,3566)
+LexToken(EOL,'\n',1,3570)
+LexToken(VAR,'model',1,3595)
+LexToken(DOT,'.',1,3600)
+LexToken(VAR,'sim',1,3601)
+LexToken(ASSIGNMENT,'=',1,3604)
+LexToken(VAR,'list',1,3605)
+LexToken(OPENBRACKET,'(',1,3609)
+LexToken(DQSTRING,'"matmul_i16n"',1,3622)
+LexToken(COMMA,',',1,3623)
+LexToken(NUMBER,'4',1,3624)
+LexToken(CLOSEBRACKET,')',1,3625)
+LexToken(EOL,'\n',1,3626)
+LexToken(ELSEIF,'elseif',1,3647)
+LexToken(VAR,'np',1,3654)
+LexToken(COMPARISON,'==',1,3656)
+LexToken(NUMBER,'1',1,3658)
+LexToken(THEN,'then',1,3660)
+LexToken(EOL,'\n',1,3664)
+LexToken(VAR,'model',1,3689)
+LexToken(DOT,'.',1,3694)
+LexToken(VAR,'sim',1,3695)
+LexToken(ASSIGNMENT,'=',1,3698)
+LexToken(VAR,'list',1,3699)
+LexToken(OPENBRACKET,'(',1,3703)
+LexToken(DQSTRING,'"matmul_i16s"',1,3716)
+LexToken(COMMA,',',1,3717)
+LexToken(NUMBER,'4',1,3718)
+LexToken(CLOSEBRACKET,')',1,3719)
+LexToken(EOL,'\n',1,3720)
+LexToken(ELSE,'else',1,3741)
+LexToken(EOL,'\n',1,3745)
+LexToken(VAR,'model',1,3770)
+LexToken(DOT,'.',1,3775)
+LexToken(VAR,'sim',1,3776)
+LexToken(ASSIGNMENT,'=',1,3779)
+LexToken(VAR,'list',1,3780)
+LexToken(OPENBRACKET,'(',1,3784)
+LexToken(DQSTRING,'"matmul_i16e"',1,3797)
+LexToken(COMMA,',',1,3798)
+LexToken(NUMBER,'4',1,3799)
+LexToken(CLOSEBRACKET,')',1,3800)
+LexToken(EOL,'\n',1,3801)
+LexToken(END,'end',1,3822)
+LexToken(EOL,'\n',1,3825)
+LexToken(ELSEIF,'elseif',1,3842)
+LexToken(VAR,'dtype',1,3849)
+LexToken(COMPARISON,'==',1,3854)
+LexToken(NUMBER,'5',1,3856)
+LexToken(THEN,'then',1,3858)
+LexToken(EOL,'\n',1,3862)
+LexToken(IF,'if',1,3883)
+LexToken(VAR,'np',1,3886)
+LexToken(COMPARISON,'==',1,3888)
+LexToken(NUMBER,'0',1,3890)
+LexToken(THEN,'then',1,3892)
+LexToken(EOL,'\n',1,3896)
+LexToken(VAR,'model',1,3921)
+LexToken(DOT,'.',1,3926)
+LexToken(VAR,'sim',1,3927)
+LexToken(ASSIGNMENT,'=',1,3930)
+LexToken(VAR,'list',1,3931)
+LexToken(OPENBRACKET,'(',1,3935)
+LexToken(DQSTRING,'"matmul_i8n"',1,3947)
+LexToken(COMMA,',',1,3948)
+LexToken(NUMBER,'4',1,3949)
+LexToken(CLOSEBRACKET,')',1,3950)
+LexToken(EOL,'\n',1,3951)
+LexToken(ELSEIF,'elseif',1,3972)
+LexToken(VAR,'np',1,3979)
+LexToken(COMPARISON,'==',1,3981)
+LexToken(NUMBER,'1',1,3983)
+LexToken(THEN,'then',1,3985)
+LexToken(EOL,'\n',1,3989)
+LexToken(VAR,'model',1,4014)
+LexToken(DOT,'.',1,4019)
+LexToken(VAR,'sim',1,4020)
+LexToken(ASSIGNMENT,'=',1,4023)
+LexToken(VAR,'list',1,4024)
+LexToken(OPENBRACKET,'(',1,4028)
+LexToken(DQSTRING,'"matmul_i8s"',1,4040)
+LexToken(COMMA,',',1,4041)
+LexToken(NUMBER,'4',1,4042)
+LexToken(CLOSEBRACKET,')',1,4043)
+LexToken(EOL,'\n',1,4044)
+LexToken(ELSE,'else',1,4065)
+LexToken(EOL,'\n',1,4069)
+LexToken(VAR,'model',1,4094)
+LexToken(DOT,'.',1,4099)
+LexToken(VAR,'sim',1,4100)
+LexToken(ASSIGNMENT,'=',1,4103)
+LexToken(VAR,'list',1,4104)
+LexToken(OPENBRACKET,'(',1,4108)
+LexToken(DQSTRING,'"matmul_i8e"',1,4120)
+LexToken(COMMA,',',1,4121)
+LexToken(NUMBER,'4',1,4122)
+LexToken(CLOSEBRACKET,')',1,4123)
+LexToken(EOL,'\n',1,4124)
+LexToken(END,'end',1,4145)
+LexToken(EOL,'\n',1,4148)
+LexToken(ELSEIF,'elseif',1,4165)
+LexToken(VAR,'dtype',1,4172)
+LexToken(COMPARISON,'==',1,4177)
+LexToken(NUMBER,'6',1,4179)
+LexToken(THEN,'then',1,4181)
+LexToken(EOL,'\n',1,4185)
+LexToken(IF,'if',1,4206)
+LexToken(VAR,'np',1,4209)
+LexToken(COMPARISON,'==',1,4211)
+LexToken(NUMBER,'0',1,4213)
+LexToken(THEN,'then',1,4215)
+LexToken(EOL,'\n',1,4219)
+LexToken(VAR,'model',1,4244)
+LexToken(DOT,'.',1,4249)
+LexToken(VAR,'sim',1,4250)
+LexToken(ASSIGNMENT,'=',1,4253)
+LexToken(VAR,'list',1,4254)
+LexToken(OPENBRACKET,'(',1,4258)
+LexToken(DQSTRING,'"matmul_ui32n"',1,4272)
+LexToken(COMMA,',',1,4273)
+LexToken(NUMBER,'4',1,4274)
+LexToken(CLOSEBRACKET,')',1,4275)
+LexToken(EOL,'\n',1,4276)
+LexToken(ELSEIF,'elseif',1,4297)
+LexToken(VAR,'np',1,4304)
+LexToken(COMPARISON,'==',1,4306)
+LexToken(NUMBER,'1',1,4308)
+LexToken(THEN,'then',1,4310)
+LexToken(EOL,'\n',1,4314)
+LexToken(VAR,'model',1,4339)
+LexToken(DOT,'.',1,4344)
+LexToken(VAR,'sim',1,4345)
+LexToken(ASSIGNMENT,'=',1,4348)
+LexToken(VAR,'list',1,4349)
+LexToken(OPENBRACKET,'(',1,4353)
+LexToken(DQSTRING,'"matmul_ui32s"',1,4367)
+LexToken(COMMA,',',1,4368)
+LexToken(NUMBER,'4',1,4369)
+LexToken(CLOSEBRACKET,')',1,4370)
+LexToken(EOL,'\n',1,4371)
+LexToken(ELSE,'else',1,4392)
+LexToken(EOL,'\n',1,4396)
+LexToken(VAR,'model',1,4421)
+LexToken(DOT,'.',1,4426)
+LexToken(VAR,'sim',1,4427)
+LexToken(ASSIGNMENT,'=',1,4430)
+LexToken(VAR,'list',1,4431)
+LexToken(OPENBRACKET,'(',1,4435)
+LexToken(DQSTRING,'"matmul_ui32e"',1,4449)
+LexToken(COMMA,',',1,4450)
+LexToken(NUMBER,'4',1,4451)
+LexToken(CLOSEBRACKET,')',1,4452)
+LexToken(EOL,'\n',1,4453)
+LexToken(END,'end',1,4474)
+LexToken(EOL,'\n',1,4477)
+LexToken(ELSEIF,'elseif',1,4494)
+LexToken(VAR,'dtype',1,4501)
+LexToken(COMPARISON,'==',1,4506)
+LexToken(NUMBER,'7',1,4508)
+LexToken(THEN,'then',1,4510)
+LexToken(EOL,'\n',1,4514)
+LexToken(IF,'if',1,4535)
+LexToken(VAR,'np',1,4538)
+LexToken(COMPARISON,'==',1,4540)
+LexToken(NUMBER,'0',1,4542)
+LexToken(THEN,'then',1,4544)
+LexToken(EOL,'\n',1,4548)
+LexToken(VAR,'model',1,4573)
+LexToken(DOT,'.',1,4578)
+LexToken(VAR,'sim',1,4579)
+LexToken(ASSIGNMENT,'=',1,4582)
+LexToken(VAR,'list',1,4583)
+LexToken(OPENBRACKET,'(',1,4587)
+LexToken(DQSTRING,'"matmul_ui16n"',1,4601)
+LexToken(COMMA,',',1,4602)
+LexToken(NUMBER,'4',1,4603)
+LexToken(CLOSEBRACKET,')',1,4604)
+LexToken(EOL,'\n',1,4605)
+LexToken(ELSEIF,'elseif',1,4626)
+LexToken(VAR,'np',1,4633)
+LexToken(COMPARISON,'==',1,4635)
+LexToken(NUMBER,'1',1,4637)
+LexToken(THEN,'then',1,4639)
+LexToken(EOL,'\n',1,4643)
+LexToken(VAR,'model',1,4668)
+LexToken(DOT,'.',1,4673)
+LexToken(VAR,'sim',1,4674)
+LexToken(ASSIGNMENT,'=',1,4677)
+LexToken(VAR,'list',1,4678)
+LexToken(OPENBRACKET,'(',1,4682)
+LexToken(DQSTRING,'"matmul_ui16s"',1,4696)
+LexToken(COMMA,',',1,4697)
+LexToken(NUMBER,'4',1,4698)
+LexToken(CLOSEBRACKET,')',1,4699)
+LexToken(EOL,'\n',1,4700)
+LexToken(ELSE,'else',1,4721)
+LexToken(EOL,'\n',1,4725)
+LexToken(VAR,'model',1,4750)
+LexToken(DOT,'.',1,4755)
+LexToken(VAR,'sim',1,4756)
+LexToken(ASSIGNMENT,'=',1,4759)
+LexToken(VAR,'list',1,4760)
+LexToken(OPENBRACKET,'(',1,4764)
+LexToken(DQSTRING,'"matmul_ui16e"',1,4778)
+LexToken(COMMA,',',1,4779)
+LexToken(NUMBER,'4',1,4780)
+LexToken(CLOSEBRACKET,')',1,4781)
+LexToken(EOL,'\n',1,4782)
+LexToken(END,'end',1,4803)
+LexToken(EOL,'\n',1,4806)
+LexToken(ELSEIF,'elseif',1,4823)
+LexToken(VAR,'dtype',1,4830)
+LexToken(COMPARISON,'==',1,4835)
+LexToken(NUMBER,'8',1,4837)
+LexToken(THEN,'then',1,4839)
+LexToken(EOL,'\n',1,4843)
+LexToken(IF,'if',1,4864)
+LexToken(VAR,'np',1,4867)
+LexToken(COMPARISON,'==',1,4869)
+LexToken(NUMBER,'0',1,4871)
+LexToken(THEN,'then',1,4873)
+LexToken(EOL,'\n',1,4877)
+LexToken(VAR,'model',1,4902)
+LexToken(DOT,'.',1,4907)
+LexToken(VAR,'sim',1,4908)
+LexToken(ASSIGNMENT,'=',1,4911)
+LexToken(VAR,'list',1,4912)
+LexToken(OPENBRACKET,'(',1,4916)
+LexToken(DQSTRING,'"matmul_ui8n"',1,4929)
+LexToken(COMMA,',',1,4930)
+LexToken(NUMBER,'4',1,4931)
+LexToken(CLOSEBRACKET,')',1,4932)
+LexToken(EOL,'\n',1,4933)
+LexToken(ELSEIF,'elseif',1,4954)
+LexToken(VAR,'np',1,4961)
+LexToken(COMPARISON,'==',1,4963)
+LexToken(NUMBER,'1',1,4965)
+LexToken(THEN,'then',1,4967)
+LexToken(EOL,'\n',1,4971)
+LexToken(VAR,'model',1,4996)
+LexToken(DOT,'.',1,5001)
+LexToken(VAR,'sim',1,5002)
+LexToken(ASSIGNMENT,'=',1,5005)
+LexToken(VAR,'list',1,5006)
+LexToken(OPENBRACKET,'(',1,5010)
+LexToken(DQSTRING,'"matmul_ui8s"',1,5023)
+LexToken(COMMA,',',1,5024)
+LexToken(NUMBER,'4',1,5025)
+LexToken(CLOSEBRACKET,')',1,5026)
+LexToken(EOL,'\n',1,5027)
+LexToken(ELSE,'else',1,5048)
+LexToken(EOL,'\n',1,5052)
+LexToken(VAR,'model',1,5077)
+LexToken(DOT,'.',1,5082)
+LexToken(VAR,'sim',1,5083)
+LexToken(ASSIGNMENT,'=',1,5086)
+LexToken(VAR,'list',1,5087)
+LexToken(OPENBRACKET,'(',1,5091)
+LexToken(DQSTRING,'"matmul_ui8e"',1,5104)
+LexToken(COMMA,',',1,5105)
+LexToken(NUMBER,'4',1,5106)
+LexToken(CLOSEBRACKET,')',1,5107)
+LexToken(EOL,'\n',1,5108)
+LexToken(END,'end',1,5129)
+LexToken(EOL,'\n',1,5132)
+LexToken(END,'end',1,5149)
+LexToken(EOL,'\n',1,5152)
+LexToken(END,'end',1,5165)
+LexToken(EOL,'\n',1,5168)
+LexToken(VAR,'kmin',1,5181)
+LexToken(ASSIGNMENT,'=',1,5185)
+LexToken(VAR,'TABMIN',1,5186)
+LexToken(OPENBRACKET,'(',1,5192)
+LexToken(VAR,'dtype',1,5193)
+LexToken(CLOSEBRACKET,')',1,5198)
+LexToken(SEMICOLON,';',1,5199)
+LexToken(VAR,'kmax',1,5200)
+LexToken(ASSIGNMENT,'=',1,5204)
+LexToken(VAR,'TABMAX',1,5205)
+LexToken(OPENBRACKET,'(',1,5211)
+LexToken(VAR,'dtype',1,5212)
+LexToken(CLOSEBRACKET,')',1,5217)
+LexToken(EOL,'\n',1,5218)
+LexToken(VAR,'it',1,5231)
+LexToken(ASSIGNMENT,'=',1,5233)
+LexToken(VAR,'dtype',1,5234)
+LexToken(OPERATOR,'*',1,5239)
+LexToken(VAR,'ones',1,5240)
+LexToken(OPENBRACKET,'(',1,5244)
+LexToken(NUMBER,'1',1,5245)
+LexToken(COMMA,',',1,5246)
+LexToken(NUMBER,'2',1,5247)
+LexToken(CLOSEBRACKET,')',1,5248)
+LexToken(SEMICOLON,';',1,5249)
+LexToken(EOL,'\n',1,5250)
+LexToken(VAR,'ot',1,5263)
+LexToken(ASSIGNMENT,'=',1,5265)
+LexToken(VAR,'dtype',1,5266)
+LexToken(EOL,'\n',1,5271)
+LexToken(IF,'if',1,5284)
+LexToken(VAR,'rule',1,5287)
+LexToken(COMPARISON,'==',1,5291)
+LexToken(NUMBER,'1',1,5293)
+LexToken(THEN,'then',1,5295)
+LexToken(EOL,'\n',1,5299)
+LexToken(VAR,'in',1,5316)
+LexToken(ASSIGNMENT,'=',1,5318)
+LexToken(OPENSQBRACKET,'[',1,5319)
+LexToken(NUMBER,'-1',1,5320)
+LexToken(NUMBER,'-2',1,5323)
+LexToken(SEMICOLON,';',1,5325)
+LexToken(NUMBER,'-2',1,5326)
+LexToken(NUMBER,'-3',1,5329)
+LexToken(CLOSESQBRACKET,']',1,5331)
+LexToken(SEMICOLON,';',1,5332)
+LexToken(EOL,'\n',1,5333)
+LexToken(VAR,'out',1,5350)
+LexToken(ASSIGNMENT,'=',1,5353)
+LexToken(OPENSQBRACKET,'[',1,5354)
+LexToken(NUMBER,'-1',1,5355)
+LexToken(NUMBER,'-3',1,5358)
+LexToken(CLOSESQBRACKET,']',1,5360)
+LexToken(SEMICOLON,';',1,5361)
+LexToken(EOL,'\n',1,5362)
+LexToken(ELSEIF,'elseif',1,5375)
+LexToken(VAR,'rule',1,5382)
+LexToken(COMPARISON,'==',1,5386)
+LexToken(NUMBER,'2',1,5388)
+LexToken(THEN,'then',1,5390)
+LexToken(EOL,'\n',1,5394)
+LexToken(VAR,'in',1,5411)
+LexToken(ASSIGNMENT,'=',1,5413)
+LexToken(OPENSQBRACKET,'[',1,5414)
+LexToken(NUMBER,'-1',1,5415)
+LexToken(NUMBER,'-2',1,5418)
+LexToken(SEMICOLON,';',1,5420)
+LexToken(NUMBER,'-1',1,5421)
+LexToken(NUMBER,'-2',1,5424)
+LexToken(CLOSESQBRACKET,']',1,5426)
+LexToken(EOL,'\n',1,5427)
+LexToken(VAR,'out',1,5444)
+LexToken(ASSIGNMENT,'=',1,5447)
+LexToken(OPENSQBRACKET,'[',1,5448)
+LexToken(NUMBER,'-1',1,5449)
+LexToken(NUMBER,'-2',1,5452)
+LexToken(CLOSESQBRACKET,']',1,5454)
+LexToken(EOL,'\n',1,5455)
+LexToken(ELSE,'else',1,5468)
+LexToken(EOL,'\n',1,5472)
+LexToken(VAR,'in',1,5489)
+LexToken(ASSIGNMENT,'=',1,5491)
+LexToken(OPENSQBRACKET,'[',1,5492)
+LexToken(NUMBER,'-1',1,5493)
+LexToken(NUMBER,'-2',1,5496)
+LexToken(SEMICOLON,';',1,5498)
+LexToken(NUMBER,'1',1,5499)
+LexToken(NUMBER,'1',1,5501)
+LexToken(CLOSESQBRACKET,']',1,5502)
+LexToken(EOL,'\n',1,5503)
+LexToken(VAR,'out',1,5520)
+LexToken(ASSIGNMENT,'=',1,5523)
+LexToken(OPENSQBRACKET,'[',1,5524)
+LexToken(NUMBER,'-1',1,5525)
+LexToken(NUMBER,'-2',1,5528)
+LexToken(CLOSESQBRACKET,']',1,5530)
+LexToken(EOL,'\n',1,5531)
+LexToken(END,'end',1,5544)
+LexToken(EOL,'\n',1,5547)
+LexToken(OPENSQBRACKET,'[',1,5560)
+LexToken(VAR,'model',1,5561)
+LexToken(COMMA,',',1,5566)
+LexToken(VAR,'graphics',1,5567)
+LexToken(COMMA,',',1,5575)
+LexToken(VAR,'ok',1,5576)
+LexToken(CLOSESQBRACKET,']',1,5578)
+LexToken(ASSIGNMENT,'=',1,5579)
+LexToken(VAR,'set_io',1,5580)
+LexToken(OPENBRACKET,'(',1,5586)
+LexToken(VAR,'model',1,5587)
+LexToken(COMMA,',',1,5592)
+LexToken(VAR,'graphics',1,5593)
+LexToken(COMMA,',',1,5601)
+LexToken(VAR,'list',1,5602)
+LexToken(OPENBRACKET,'(',1,5606)
+LexToken(VAR,'in',1,5607)
+LexToken(COMMA,',',1,5609)
+LexToken(VAR,'it',1,5610)
+LexToken(CLOSEBRACKET,')',1,5612)
+LexToken(COMMA,',',1,5613)
+LexToken(VAR,'list',1,5614)
+LexToken(OPENBRACKET,'(',1,5618)
+LexToken(VAR,'out',1,5619)
+LexToken(COMMA,',',1,5622)
+LexToken(VAR,'ot',1,5623)
+LexToken(CLOSEBRACKET,')',1,5625)
+LexToken(COMMA,',',1,5626)
+LexToken(OPENSQBRACKET,'[',1,5627)
+LexToken(CLOSESQBRACKET,']',1,5628)
+LexToken(COMMA,',',1,5629)
+LexToken(OPENSQBRACKET,'[',1,5630)
+LexToken(CLOSESQBRACKET,']',1,5631)
+LexToken(CLOSEBRACKET,')',1,5632)
+LexToken(EOL,'\n',1,5633)
+LexToken(IF,'if',1,5646)
+LexToken(VAR,'ok',1,5649)
+LexToken(THEN,'then',1,5652)
+LexToken(EOL,'\n',1,5656)
+LexToken(EOL,'\n',1,5715)
+LexToken(VAR,'label',1,5732)
+LexToken(ASSIGNMENT,'=',1,5737)
+LexToken(VAR,'exprs',1,5738)
+LexToken(SEMICOLON,';',1,5743)
+LexToken(EOL,'\n',1,5744)
+LexToken(VAR,'model',1,5761)
+LexToken(DOT,'.',1,5766)
+LexToken(VAR,'ipar',1,5767)
+LexToken(ASSIGNMENT,'=',1,5771)
+LexToken(VAR,'rule',1,5772)
+LexToken(EOL,'\n',1,5776)
+LexToken(VAR,'model',1,5793)
+LexToken(DOT,'.',1,5798)
+LexToken(VAR,'rpar',1,5799)
+LexToken(ASSIGNMENT,'=',1,5803)
+LexToken(OPENSQBRACKET,'[',1,5804)
+LexToken(VAR,'kmin',1,5805)
+LexToken(SEMICOLON,';',1,5809)
+LexToken(VAR,'kmax',1,5810)
+LexToken(CLOSESQBRACKET,']',1,5814)
+LexToken(EOL,'\n',1,5815)
+LexToken(VAR,'graphics',1,5832)
+LexToken(DOT,'.',1,5840)
+LexToken(VAR,'exprs',1,5841)
+LexToken(ASSIGNMENT,'=',1,5846)
+LexToken(VAR,'label',1,5847)
+LexToken(SEMICOLON,';',1,5852)
+LexToken(EOL,'\n',1,5853)
+LexToken(VAR,'x',1,5870)
+LexToken(DOT,'.',1,5871)
+LexToken(VAR,'graphics',1,5872)
+LexToken(ASSIGNMENT,'=',1,5880)
+LexToken(VAR,'graphics',1,5881)
+LexToken(SEMICOLON,';',1,5889)
+LexToken(EOL,'\n',1,5890)
+LexToken(VAR,'x',1,5907)
+LexToken(DOT,'.',1,5908)
+LexToken(VAR,'model',1,5909)
+LexToken(ASSIGNMENT,'=',1,5914)
+LexToken(VAR,'model',1,5915)
+LexToken(SEMICOLON,';',1,5920)
+LexToken(EOL,'\n',1,5921)
+LexToken(VAR,'arg1',1,5938)
+LexToken(ASSIGNMENT,'=',1,5942)
+LexToken(VAR,'x',1,5943)
+LexToken(EOL,'\n',1,5944)
+LexToken(BREAK,'break',1,5961)
+LexToken(SEMICOLON,';',1,5966)
+LexToken(EOL,'\n',1,5967)
+LexToken(END,'end',1,5980)
+LexToken(EOL,'\n',1,5983)
+LexToken(END,'end',1,5992)
+LexToken(EOL,'\n',1,5995)
+LexToken(EOL,'\n',1,6037)
+LexToken(CASE,'case',1,6042)
+LexToken(DQSTRING,'"define"',1,6054)
+LexToken(THEN,'then',1,6056)
+LexToken(EOL,'\n',1,6060)
+LexToken(VAR,'model',1,6069)
+LexToken(ASSIGNMENT,'=',1,6074)
+LexToken(SCICOS_MODEL,'scicos_model',1,6075)
+LexToken(OPENBRACKET,'(',1,6087)
+LexToken(CLOSEBRACKET,')',1,6088)
+LexToken(EOL,'\n',1,6089)
+LexToken(VAR,'model',1,6098)
+LexToken(DOT,'.',1,6103)
+LexToken(VAR,'sim',1,6104)
+LexToken(ASSIGNMENT,'=',1,6107)
+LexToken(VAR,'list',1,6108)
+LexToken(OPENBRACKET,'(',1,6112)
+LexToken(DQSTRING,'"matmul_m"',1,6122)
+LexToken(COMMA,',',1,6123)
+LexToken(NUMBER,'4',1,6124)
+LexToken(CLOSEBRACKET,')',1,6125)
+LexToken(EOL,'\n',1,6126)
+LexToken(EOL,'\n',1,6127)
+LexToken(VAR,'model',1,6136)
+LexToken(DOT,'.',1,6141)
+LexToken(VAR,'in',1,6142)
+LexToken(ASSIGNMENT,'=',1,6144)
+LexToken(OPENSQBRACKET,'[',1,6145)
+LexToken(NUMBER,'-1',1,6146)
+LexToken(SEMICOLON,';',1,6148)
+LexToken(NUMBER,'-2',1,6149)
+LexToken(CLOSESQBRACKET,']',1,6151)
+LexToken(EOL,'\n',1,6152)
+LexToken(VAR,'model',1,6161)
+LexToken(DOT,'.',1,6166)
+LexToken(VAR,'in2',1,6167)
+LexToken(ASSIGNMENT,'=',1,6170)
+LexToken(OPENSQBRACKET,'[',1,6171)
+LexToken(NUMBER,'-2',1,6172)
+LexToken(SEMICOLON,';',1,6174)
+LexToken(NUMBER,'-3',1,6175)
+LexToken(CLOSESQBRACKET,']',1,6177)
+LexToken(EOL,'\n',1,6178)
+LexToken(VAR,'model',1,6187)
+LexToken(DOT,'.',1,6192)
+LexToken(VAR,'out',1,6193)
+LexToken(ASSIGNMENT,'=',1,6196)
+LexToken(NUMBER,'-1',1,6197)
+LexToken(EOL,'\n',1,6199)
+LexToken(VAR,'model',1,6208)
+LexToken(DOT,'.',1,6213)
+LexToken(VAR,'out2',1,6214)
+LexToken(ASSIGNMENT,'=',1,6218)
+LexToken(NUMBER,'-3',1,6219)
+LexToken(EOL,'\n',1,6221)
+LexToken(VAR,'model',1,6230)
+LexToken(DOT,'.',1,6235)
+LexToken(VAR,'dep_ut',1,6236)
+LexToken(ASSIGNMENT,'=',1,6242)
+LexToken(OPENSQBRACKET,'[',1,6243)
+LexToken(PREVAR_BOOLEAN,'%t',1,6244)
+LexToken(PREVAR_BOOLEAN,'%f',1,6247)
+LexToken(CLOSESQBRACKET,']',1,6249)
+LexToken(EOL,'\n',1,6250)
+LexToken(EOL,'\n',1,6251)
+LexToken(VAR,'model',1,6260)
+LexToken(DOT,'.',1,6265)
+LexToken(VAR,'ipar',1,6266)
+LexToken(ASSIGNMENT,'=',1,6270)
+LexToken(NUMBER,'1',1,6271)
+LexToken(EOL,'\n',1,6272)
+LexToken(VAR,'label',1,6281)
+LexToken(ASSIGNMENT,'=',1,6286)
+LexToken(OPENSQBRACKET,'[',1,6287)
+LexToken(VAR,'sci2exp',1,6288)
+LexToken(OPENBRACKET,'(',1,6295)
+LexToken(VAR,'model',1,6296)
+LexToken(DOT,'.',1,6301)
+LexToken(VAR,'ipar',1,6302)
+LexToken(CLOSEBRACKET,')',1,6306)
+LexToken(CLOSESQBRACKET,']',1,6307)
+LexToken(EOL,'\n',1,6308)
+LexToken(VAR,'gr_i',1,6317)
+LexToken(ASSIGNMENT,'=',1,6321)
+LexToken(OPENSQBRACKET,'[',1,6322)
+LexToken(CLOSESQBRACKET,']',1,6323)
+LexToken(EOL,'\n',1,6324)
+LexToken(VAR,'x',1,6333)
+LexToken(ASSIGNMENT,'=',1,6334)
+LexToken(VAR,'standard_define',1,6335)
+LexToken(OPENBRACKET,'(',1,6350)
+LexToken(OPENSQBRACKET,'[',1,6351)
+LexToken(NUMBER,'3',1,6352)
+LexToken(NUMBER,'2',1,6354)
+LexToken(CLOSESQBRACKET,']',1,6355)
+LexToken(COMMA,',',1,6356)
+LexToken(VAR,'model',1,6357)
+LexToken(COMMA,',',1,6362)
+LexToken(VAR,'label',1,6363)
+LexToken(COMMA,',',1,6368)
+LexToken(VAR,'gr_i',1,6369)
+LexToken(CLOSEBRACKET,')',1,6373)
+LexToken(EOL,'\n',1,6374)
+LexToken(END,'end',1,6379)
+LexToken(EOL,'\n',1,6382)
+LexToken(ENDFUNCTION,'endfunction',1,6383)
+LexToken(EOL,'\n',1,6394)
+LexToken(EOL,'\n',1,6395)
diff --git a/js/MatrixOp/MATPINV.js b/js/MatrixOp/MATPINV.js
new file mode 100644
index 00000000..879e6d00
--- /dev/null
+++ b/js/MatrixOp/MATPINV.js
@@ -0,0 +1,496 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATPINV',1,852)
+LexToken(OPENBRACKET,'(',1,859)
+LexToken(VAR,'job',1,860)
+LexToken(COMMA,',',1,863)
+LexToken(VAR,'arg1',1,864)
+LexToken(COMMA,',',1,868)
+LexToken(VAR,'arg2',1,869)
+LexToken(CLOSEBRACKET,')',1,873)
+LexToken(EOL,'\n',1,874)
+LexToken(EOL,'\n',1,881)
+LexToken(VAR,'x',1,886)
+LexToken(ASSIGNMENT,'=',1,887)
+LexToken(OPENSQBRACKET,'[',1,888)
+LexToken(CLOSESQBRACKET,']',1,889)
+LexToken(SEMICOLON,';',1,890)
+LexToken(EOL,'\n',1,891)
+LexToken(VAR,'y',1,896)
+LexToken(ASSIGNMENT,'=',1,897)
+LexToken(OPENSQBRACKET,'[',1,898)
+LexToken(CLOSESQBRACKET,']',1,899)
+LexToken(SEMICOLON,';',1,900)
+LexToken(EOL,'\n',1,901)
+LexToken(VAR,'typ',1,906)
+LexToken(ASSIGNMENT,'=',1,909)
+LexToken(OPENSQBRACKET,'[',1,910)
+LexToken(CLOSESQBRACKET,']',1,911)
+LexToken(SEMICOLON,';',1,912)
+LexToken(EOL,'\n',1,913)
+LexToken(SELECT,'select',1,918)
+LexToken(VAR,'job',1,925)
+LexToken(EOL,'\n',1,928)
+LexToken(CASE,'case',1,933)
+LexToken(DQSTRING,'"set"',1,942)
+LexToken(THEN,'then',1,944)
+LexToken(EOL,'\n',1,948)
+LexToken(VAR,'x',1,957)
+LexToken(ASSIGNMENT,'=',1,958)
+LexToken(VAR,'arg1',1,959)
+LexToken(EOL,'\n',1,963)
+LexToken(VAR,'graphics',1,972)
+LexToken(ASSIGNMENT,'=',1,980)
+LexToken(VAR,'arg1',1,981)
+LexToken(DOT,'.',1,985)
+LexToken(VAR,'graphics',1,986)
+LexToken(SEMICOLON,';',1,994)
+LexToken(EOL,'\n',1,995)
+LexToken(VAR,'label',1,1004)
+LexToken(ASSIGNMENT,'=',1,1009)
+LexToken(VAR,'graphics',1,1010)
+LexToken(DOT,'.',1,1018)
+LexToken(VAR,'exprs',1,1019)
+LexToken(EOL,'\n',1,1024)
+LexToken(VAR,'model',1,1033)
+LexToken(ASSIGNMENT,'=',1,1038)
+LexToken(VAR,'arg1',1,1039)
+LexToken(DOT,'.',1,1043)
+LexToken(VAR,'model',1,1044)
+LexToken(SEMICOLON,';',1,1049)
+LexToken(EOL,'\n',1,1050)
+LexToken(IF,'if',1,1059)
+LexToken(VAR,'size',1,1062)
+LexToken(OPENBRACKET,'(',1,1066)
+LexToken(VAR,'label',1,1067)
+LexToken(COMMA,',',1,1072)
+LexToken(DQSTRING,'"*"',1,1075)
+LexToken(CLOSEBRACKET,')',1,1076)
+LexToken(COMPARISON,'==',1,1077)
+LexToken(NUMBER,'14',1,1079)
+LexToken(THEN,'then',1,1082)
+LexToken(EOL,'\n',1,1086)
+LexToken(VAR,'label',1,1099)
+LexToken(OPENBRACKET,'(',1,1104)
+LexToken(NUMBER,'9',1,1105)
+LexToken(CLOSEBRACKET,')',1,1106)
+LexToken(ASSIGNMENT,'=',1,1107)
+LexToken(OPENSQBRACKET,'[',1,1108)
+LexToken(CLOSESQBRACKET,']',1,1109)
+LexToken(COMMA,',',1,1110)
+LexToken(EOL,'\n',1,1111)
+LexToken(END,'end',1,1120)
+LexToken(EOL,'\n',1,1138)
+LexToken(WHILE,'while',1,1147)
+LexToken(PREVAR_BOOLEAN,'%t',1,1153)
+LexToken(DO,'do',1,1156)
+LexToken(EOL,'\n',1,1158)
+LexToken(OPENSQBRACKET,'[',1,1171)
+LexToken(VAR,'ok',1,1172)
+LexToken(COMMA,',',1,1174)
+LexToken(VAR,'typ',1,1175)
+LexToken(COMMA,',',1,1178)
+LexToken(VAR,'exprs',1,1179)
+LexToken(CLOSESQBRACKET,']',1,1184)
+LexToken(ASSIGNMENT,'=',1,1185)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1186)
+LexToken(OPENBRACKET,'(',1,1201)
+LexToken(DQSTRING,'"Set MATPINV Block"',1,1220)
+LexToken(COMMA,',',1,1221)
+LexToken(OPENSQBRACKET,'[',1,1237)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1273)
+LexToken(CLOSESQBRACKET,']',1,1274)
+LexToken(COMMA,',',1,1275)
+LexToken(VAR,'list',1,1276)
+LexToken(OPENBRACKET,'(',1,1280)
+LexToken(DQSTRING,'"vec"',1,1285)
+LexToken(COMMA,',',1,1286)
+LexToken(NUMBER,'1',1,1287)
+LexToken(CLOSEBRACKET,')',1,1288)
+LexToken(COMMA,',',1,1289)
+LexToken(VAR,'label',1,1290)
+LexToken(CLOSEBRACKET,')',1,1295)
+LexToken(EOL,'\n',1,1296)
+LexToken(IF,'if',1,1309)
+LexToken(NOT,'~',1,1312)
+LexToken(VAR,'ok',1,1313)
+LexToken(THEN,'then',1,1316)
+LexToken(EOL,'\n',1,1320)
+LexToken(BREAK,'break',1,1337)
+LexToken(COMMA,',',1,1342)
+LexToken(EOL,'\n',1,1343)
+LexToken(END,'end',1,1356)
+LexToken(EOL,'\n',1,1359)
+LexToken(IF,'if',1,1372)
+LexToken(OPENBRACKET,'(',1,1375)
+LexToken(VAR,'typ',1,1376)
+LexToken(COMPARISON,'==',1,1379)
+LexToken(NUMBER,'1',1,1381)
+LexToken(CLOSEBRACKET,')',1,1382)
+LexToken(THEN,'then',1,1384)
+LexToken(EOL,'\n',1,1388)
+LexToken(VAR,'function_name',1,1405)
+LexToken(ASSIGNMENT,'=',1,1418)
+LexToken(DQSTRING,'"mat_pinv"',1,1428)
+LexToken(SEMICOLON,';',1,1429)
+LexToken(EOL,'\n',1,1430)
+LexToken(VAR,'ot',1,1447)
+LexToken(ASSIGNMENT,'=',1,1449)
+LexToken(NUMBER,'1',1,1450)
+LexToken(SEMICOLON,';',1,1451)
+LexToken(EOL,'\n',1,1452)
+LexToken(VAR,'it',1,1469)
+LexToken(ASSIGNMENT,'=',1,1471)
+LexToken(NUMBER,'1',1,1472)
+LexToken(SEMICOLON,';',1,1473)
+LexToken(EOL,'\n',1,1474)
+LexToken(ELSEIF,'elseif',1,1487)
+LexToken(OPENBRACKET,'(',1,1494)
+LexToken(VAR,'typ',1,1495)
+LexToken(COMPARISON,'==',1,1498)
+LexToken(NUMBER,'2',1,1500)
+LexToken(CLOSEBRACKET,')',1,1501)
+LexToken(THEN,'then',1,1503)
+LexToken(EOL,'\n',1,1507)
+LexToken(VAR,'function_name',1,1524)
+LexToken(ASSIGNMENT,'=',1,1537)
+LexToken(DQSTRING,'"matz_pinv"',1,1548)
+LexToken(SEMICOLON,';',1,1549)
+LexToken(EOL,'\n',1,1550)
+LexToken(VAR,'ot',1,1567)
+LexToken(ASSIGNMENT,'=',1,1569)
+LexToken(NUMBER,'2',1,1570)
+LexToken(SEMICOLON,';',1,1571)
+LexToken(EOL,'\n',1,1572)
+LexToken(VAR,'it',1,1589)
+LexToken(ASSIGNMENT,'=',1,1591)
+LexToken(NUMBER,'2',1,1592)
+LexToken(SEMICOLON,';',1,1593)
+LexToken(EOL,'\n',1,1594)
+LexToken(ELSE,'else',1,1607)
+LexToken(EOL,'\n',1,1611)
+LexToken(VAR,'message',1,1628)
+LexToken(OPENBRACKET,'(',1,1635)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1662)
+LexToken(CLOSEBRACKET,')',1,1663)
+LexToken(SEMICOLON,';',1,1664)
+LexToken(EOL,'\n',1,1665)
+LexToken(VAR,'ok',1,1682)
+LexToken(ASSIGNMENT,'=',1,1684)
+LexToken(PREVAR_BOOLEAN,'%f',1,1685)
+LexToken(SEMICOLON,';',1,1687)
+LexToken(EOL,'\n',1,1688)
+LexToken(END,'end',1,1701)
+LexToken(EOL,'\n',1,1704)
+LexToken(VAR,'in',1,1717)
+LexToken(ASSIGNMENT,'=',1,1719)
+LexToken(OPENSQBRACKET,'[',1,1720)
+LexToken(VAR,'model',1,1721)
+LexToken(DOT,'.',1,1726)
+LexToken(VAR,'in',1,1727)
+LexToken(VAR,'model',1,1730)
+LexToken(DOT,'.',1,1735)
+LexToken(VAR,'in2',1,1736)
+LexToken(CLOSESQBRACKET,']',1,1739)
+LexToken(SEMICOLON,';',1,1740)
+LexToken(EOL,'\n',1,1741)
+LexToken(VAR,'out',1,1754)
+LexToken(ASSIGNMENT,'=',1,1757)
+LexToken(OPENSQBRACKET,'[',1,1758)
+LexToken(VAR,'model',1,1759)
+LexToken(DOT,'.',1,1764)
+LexToken(VAR,'out',1,1765)
+LexToken(VAR,'model',1,1769)
+LexToken(DOT,'.',1,1774)
+LexToken(VAR,'out2',1,1775)
+LexToken(CLOSESQBRACKET,']',1,1779)
+LexToken(SEMICOLON,';',1,1780)
+LexToken(EOL,'\n',1,1781)
+LexToken(VAR,'funtyp',1,1794)
+LexToken(ASSIGNMENT,'=',1,1800)
+LexToken(NUMBER,'4',1,1801)
+LexToken(SEMICOLON,';',1,1802)
+LexToken(EOL,'\n',1,1803)
+LexToken(IF,'if',1,1816)
+LexToken(VAR,'ok',1,1819)
+LexToken(THEN,'then',1,1822)
+LexToken(EOL,'\n',1,1826)
+LexToken(VAR,'label',1,1843)
+LexToken(ASSIGNMENT,'=',1,1848)
+LexToken(VAR,'exprs',1,1849)
+LexToken(SEMICOLON,';',1,1854)
+LexToken(EOL,'\n',1,1855)
+LexToken(OPENSQBRACKET,'[',1,1872)
+LexToken(VAR,'model',1,1873)
+LexToken(COMMA,',',1,1878)
+LexToken(VAR,'graphics',1,1879)
+LexToken(COMMA,',',1,1887)
+LexToken(VAR,'ok',1,1888)
+LexToken(CLOSESQBRACKET,']',1,1890)
+LexToken(ASSIGNMENT,'=',1,1891)
+LexToken(VAR,'set_io',1,1892)
+LexToken(OPENBRACKET,'(',1,1898)
+LexToken(VAR,'model',1,1899)
+LexToken(COMMA,',',1,1904)
+LexToken(VAR,'graphics',1,1905)
+LexToken(COMMA,',',1,1913)
+LexToken(VAR,'list',1,1914)
+LexToken(OPENBRACKET,'(',1,1918)
+LexToken(VAR,'in',1,1919)
+LexToken(COMMA,',',1,1921)
+LexToken(VAR,'it',1,1922)
+LexToken(CLOSEBRACKET,')',1,1924)
+LexToken(COMMA,',',1,1925)
+LexToken(VAR,'list',1,1926)
+LexToken(OPENBRACKET,'(',1,1930)
+LexToken(VAR,'out',1,1931)
+LexToken(COMMA,',',1,1934)
+LexToken(VAR,'ot',1,1935)
+LexToken(CLOSEBRACKET,')',1,1937)
+LexToken(COMMA,',',1,1938)
+LexToken(OPENSQBRACKET,'[',1,1939)
+LexToken(CLOSESQBRACKET,']',1,1940)
+LexToken(COMMA,',',1,1941)
+LexToken(OPENSQBRACKET,'[',1,1942)
+LexToken(CLOSESQBRACKET,']',1,1943)
+LexToken(CLOSEBRACKET,')',1,1944)
+LexToken(EOL,'\n',1,1945)
+LexToken(VAR,'model',1,1962)
+LexToken(DOT,'.',1,1967)
+LexToken(VAR,'sim',1,1968)
+LexToken(ASSIGNMENT,'=',1,1971)
+LexToken(VAR,'list',1,1972)
+LexToken(OPENBRACKET,'(',1,1976)
+LexToken(VAR,'function_name',1,1977)
+LexToken(COMMA,',',1,1990)
+LexToken(VAR,'funtyp',1,1991)
+LexToken(CLOSEBRACKET,')',1,1997)
+LexToken(SEMICOLON,';',1,1998)
+LexToken(EOL,'\n',1,1999)
+LexToken(VAR,'graphics',1,2016)
+LexToken(DOT,'.',1,2024)
+LexToken(VAR,'exprs',1,2025)
+LexToken(ASSIGNMENT,'=',1,2030)
+LexToken(VAR,'label',1,2031)
+LexToken(SEMICOLON,';',1,2036)
+LexToken(EOL,'\n',1,2037)
+LexToken(VAR,'arg1',1,2054)
+LexToken(DOT,'.',1,2058)
+LexToken(VAR,'graphics',1,2059)
+LexToken(ASSIGNMENT,'=',1,2067)
+LexToken(VAR,'graphics',1,2068)
+LexToken(SEMICOLON,';',1,2076)
+LexToken(EOL,'\n',1,2077)
+LexToken(VAR,'arg1',1,2094)
+LexToken(DOT,'.',1,2098)
+LexToken(VAR,'model',1,2099)
+LexToken(ASSIGNMENT,'=',1,2104)
+LexToken(VAR,'model',1,2105)
+LexToken(SEMICOLON,';',1,2110)
+LexToken(EOL,'\n',1,2111)
+LexToken(VAR,'x',1,2128)
+LexToken(ASSIGNMENT,'=',1,2129)
+LexToken(VAR,'arg1',1,2130)
+LexToken(EOL,'\n',1,2134)
+LexToken(BREAK,'break',1,2151)
+LexToken(EOL,'\n',1,2156)
+LexToken(END,'end',1,2169)
+LexToken(EOL,'\n',1,2172)
+LexToken(END,'end',1,2181)
+LexToken(EOL,'\n',1,2184)
+LexToken(CASE,'case',1,2189)
+LexToken(DQSTRING,'"define"',1,2201)
+LexToken(THEN,'then',1,2203)
+LexToken(EOL,'\n',1,2207)
+LexToken(VAR,'model',1,2216)
+LexToken(ASSIGNMENT,'=',1,2221)
+LexToken(SCICOS_MODEL,'scicos_model',1,2222)
+LexToken(OPENBRACKET,'(',1,2234)
+LexToken(CLOSEBRACKET,')',1,2235)
+LexToken(EOL,'\n',1,2236)
+LexToken(VAR,'function_name',1,2245)
+LexToken(ASSIGNMENT,'=',1,2258)
+LexToken(DQSTRING,'"mat_pinv"',1,2268)
+LexToken(SEMICOLON,';',1,2269)
+LexToken(EOL,'\n',1,2270)
+LexToken(VAR,'funtyp',1,2279)
+LexToken(ASSIGNMENT,'=',1,2285)
+LexToken(NUMBER,'4',1,2286)
+LexToken(SEMICOLON,';',1,2287)
+LexToken(EOL,'\n',1,2288)
+LexToken(VAR,'model',1,2297)
+LexToken(DOT,'.',1,2302)
+LexToken(VAR,'sim',1,2303)
+LexToken(ASSIGNMENT,'=',1,2306)
+LexToken(VAR,'list',1,2307)
+LexToken(OPENBRACKET,'(',1,2311)
+LexToken(VAR,'function_name',1,2312)
+LexToken(COMMA,',',1,2325)
+LexToken(VAR,'funtyp',1,2326)
+LexToken(CLOSEBRACKET,')',1,2332)
+LexToken(EOL,'\n',1,2333)
+LexToken(EOL,'\n',1,2334)
+LexToken(VAR,'model',1,2343)
+LexToken(DOT,'.',1,2348)
+LexToken(VAR,'in',1,2349)
+LexToken(ASSIGNMENT,'=',1,2351)
+LexToken(NUMBER,'-1',1,2352)
+LexToken(EOL,'\n',1,2354)
+LexToken(VAR,'model',1,2363)
+LexToken(DOT,'.',1,2368)
+LexToken(VAR,'in2',1,2369)
+LexToken(ASSIGNMENT,'=',1,2372)
+LexToken(NUMBER,'-2',1,2373)
+LexToken(EOL,'\n',1,2375)
+LexToken(VAR,'model',1,2384)
+LexToken(DOT,'.',1,2389)
+LexToken(VAR,'intyp',1,2390)
+LexToken(ASSIGNMENT,'=',1,2395)
+LexToken(NUMBER,'1',1,2396)
+LexToken(EOL,'\n',1,2397)
+LexToken(VAR,'model',1,2406)
+LexToken(DOT,'.',1,2411)
+LexToken(VAR,'out',1,2412)
+LexToken(ASSIGNMENT,'=',1,2415)
+LexToken(NUMBER,'-2',1,2416)
+LexToken(EOL,'\n',1,2418)
+LexToken(VAR,'model',1,2427)
+LexToken(DOT,'.',1,2432)
+LexToken(VAR,'out2',1,2433)
+LexToken(ASSIGNMENT,'=',1,2437)
+LexToken(NUMBER,'-1',1,2438)
+LexToken(EOL,'\n',1,2440)
+LexToken(VAR,'model',1,2449)
+LexToken(DOT,'.',1,2454)
+LexToken(VAR,'outtyp',1,2455)
+LexToken(ASSIGNMENT,'=',1,2461)
+LexToken(NUMBER,'1',1,2462)
+LexToken(EOL,'\n',1,2463)
+LexToken(VAR,'model',1,2472)
+LexToken(DOT,'.',1,2477)
+LexToken(VAR,'evtin',1,2478)
+LexToken(ASSIGNMENT,'=',1,2483)
+LexToken(OPENSQBRACKET,'[',1,2484)
+LexToken(CLOSESQBRACKET,']',1,2485)
+LexToken(EOL,'\n',1,2486)
+LexToken(VAR,'model',1,2495)
+LexToken(DOT,'.',1,2500)
+LexToken(VAR,'evtout',1,2501)
+LexToken(ASSIGNMENT,'=',1,2507)
+LexToken(OPENSQBRACKET,'[',1,2508)
+LexToken(CLOSESQBRACKET,']',1,2509)
+LexToken(EOL,'\n',1,2510)
+LexToken(VAR,'model',1,2519)
+LexToken(DOT,'.',1,2524)
+LexToken(VAR,'state',1,2525)
+LexToken(ASSIGNMENT,'=',1,2530)
+LexToken(OPENSQBRACKET,'[',1,2531)
+LexToken(CLOSESQBRACKET,']',1,2532)
+LexToken(EOL,'\n',1,2533)
+LexToken(VAR,'model',1,2542)
+LexToken(DOT,'.',1,2547)
+LexToken(VAR,'dstate',1,2548)
+LexToken(ASSIGNMENT,'=',1,2554)
+LexToken(OPENSQBRACKET,'[',1,2555)
+LexToken(CLOSESQBRACKET,']',1,2556)
+LexToken(EOL,'\n',1,2557)
+LexToken(VAR,'model',1,2566)
+LexToken(DOT,'.',1,2571)
+LexToken(VAR,'rpar',1,2572)
+LexToken(ASSIGNMENT,'=',1,2576)
+LexToken(OPENSQBRACKET,'[',1,2577)
+LexToken(CLOSESQBRACKET,']',1,2578)
+LexToken(EOL,'\n',1,2579)
+LexToken(VAR,'model',1,2588)
+LexToken(DOT,'.',1,2593)
+LexToken(VAR,'ipar',1,2594)
+LexToken(ASSIGNMENT,'=',1,2598)
+LexToken(OPENSQBRACKET,'[',1,2599)
+LexToken(CLOSESQBRACKET,']',1,2600)
+LexToken(EOL,'\n',1,2601)
+LexToken(VAR,'model',1,2610)
+LexToken(DOT,'.',1,2615)
+LexToken(VAR,'blocktype',1,2616)
+LexToken(ASSIGNMENT,'=',1,2625)
+LexToken(DQSTRING,'"c"',1,2628)
+LexToken(EOL,'\n',1,2629)
+LexToken(VAR,'model',1,2638)
+LexToken(DOT,'.',1,2643)
+LexToken(VAR,'firing',1,2644)
+LexToken(ASSIGNMENT,'=',1,2650)
+LexToken(OPENSQBRACKET,'[',1,2651)
+LexToken(CLOSESQBRACKET,']',1,2652)
+LexToken(EOL,'\n',1,2653)
+LexToken(VAR,'model',1,2662)
+LexToken(DOT,'.',1,2667)
+LexToken(VAR,'dep_ut',1,2668)
+LexToken(ASSIGNMENT,'=',1,2674)
+LexToken(OPENSQBRACKET,'[',1,2675)
+LexToken(PREVAR_BOOLEAN,'%t',1,2676)
+LexToken(PREVAR_BOOLEAN,'%f',1,2679)
+LexToken(CLOSESQBRACKET,']',1,2681)
+LexToken(EOL,'\n',1,2682)
+LexToken(VAR,'label',1,2691)
+LexToken(ASSIGNMENT,'=',1,2696)
+LexToken(OPENSQBRACKET,'[',1,2697)
+LexToken(VAR,'sci2exp',1,2698)
+LexToken(OPENBRACKET,'(',1,2705)
+LexToken(NUMBER,'1',1,2706)
+LexToken(CLOSEBRACKET,')',1,2707)
+LexToken(CLOSESQBRACKET,']',1,2708)
+LexToken(SEMICOLON,';',1,2709)
+LexToken(EOL,'\n',1,2710)
+LexToken(VAR,'gr_i',1,2719)
+LexToken(ASSIGNMENT,'=',1,2723)
+LexToken(OPENSQBRACKET,'[',1,2724)
+LexToken(CLOSESQBRACKET,']',1,2725)
+LexToken(EOL,'\n',1,2726)
+LexToken(VAR,'x',1,2735)
+LexToken(ASSIGNMENT,'=',1,2736)
+LexToken(VAR,'standard_define',1,2737)
+LexToken(OPENBRACKET,'(',1,2752)
+LexToken(OPENSQBRACKET,'[',1,2753)
+LexToken(NUMBER,'2',1,2754)
+LexToken(NUMBER,'2',1,2756)
+LexToken(CLOSESQBRACKET,']',1,2757)
+LexToken(COMMA,',',1,2758)
+LexToken(VAR,'model',1,2759)
+LexToken(COMMA,',',1,2764)
+LexToken(VAR,'label',1,2765)
+LexToken(COMMA,',',1,2770)
+LexToken(VAR,'gr_i',1,2771)
+LexToken(CLOSEBRACKET,')',1,2775)
+LexToken(EOL,'\n',1,2776)
+LexToken(END,'end',1,2781)
+LexToken(EOL,'\n',1,2784)
+LexToken(ENDFUNCTION,'endfunction',1,2785)
+LexToken(EOL,'\n',1,2796)
+LexToken(EOL,'\n',1,2797)
diff --git a/js/MatrixOp/MATRESH.js b/js/MatrixOp/MATRESH.js
new file mode 100644
index 00000000..8b3db4bd
--- /dev/null
+++ b/js/MatrixOp/MATRESH.js
@@ -0,0 +1,685 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATRESH',1,852)
+LexToken(OPENBRACKET,'(',1,859)
+LexToken(VAR,'job',1,860)
+LexToken(COMMA,',',1,863)
+LexToken(VAR,'arg1',1,864)
+LexToken(COMMA,',',1,868)
+LexToken(VAR,'arg2',1,869)
+LexToken(CLOSEBRACKET,')',1,873)
+LexToken(EOL,'\n',1,874)
+LexToken(EOL,'\n',1,881)
+LexToken(VAR,'x',1,886)
+LexToken(ASSIGNMENT,'=',1,887)
+LexToken(OPENSQBRACKET,'[',1,888)
+LexToken(CLOSESQBRACKET,']',1,889)
+LexToken(SEMICOLON,';',1,890)
+LexToken(EOL,'\n',1,891)
+LexToken(VAR,'y',1,896)
+LexToken(ASSIGNMENT,'=',1,897)
+LexToken(OPENSQBRACKET,'[',1,898)
+LexToken(CLOSESQBRACKET,']',1,899)
+LexToken(SEMICOLON,';',1,900)
+LexToken(EOL,'\n',1,901)
+LexToken(VAR,'typ',1,906)
+LexToken(ASSIGNMENT,'=',1,909)
+LexToken(OPENSQBRACKET,'[',1,910)
+LexToken(CLOSESQBRACKET,']',1,911)
+LexToken(SEMICOLON,';',1,912)
+LexToken(EOL,'\n',1,913)
+LexToken(SELECT,'select',1,918)
+LexToken(VAR,'job',1,925)
+LexToken(EOL,'\n',1,928)
+LexToken(CASE,'case',1,933)
+LexToken(DQSTRING,'"set"',1,942)
+LexToken(THEN,'then',1,944)
+LexToken(EOL,'\n',1,948)
+LexToken(VAR,'x',1,957)
+LexToken(ASSIGNMENT,'=',1,958)
+LexToken(VAR,'arg1',1,959)
+LexToken(EOL,'\n',1,963)
+LexToken(VAR,'model',1,972)
+LexToken(ASSIGNMENT,'=',1,977)
+LexToken(VAR,'arg1',1,978)
+LexToken(DOT,'.',1,982)
+LexToken(VAR,'model',1,983)
+LexToken(SEMICOLON,';',1,988)
+LexToken(EOL,'\n',1,989)
+LexToken(VAR,'graphics',1,998)
+LexToken(ASSIGNMENT,'=',1,1006)
+LexToken(VAR,'arg1',1,1007)
+LexToken(DOT,'.',1,1011)
+LexToken(VAR,'graphics',1,1012)
+LexToken(SEMICOLON,';',1,1020)
+LexToken(EOL,'\n',1,1021)
+LexToken(VAR,'label',1,1030)
+LexToken(ASSIGNMENT,'=',1,1035)
+LexToken(VAR,'graphics',1,1036)
+LexToken(DOT,'.',1,1044)
+LexToken(VAR,'exprs',1,1045)
+LexToken(EOL,'\n',1,1050)
+LexToken(IF,'if',1,1059)
+LexToken(VAR,'size',1,1062)
+LexToken(OPENBRACKET,'(',1,1066)
+LexToken(VAR,'label',1,1067)
+LexToken(COMMA,',',1,1072)
+LexToken(DQSTRING,'"*"',1,1075)
+LexToken(CLOSEBRACKET,')',1,1076)
+LexToken(COMPARISON,'==',1,1077)
+LexToken(NUMBER,'14',1,1079)
+LexToken(THEN,'then',1,1082)
+LexToken(EOL,'\n',1,1086)
+LexToken(VAR,'label',1,1099)
+LexToken(OPENBRACKET,'(',1,1104)
+LexToken(NUMBER,'9',1,1105)
+LexToken(CLOSEBRACKET,')',1,1106)
+LexToken(ASSIGNMENT,'=',1,1107)
+LexToken(OPENSQBRACKET,'[',1,1108)
+LexToken(CLOSESQBRACKET,']',1,1109)
+LexToken(COMMA,',',1,1110)
+LexToken(EOL,'\n',1,1111)
+LexToken(END,'end',1,1120)
+LexToken(EOL,'\n',1,1138)
+LexToken(WHILE,'while',1,1147)
+LexToken(PREVAR_BOOLEAN,'%t',1,1153)
+LexToken(DO,'do',1,1156)
+LexToken(EOL,'\n',1,1158)
+LexToken(OPENSQBRACKET,'[',1,1171)
+LexToken(VAR,'ok',1,1172)
+LexToken(COMMA,',',1,1174)
+LexToken(VAR,'typ',1,1175)
+LexToken(COMMA,',',1,1178)
+LexToken(VAR,'l1',1,1179)
+LexToken(COMMA,',',1,1181)
+LexToken(VAR,'out',1,1182)
+LexToken(COMMA,',',1,1185)
+LexToken(VAR,'lab',1,1186)
+LexToken(CLOSESQBRACKET,']',1,1189)
+LexToken(ASSIGNMENT,'=',1,1190)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1206)
+LexToken(OPENBRACKET,'(',1,1221)
+LexToken(DQSTRING,'"Set MATRESH block parameters"',1,1251)
+LexToken(COMMA,',',1,1252)
+LexToken(OPENSQBRACKET,'[',1,1268)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1304)
+LexToken(DQSTRING,'"input size"',1,1329)
+LexToken(SEMICOLON,';',1,1330)
+LexToken(DQSTRING,'"output size desired"',1,1364)
+LexToken(CLOSESQBRACKET,']',1,1365)
+LexToken(COMMA,',',1,1366)
+LexToken(VAR,'list',1,1382)
+LexToken(OPENBRACKET,'(',1,1386)
+LexToken(DQSTRING,'"vec"',1,1391)
+LexToken(COMMA,',',1,1392)
+LexToken(NUMBER,'-1',1,1393)
+LexToken(COMMA,',',1,1395)
+LexToken(DQSTRING,'"vec"',1,1400)
+LexToken(COMMA,',',1,1401)
+LexToken(NUMBER,'-1',1,1402)
+LexToken(COMMA,',',1,1404)
+LexToken(DQSTRING,'"vec"',1,1409)
+LexToken(COMMA,',',1,1410)
+LexToken(NUMBER,'-1',1,1411)
+LexToken(CLOSEBRACKET,')',1,1413)
+LexToken(COMMA,',',1,1414)
+LexToken(VAR,'label',1,1415)
+LexToken(CLOSEBRACKET,')',1,1420)
+LexToken(EOL,'\n',1,1421)
+LexToken(IF,'if',1,1434)
+LexToken(NOT,'~',1,1437)
+LexToken(VAR,'ok',1,1438)
+LexToken(THEN,'then',1,1441)
+LexToken(EOL,'\n',1,1445)
+LexToken(BREAK,'break',1,1462)
+LexToken(COMMA,',',1,1467)
+LexToken(EOL,'\n',1,1468)
+LexToken(END,'end',1,1481)
+LexToken(EOL,'\n',1,1484)
+LexToken(VAR,'nout',1,1497)
+LexToken(ASSIGNMENT,'=',1,1501)
+LexToken(VAR,'size',1,1502)
+LexToken(OPENBRACKET,'(',1,1506)
+LexToken(VAR,'out',1,1507)
+LexToken(CLOSEBRACKET,')',1,1510)
+LexToken(EOL,'\n',1,1511)
+LexToken(VAR,'nin',1,1524)
+LexToken(ASSIGNMENT,'=',1,1527)
+LexToken(VAR,'size',1,1528)
+LexToken(OPENBRACKET,'(',1,1532)
+LexToken(VAR,'l1',1,1533)
+LexToken(CLOSEBRACKET,')',1,1535)
+LexToken(EOL,'\n',1,1536)
+LexToken(IF,'if',1,1549)
+LexToken(VAR,'nout',1,1552)
+LexToken(COMPARISON,'==',1,1556)
+LexToken(NUMBER,'0',1,1558)
+LexToken(THEN,'then',1,1560)
+LexToken(EOL,'\n',1,1564)
+LexToken(VAR,'message',1,1581)
+LexToken(OPENBRACKET,'(',1,1588)
+LexToken(DQSTRING,'"output must have at least one element"',1,1627)
+LexToken(CLOSEBRACKET,')',1,1628)
+LexToken(SEMICOLON,';',1,1629)
+LexToken(EOL,'\n',1,1630)
+LexToken(VAR,'ok',1,1647)
+LexToken(ASSIGNMENT,'=',1,1649)
+LexToken(PREVAR_BOOLEAN,'%f',1,1650)
+LexToken(SEMICOLON,';',1,1652)
+LexToken(EOL,'\n',1,1653)
+LexToken(END,'end',1,1666)
+LexToken(EOL,'\n',1,1669)
+LexToken(IF,'if',1,1682)
+LexToken(VAR,'nin',1,1685)
+LexToken(COMPARISON,'==',1,1688)
+LexToken(NUMBER,'0',1,1690)
+LexToken(THEN,'then',1,1692)
+LexToken(EOL,'\n',1,1696)
+LexToken(VAR,'message',1,1713)
+LexToken(OPENBRACKET,'(',1,1720)
+LexToken(DQSTRING,'"input must have at least one element"',1,1758)
+LexToken(CLOSEBRACKET,')',1,1759)
+LexToken(SEMICOLON,';',1,1760)
+LexToken(EOL,'\n',1,1761)
+LexToken(VAR,'ok',1,1778)
+LexToken(ASSIGNMENT,'=',1,1780)
+LexToken(PREVAR_BOOLEAN,'%f',1,1781)
+LexToken(SEMICOLON,';',1,1783)
+LexToken(EOL,'\n',1,1784)
+LexToken(END,'end',1,1797)
+LexToken(EOL,'\n',1,1800)
+LexToken(IF,'if',1,1813)
+LexToken(VAR,'ok',1,1816)
+LexToken(THEN,'then',1,1819)
+LexToken(EOL,'\n',1,1823)
+LexToken(IF,'if',1,1840)
+LexToken(OPENBRACKET,'(',1,1843)
+LexToken(OPENBRACKET,'(',1,1844)
+LexToken(VAR,'out',1,1845)
+LexToken(OPENBRACKET,'(',1,1848)
+LexToken(NUMBER,'1',1,1849)
+LexToken(CLOSEBRACKET,')',1,1850)
+LexToken(COMPARISON,'>',1,1851)
+LexToken(OPENBRACKET,'(',1,1852)
+LexToken(VAR,'l1',1,1853)
+LexToken(OPENBRACKET,'(',1,1855)
+LexToken(NUMBER,'1',1,1856)
+LexToken(CLOSEBRACKET,')',1,1857)
+LexToken(OPERATOR,'*',1,1858)
+LexToken(VAR,'l1',1,1859)
+LexToken(OPENBRACKET,'(',1,1861)
+LexToken(NUMBER,'2',1,1862)
+LexToken(CLOSEBRACKET,')',1,1863)
+LexToken(CLOSEBRACKET,')',1,1864)
+LexToken(CLOSEBRACKET,')',1,1865)
+LexToken(CLOSEBRACKET,')',1,1866)
+LexToken(THEN,'then',1,1868)
+LexToken(EOL,'\n',1,1872)
+LexToken(VAR,'message',1,1893)
+LexToken(OPENBRACKET,'(',1,1900)
+LexToken(DQSTRING,'"the first dimension of the output is too big"',1,1946)
+LexToken(CLOSEBRACKET,')',1,1947)
+LexToken(SEMICOLON,';',1,1948)
+LexToken(EOL,'\n',1,1949)
+LexToken(VAR,'ok',1,1970)
+LexToken(ASSIGNMENT,'=',1,1972)
+LexToken(PREVAR_BOOLEAN,'%f',1,1973)
+LexToken(SEMICOLON,';',1,1975)
+LexToken(EOL,'\n',1,1976)
+LexToken(END,'end',1,1993)
+LexToken(EOL,'\n',1,1996)
+LexToken(IF,'if',1,2013)
+LexToken(OPENBRACKET,'(',1,2016)
+LexToken(OPENBRACKET,'(',1,2017)
+LexToken(VAR,'out',1,2018)
+LexToken(OPENBRACKET,'(',1,2021)
+LexToken(NUMBER,'2',1,2022)
+LexToken(CLOSEBRACKET,')',1,2023)
+LexToken(COMPARISON,'>',1,2024)
+LexToken(OPENBRACKET,'(',1,2025)
+LexToken(VAR,'l1',1,2026)
+LexToken(OPENBRACKET,'(',1,2028)
+LexToken(NUMBER,'1',1,2029)
+LexToken(CLOSEBRACKET,')',1,2030)
+LexToken(OPERATOR,'*',1,2031)
+LexToken(VAR,'l1',1,2032)
+LexToken(OPENBRACKET,'(',1,2034)
+LexToken(NUMBER,'2',1,2035)
+LexToken(CLOSEBRACKET,')',1,2036)
+LexToken(CLOSEBRACKET,')',1,2037)
+LexToken(CLOSEBRACKET,')',1,2038)
+LexToken(CLOSEBRACKET,')',1,2039)
+LexToken(THEN,'then',1,2041)
+LexToken(EOL,'\n',1,2045)
+LexToken(VAR,'message',1,2066)
+LexToken(OPENBRACKET,'(',1,2073)
+LexToken(DQSTRING,'"the second dimension of the output is too big"',1,2120)
+LexToken(CLOSEBRACKET,')',1,2121)
+LexToken(SEMICOLON,';',1,2122)
+LexToken(EOL,'\n',1,2123)
+LexToken(VAR,'ok',1,2144)
+LexToken(ASSIGNMENT,'=',1,2146)
+LexToken(PREVAR_BOOLEAN,'%f',1,2147)
+LexToken(SEMICOLON,';',1,2149)
+LexToken(EOL,'\n',1,2150)
+LexToken(END,'end',1,2167)
+LexToken(EOL,'\n',1,2170)
+LexToken(IF,'if',1,2187)
+LexToken(OPENBRACKET,'(',1,2190)
+LexToken(OPENBRACKET,'(',1,2191)
+LexToken(OPENBRACKET,'(',1,2192)
+LexToken(VAR,'out',1,2193)
+LexToken(OPENBRACKET,'(',1,2196)
+LexToken(NUMBER,'2',1,2197)
+LexToken(CLOSEBRACKET,')',1,2198)
+LexToken(OPERATOR,'*',1,2199)
+LexToken(VAR,'out',1,2200)
+LexToken(OPENBRACKET,'(',1,2203)
+LexToken(NUMBER,'1',1,2204)
+LexToken(CLOSEBRACKET,')',1,2205)
+LexToken(CLOSEBRACKET,')',1,2206)
+LexToken(COMPARISON,'>',1,2207)
+LexToken(OPENBRACKET,'(',1,2208)
+LexToken(VAR,'l1',1,2209)
+LexToken(OPENBRACKET,'(',1,2211)
+LexToken(NUMBER,'1',1,2212)
+LexToken(CLOSEBRACKET,')',1,2213)
+LexToken(OPERATOR,'*',1,2214)
+LexToken(VAR,'l1',1,2215)
+LexToken(OPENBRACKET,'(',1,2217)
+LexToken(NUMBER,'2',1,2218)
+LexToken(CLOSEBRACKET,')',1,2219)
+LexToken(CLOSEBRACKET,')',1,2220)
+LexToken(CLOSEBRACKET,')',1,2221)
+LexToken(CLOSEBRACKET,')',1,2222)
+LexToken(THEN,'then',1,2224)
+LexToken(EOL,'\n',1,2228)
+LexToken(VAR,'message',1,2249)
+LexToken(OPENBRACKET,'(',1,2256)
+LexToken(DQSTRING,'"the dimensions of the output are too big"',1,2298)
+LexToken(CLOSEBRACKET,')',1,2299)
+LexToken(SEMICOLON,';',1,2300)
+LexToken(EOL,'\n',1,2301)
+LexToken(VAR,'ok',1,2322)
+LexToken(ASSIGNMENT,'=',1,2324)
+LexToken(PREVAR_BOOLEAN,'%f',1,2325)
+LexToken(SEMICOLON,';',1,2327)
+LexToken(EOL,'\n',1,2328)
+LexToken(END,'end',1,2345)
+LexToken(EOL,'\n',1,2348)
+LexToken(END,'end',1,2361)
+LexToken(EOL,'\n',1,2364)
+LexToken(IF,'if',1,2377)
+LexToken(OPENBRACKET,'(',1,2380)
+LexToken(VAR,'typ',1,2381)
+LexToken(COMPARISON,'==',1,2384)
+LexToken(NUMBER,'1',1,2386)
+LexToken(CLOSEBRACKET,')',1,2387)
+LexToken(THEN,'then',1,2389)
+LexToken(EOL,'\n',1,2393)
+LexToken(VAR,'function_name',1,2410)
+LexToken(ASSIGNMENT,'=',1,2423)
+LexToken(DQSTRING,'"mat_reshape"',1,2436)
+LexToken(SEMICOLON,';',1,2437)
+LexToken(EOL,'\n',1,2438)
+LexToken(VAR,'ot',1,2455)
+LexToken(ASSIGNMENT,'=',1,2457)
+LexToken(NUMBER,'1',1,2458)
+LexToken(SEMICOLON,';',1,2459)
+LexToken(EOL,'\n',1,2460)
+LexToken(VAR,'it',1,2477)
+LexToken(ASSIGNMENT,'=',1,2479)
+LexToken(NUMBER,'1',1,2480)
+LexToken(SEMICOLON,';',1,2481)
+LexToken(EOL,'\n',1,2482)
+LexToken(ELSEIF,'elseif',1,2495)
+LexToken(OPENBRACKET,'(',1,2502)
+LexToken(VAR,'typ',1,2503)
+LexToken(COMPARISON,'==',1,2506)
+LexToken(NUMBER,'2',1,2508)
+LexToken(CLOSEBRACKET,')',1,2509)
+LexToken(THEN,'then',1,2511)
+LexToken(EOL,'\n',1,2515)
+LexToken(VAR,'function_name',1,2532)
+LexToken(ASSIGNMENT,'=',1,2545)
+LexToken(DQSTRING,'"matz_reshape"',1,2559)
+LexToken(SEMICOLON,';',1,2560)
+LexToken(EOL,'\n',1,2561)
+LexToken(VAR,'ot',1,2578)
+LexToken(ASSIGNMENT,'=',1,2580)
+LexToken(NUMBER,'2',1,2581)
+LexToken(SEMICOLON,';',1,2582)
+LexToken(EOL,'\n',1,2583)
+LexToken(VAR,'it',1,2600)
+LexToken(ASSIGNMENT,'=',1,2602)
+LexToken(NUMBER,'2',1,2603)
+LexToken(SEMICOLON,';',1,2604)
+LexToken(EOL,'\n',1,2605)
+LexToken(ELSE,'else',1,2618)
+LexToken(EOL,'\n',1,2622)
+LexToken(VAR,'message',1,2639)
+LexToken(OPENBRACKET,'(',1,2646)
+LexToken(DQSTRING,'"Datatype is not supported"',1,2673)
+LexToken(CLOSEBRACKET,')',1,2674)
+LexToken(SEMICOLON,';',1,2675)
+LexToken(EOL,'\n',1,2676)
+LexToken(VAR,'ok',1,2693)
+LexToken(ASSIGNMENT,'=',1,2695)
+LexToken(PREVAR_BOOLEAN,'%f',1,2696)
+LexToken(SEMICOLON,';',1,2698)
+LexToken(EOL,'\n',1,2699)
+LexToken(END,'end',1,2712)
+LexToken(EOL,'\n',1,2715)
+LexToken(IF,'if',1,2728)
+LexToken(VAR,'ok',1,2731)
+LexToken(THEN,'then',1,2734)
+LexToken(EOL,'\n',1,2738)
+LexToken(VAR,'label',1,2755)
+LexToken(ASSIGNMENT,'=',1,2760)
+LexToken(VAR,'lab',1,2761)
+LexToken(EOL,'\n',1,2764)
+LexToken(OPENSQBRACKET,'[',1,2781)
+LexToken(VAR,'model',1,2782)
+LexToken(COMMA,',',1,2787)
+LexToken(VAR,'graphics',1,2788)
+LexToken(COMMA,',',1,2796)
+LexToken(VAR,'ok',1,2797)
+LexToken(CLOSESQBRACKET,']',1,2799)
+LexToken(ASSIGNMENT,'=',1,2800)
+LexToken(VAR,'set_io',1,2801)
+LexToken(OPENBRACKET,'(',1,2807)
+LexToken(VAR,'model',1,2808)
+LexToken(COMMA,',',1,2813)
+LexToken(VAR,'graphics',1,2814)
+LexToken(COMMA,',',1,2822)
+LexToken(VAR,'list',1,2823)
+LexToken(OPENBRACKET,'(',1,2827)
+LexToken(VAR,'l1',1,2828)
+LexToken(COMMA,',',1,2830)
+LexToken(VAR,'it',1,2831)
+LexToken(CLOSEBRACKET,')',1,2833)
+LexToken(COMMA,',',1,2834)
+LexToken(VAR,'list',1,2835)
+LexToken(OPENBRACKET,'(',1,2839)
+LexToken(VAR,'out',1,2840)
+LexToken(COMMA,',',1,2843)
+LexToken(VAR,'ot',1,2844)
+LexToken(CLOSEBRACKET,')',1,2846)
+LexToken(COMMA,',',1,2847)
+LexToken(OPENSQBRACKET,'[',1,2848)
+LexToken(CLOSESQBRACKET,']',1,2849)
+LexToken(COMMA,',',1,2850)
+LexToken(OPENSQBRACKET,'[',1,2851)
+LexToken(CLOSESQBRACKET,']',1,2852)
+LexToken(CLOSEBRACKET,')',1,2853)
+LexToken(EOL,'\n',1,2854)
+LexToken(END,'end',1,2867)
+LexToken(EOL,'\n',1,2870)
+LexToken(IF,'if',1,2883)
+LexToken(VAR,'ok',1,2886)
+LexToken(THEN,'then',1,2889)
+LexToken(EOL,'\n',1,2893)
+LexToken(VAR,'funtyp',1,2910)
+LexToken(ASSIGNMENT,'=',1,2916)
+LexToken(NUMBER,'4',1,2917)
+LexToken(SEMICOLON,';',1,2918)
+LexToken(EOL,'\n',1,2919)
+LexToken(VAR,'model',1,2936)
+LexToken(DOT,'.',1,2941)
+LexToken(VAR,'sim',1,2942)
+LexToken(ASSIGNMENT,'=',1,2945)
+LexToken(VAR,'list',1,2946)
+LexToken(OPENBRACKET,'(',1,2950)
+LexToken(VAR,'function_name',1,2951)
+LexToken(COMMA,',',1,2964)
+LexToken(VAR,'funtyp',1,2965)
+LexToken(CLOSEBRACKET,')',1,2971)
+LexToken(EOL,'\n',1,2972)
+LexToken(VAR,'graphics',1,2989)
+LexToken(DOT,'.',1,2997)
+LexToken(VAR,'exprs',1,2998)
+LexToken(ASSIGNMENT,'=',1,3003)
+LexToken(VAR,'label',1,3004)
+LexToken(EOL,'\n',1,3009)
+LexToken(VAR,'arg1',1,3026)
+LexToken(DOT,'.',1,3030)
+LexToken(VAR,'graphics',1,3031)
+LexToken(ASSIGNMENT,'=',1,3039)
+LexToken(VAR,'graphics',1,3040)
+LexToken(EOL,'\n',1,3048)
+LexToken(VAR,'arg1',1,3065)
+LexToken(DOT,'.',1,3069)
+LexToken(VAR,'model',1,3070)
+LexToken(ASSIGNMENT,'=',1,3075)
+LexToken(VAR,'model',1,3076)
+LexToken(EOL,'\n',1,3081)
+LexToken(VAR,'x',1,3098)
+LexToken(ASSIGNMENT,'=',1,3099)
+LexToken(VAR,'arg1',1,3100)
+LexToken(EOL,'\n',1,3104)
+LexToken(BREAK,'break',1,3121)
+LexToken(EOL,'\n',1,3126)
+LexToken(END,'end',1,3139)
+LexToken(EOL,'\n',1,3142)
+LexToken(END,'end',1,3151)
+LexToken(EOL,'\n',1,3154)
+LexToken(VAR,'needcompile',1,3163)
+LexToken(ASSIGNMENT,'=',1,3174)
+LexToken(RESUME,'resume',1,3175)
+LexToken(OPENBRACKET,'(',1,3181)
+LexToken(VAR,'needcompile',1,3182)
+LexToken(CLOSEBRACKET,')',1,3193)
+LexToken(EOL,'\n',1,3194)
+LexToken(CASE,'case',1,3199)
+LexToken(DQSTRING,'"define"',1,3211)
+LexToken(THEN,'then',1,3213)
+LexToken(EOL,'\n',1,3217)
+LexToken(VAR,'model',1,3226)
+LexToken(ASSIGNMENT,'=',1,3231)
+LexToken(SCICOS_MODEL,'scicos_model',1,3232)
+LexToken(OPENBRACKET,'(',1,3244)
+LexToken(CLOSEBRACKET,')',1,3245)
+LexToken(EOL,'\n',1,3246)
+LexToken(VAR,'function_name',1,3255)
+LexToken(ASSIGNMENT,'=',1,3268)
+LexToken(DQSTRING,'"mat_reshape"',1,3281)
+LexToken(SEMICOLON,';',1,3282)
+LexToken(EOL,'\n',1,3283)
+LexToken(VAR,'funtyp',1,3292)
+LexToken(ASSIGNMENT,'=',1,3298)
+LexToken(NUMBER,'4',1,3299)
+LexToken(SEMICOLON,';',1,3300)
+LexToken(EOL,'\n',1,3301)
+LexToken(VAR,'model',1,3310)
+LexToken(DOT,'.',1,3315)
+LexToken(VAR,'sim',1,3316)
+LexToken(ASSIGNMENT,'=',1,3319)
+LexToken(VAR,'list',1,3320)
+LexToken(OPENBRACKET,'(',1,3324)
+LexToken(VAR,'function_name',1,3325)
+LexToken(COMMA,',',1,3338)
+LexToken(VAR,'funtyp',1,3339)
+LexToken(CLOSEBRACKET,')',1,3345)
+LexToken(EOL,'\n',1,3346)
+LexToken(VAR,'model',1,3355)
+LexToken(DOT,'.',1,3360)
+LexToken(VAR,'in',1,3361)
+LexToken(ASSIGNMENT,'=',1,3363)
+LexToken(NUMBER,'-1',1,3364)
+LexToken(EOL,'\n',1,3366)
+LexToken(VAR,'model',1,3375)
+LexToken(DOT,'.',1,3380)
+LexToken(VAR,'in2',1,3381)
+LexToken(ASSIGNMENT,'=',1,3384)
+LexToken(NUMBER,'-2',1,3385)
+LexToken(EOL,'\n',1,3387)
+LexToken(VAR,'model',1,3396)
+LexToken(DOT,'.',1,3401)
+LexToken(VAR,'intyp',1,3402)
+LexToken(ASSIGNMENT,'=',1,3407)
+LexToken(NUMBER,'1',1,3408)
+LexToken(EOL,'\n',1,3409)
+LexToken(VAR,'model',1,3418)
+LexToken(DOT,'.',1,3423)
+LexToken(VAR,'out',1,3424)
+LexToken(ASSIGNMENT,'=',1,3427)
+LexToken(NUMBER,'-1',1,3428)
+LexToken(EOL,'\n',1,3430)
+LexToken(VAR,'model',1,3439)
+LexToken(DOT,'.',1,3444)
+LexToken(VAR,'out2',1,3445)
+LexToken(ASSIGNMENT,'=',1,3449)
+LexToken(NUMBER,'-2',1,3450)
+LexToken(EOL,'\n',1,3452)
+LexToken(VAR,'model',1,3461)
+LexToken(DOT,'.',1,3466)
+LexToken(VAR,'outtyp',1,3467)
+LexToken(ASSIGNMENT,'=',1,3473)
+LexToken(NUMBER,'1',1,3474)
+LexToken(EOL,'\n',1,3475)
+LexToken(VAR,'model',1,3484)
+LexToken(DOT,'.',1,3489)
+LexToken(VAR,'evtin',1,3490)
+LexToken(ASSIGNMENT,'=',1,3495)
+LexToken(OPENSQBRACKET,'[',1,3496)
+LexToken(CLOSESQBRACKET,']',1,3497)
+LexToken(EOL,'\n',1,3498)
+LexToken(VAR,'model',1,3507)
+LexToken(DOT,'.',1,3512)
+LexToken(VAR,'evtout',1,3513)
+LexToken(ASSIGNMENT,'=',1,3519)
+LexToken(OPENSQBRACKET,'[',1,3520)
+LexToken(CLOSESQBRACKET,']',1,3521)
+LexToken(EOL,'\n',1,3522)
+LexToken(VAR,'model',1,3531)
+LexToken(DOT,'.',1,3536)
+LexToken(VAR,'state',1,3537)
+LexToken(ASSIGNMENT,'=',1,3542)
+LexToken(OPENSQBRACKET,'[',1,3543)
+LexToken(CLOSESQBRACKET,']',1,3544)
+LexToken(EOL,'\n',1,3545)
+LexToken(VAR,'model',1,3554)
+LexToken(DOT,'.',1,3559)
+LexToken(VAR,'dstate',1,3560)
+LexToken(ASSIGNMENT,'=',1,3566)
+LexToken(OPENSQBRACKET,'[',1,3567)
+LexToken(CLOSESQBRACKET,']',1,3568)
+LexToken(EOL,'\n',1,3569)
+LexToken(VAR,'model',1,3578)
+LexToken(DOT,'.',1,3583)
+LexToken(VAR,'rpar',1,3584)
+LexToken(ASSIGNMENT,'=',1,3588)
+LexToken(OPENSQBRACKET,'[',1,3589)
+LexToken(CLOSESQBRACKET,']',1,3590)
+LexToken(EOL,'\n',1,3591)
+LexToken(VAR,'model',1,3600)
+LexToken(DOT,'.',1,3605)
+LexToken(VAR,'ipar',1,3606)
+LexToken(ASSIGNMENT,'=',1,3610)
+LexToken(OPENSQBRACKET,'[',1,3611)
+LexToken(CLOSESQBRACKET,']',1,3612)
+LexToken(EOL,'\n',1,3613)
+LexToken(VAR,'model',1,3622)
+LexToken(DOT,'.',1,3627)
+LexToken(VAR,'blocktype',1,3628)
+LexToken(ASSIGNMENT,'=',1,3637)
+LexToken(DQSTRING,'"c"',1,3640)
+LexToken(EOL,'\n',1,3641)
+LexToken(VAR,'model',1,3650)
+LexToken(DOT,'.',1,3655)
+LexToken(VAR,'firing',1,3656)
+LexToken(ASSIGNMENT,'=',1,3662)
+LexToken(OPENSQBRACKET,'[',1,3663)
+LexToken(CLOSESQBRACKET,']',1,3664)
+LexToken(EOL,'\n',1,3665)
+LexToken(VAR,'model',1,3674)
+LexToken(DOT,'.',1,3679)
+LexToken(VAR,'dep_ut',1,3680)
+LexToken(ASSIGNMENT,'=',1,3686)
+LexToken(OPENSQBRACKET,'[',1,3687)
+LexToken(PREVAR_BOOLEAN,'%t',1,3688)
+LexToken(PREVAR_BOOLEAN,'%f',1,3691)
+LexToken(CLOSESQBRACKET,']',1,3693)
+LexToken(EOL,'\n',1,3694)
+LexToken(VAR,'label',1,3703)
+LexToken(ASSIGNMENT,'=',1,3708)
+LexToken(OPENSQBRACKET,'[',1,3709)
+LexToken(VAR,'sci2exp',1,3710)
+LexToken(OPENBRACKET,'(',1,3717)
+LexToken(NUMBER,'1',1,3718)
+LexToken(CLOSEBRACKET,')',1,3719)
+LexToken(SEMICOLON,';',1,3720)
+LexToken(VAR,'sci2exp',1,3721)
+LexToken(OPENBRACKET,'(',1,3728)
+LexToken(OPENSQBRACKET,'[',1,3729)
+LexToken(NUMBER,'1',1,3730)
+LexToken(COMMA,',',1,3731)
+LexToken(NUMBER,'1',1,3732)
+LexToken(CLOSESQBRACKET,']',1,3733)
+LexToken(CLOSEBRACKET,')',1,3734)
+LexToken(SEMICOLON,';',1,3735)
+LexToken(VAR,'sci2exp',1,3736)
+LexToken(OPENBRACKET,'(',1,3743)
+LexToken(OPENSQBRACKET,'[',1,3744)
+LexToken(NUMBER,'1',1,3745)
+LexToken(COMMA,',',1,3746)
+LexToken(NUMBER,'1',1,3747)
+LexToken(CLOSESQBRACKET,']',1,3748)
+LexToken(CLOSEBRACKET,')',1,3749)
+LexToken(CLOSESQBRACKET,']',1,3750)
+LexToken(SEMICOLON,';',1,3751)
+LexToken(EOL,'\n',1,3752)
+LexToken(VAR,'gr_i',1,3761)
+LexToken(ASSIGNMENT,'=',1,3765)
+LexToken(OPENSQBRACKET,'[',1,3766)
+LexToken(CLOSESQBRACKET,']',1,3767)
+LexToken(EOL,'\n',1,3768)
+LexToken(VAR,'x',1,3777)
+LexToken(ASSIGNMENT,'=',1,3778)
+LexToken(VAR,'standard_define',1,3779)
+LexToken(OPENBRACKET,'(',1,3794)
+LexToken(OPENSQBRACKET,'[',1,3795)
+LexToken(NUMBER,'3',1,3796)
+LexToken(NUMBER,'2',1,3798)
+LexToken(CLOSESQBRACKET,']',1,3799)
+LexToken(COMMA,',',1,3800)
+LexToken(VAR,'model',1,3801)
+LexToken(COMMA,',',1,3806)
+LexToken(VAR,'label',1,3807)
+LexToken(COMMA,',',1,3812)
+LexToken(VAR,'gr_i',1,3813)
+LexToken(CLOSEBRACKET,')',1,3817)
+LexToken(EOL,'\n',1,3818)
+LexToken(END,'end',1,3823)
+LexToken(EOL,'\n',1,3826)
+LexToken(ENDFUNCTION,'endfunction',1,3827)
+LexToken(EOL,'\n',1,3838)
+LexToken(EOL,'\n',1,3839)
diff --git a/js/MatrixOp/MATSING.js b/js/MatrixOp/MATSING.js
new file mode 100644
index 00000000..3baa94d0
--- /dev/null
+++ b/js/MatrixOp/MATSING.js
@@ -0,0 +1,653 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATSING',1,852)
+LexToken(OPENBRACKET,'(',1,859)
+LexToken(VAR,'job',1,860)
+LexToken(COMMA,',',1,863)
+LexToken(VAR,'arg1',1,864)
+LexToken(COMMA,',',1,868)
+LexToken(VAR,'arg2',1,869)
+LexToken(CLOSEBRACKET,')',1,873)
+LexToken(EOL,'\n',1,874)
+LexToken(EOL,'\n',1,881)
+LexToken(VAR,'x',1,886)
+LexToken(ASSIGNMENT,'=',1,887)
+LexToken(OPENSQBRACKET,'[',1,888)
+LexToken(CLOSESQBRACKET,']',1,889)
+LexToken(SEMICOLON,';',1,890)
+LexToken(EOL,'\n',1,891)
+LexToken(VAR,'y',1,896)
+LexToken(ASSIGNMENT,'=',1,897)
+LexToken(OPENSQBRACKET,'[',1,898)
+LexToken(CLOSESQBRACKET,']',1,899)
+LexToken(SEMICOLON,';',1,900)
+LexToken(EOL,'\n',1,901)
+LexToken(VAR,'typ',1,906)
+LexToken(ASSIGNMENT,'=',1,909)
+LexToken(OPENSQBRACKET,'[',1,910)
+LexToken(CLOSESQBRACKET,']',1,911)
+LexToken(SEMICOLON,';',1,912)
+LexToken(EOL,'\n',1,913)
+LexToken(SELECT,'select',1,918)
+LexToken(VAR,'job',1,925)
+LexToken(EOL,'\n',1,928)
+LexToken(CASE,'case',1,933)
+LexToken(DQSTRING,'"set"',1,942)
+LexToken(THEN,'then',1,944)
+LexToken(EOL,'\n',1,948)
+LexToken(VAR,'x',1,957)
+LexToken(ASSIGNMENT,'=',1,958)
+LexToken(VAR,'arg1',1,959)
+LexToken(EOL,'\n',1,963)
+LexToken(VAR,'model',1,972)
+LexToken(ASSIGNMENT,'=',1,977)
+LexToken(VAR,'arg1',1,978)
+LexToken(DOT,'.',1,982)
+LexToken(VAR,'model',1,983)
+LexToken(SEMICOLON,';',1,988)
+LexToken(EOL,'\n',1,989)
+LexToken(VAR,'graphics',1,998)
+LexToken(ASSIGNMENT,'=',1,1006)
+LexToken(VAR,'arg1',1,1007)
+LexToken(DOT,'.',1,1011)
+LexToken(VAR,'graphics',1,1012)
+LexToken(SEMICOLON,';',1,1020)
+LexToken(EOL,'\n',1,1021)
+LexToken(VAR,'label',1,1030)
+LexToken(ASSIGNMENT,'=',1,1035)
+LexToken(VAR,'graphics',1,1036)
+LexToken(DOT,'.',1,1044)
+LexToken(VAR,'exprs',1,1045)
+LexToken(EOL,'\n',1,1050)
+LexToken(IF,'if',1,1059)
+LexToken(VAR,'size',1,1062)
+LexToken(OPENBRACKET,'(',1,1066)
+LexToken(VAR,'label',1,1067)
+LexToken(COMMA,',',1,1072)
+LexToken(DQSTRING,'"*"',1,1075)
+LexToken(CLOSEBRACKET,')',1,1076)
+LexToken(COMPARISON,'==',1,1077)
+LexToken(NUMBER,'14',1,1079)
+LexToken(THEN,'then',1,1082)
+LexToken(EOL,'\n',1,1086)
+LexToken(VAR,'label',1,1099)
+LexToken(OPENBRACKET,'(',1,1104)
+LexToken(NUMBER,'9',1,1105)
+LexToken(CLOSEBRACKET,')',1,1106)
+LexToken(ASSIGNMENT,'=',1,1107)
+LexToken(OPENSQBRACKET,'[',1,1108)
+LexToken(CLOSESQBRACKET,']',1,1109)
+LexToken(COMMA,',',1,1110)
+LexToken(EOL,'\n',1,1111)
+LexToken(END,'end',1,1120)
+LexToken(EOL,'\n',1,1138)
+LexToken(WHILE,'while',1,1147)
+LexToken(PREVAR_BOOLEAN,'%t',1,1153)
+LexToken(DO,'do',1,1156)
+LexToken(EOL,'\n',1,1158)
+LexToken(OPENSQBRACKET,'[',1,1171)
+LexToken(VAR,'ok',1,1172)
+LexToken(COMMA,',',1,1174)
+LexToken(VAR,'typ',1,1175)
+LexToken(COMMA,',',1,1178)
+LexToken(VAR,'decomptyp',1,1179)
+LexToken(COMMA,',',1,1188)
+LexToken(VAR,'lab',1,1189)
+LexToken(CLOSESQBRACKET,']',1,1192)
+LexToken(ASSIGNMENT,'=',1,1193)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1194)
+LexToken(OPENBRACKET,'(',1,1209)
+LexToken(DQSTRING,'"Set MATSVD block parameters"',1,1238)
+LexToken(COMMA,',',1,1239)
+LexToken(OPENSQBRACKET,'[',1,1240)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1276)
+LexToken(SEMICOLON,';',1,1277)
+LexToken(DQSTRING,'"decomposition type (1=singular values 2=sing values+matrix U & V)"',1,1345)
+LexToken(CLOSESQBRACKET,']',1,1346)
+LexToken(COMMA,',',1,1347)
+LexToken(VAR,'list',1,1348)
+LexToken(OPENBRACKET,'(',1,1352)
+LexToken(DQSTRING,'"vec"',1,1357)
+LexToken(COMMA,',',1,1358)
+LexToken(NUMBER,'1',1,1359)
+LexToken(COMMA,',',1,1360)
+LexToken(DQSTRING,'"vec"',1,1365)
+LexToken(COMMA,',',1,1366)
+LexToken(NUMBER,'1',1,1367)
+LexToken(CLOSEBRACKET,')',1,1368)
+LexToken(COMMA,',',1,1369)
+LexToken(VAR,'label',1,1370)
+LexToken(CLOSEBRACKET,')',1,1375)
+LexToken(EOL,'\n',1,1376)
+LexToken(IF,'if',1,1389)
+LexToken(NOT,'~',1,1392)
+LexToken(VAR,'ok',1,1393)
+LexToken(THEN,'then',1,1396)
+LexToken(EOL,'\n',1,1400)
+LexToken(BREAK,'break',1,1417)
+LexToken(COMMA,',',1,1422)
+LexToken(EOL,'\n',1,1423)
+LexToken(END,'end',1,1436)
+LexToken(EOL,'\n',1,1439)
+LexToken(VAR,'label',1,1452)
+LexToken(ASSIGNMENT,'=',1,1457)
+LexToken(VAR,'lab',1,1458)
+LexToken(EOL,'\n',1,1461)
+LexToken(IF,'if',1,1474)
+LexToken(OPENBRACKET,'(',1,1477)
+LexToken(VAR,'typ',1,1478)
+LexToken(COMPARISON,'==',1,1481)
+LexToken(NUMBER,'1',1,1483)
+LexToken(CLOSEBRACKET,')',1,1484)
+LexToken(THEN,'then',1,1486)
+LexToken(EOL,'\n',1,1490)
+LexToken(IF,'if',1,1507)
+LexToken(OPENBRACKET,'(',1,1510)
+LexToken(VAR,'decomptyp',1,1511)
+LexToken(COMPARISON,'==',1,1520)
+LexToken(NUMBER,'1',1,1522)
+LexToken(CLOSEBRACKET,')',1,1523)
+LexToken(THEN,'then',1,1525)
+LexToken(EOL,'\n',1,1529)
+LexToken(VAR,'function_name',1,1550)
+LexToken(ASSIGNMENT,'=',1,1563)
+LexToken(DQSTRING,'"mat_sing"',1,1573)
+LexToken(SEMICOLON,';',1,1574)
+LexToken(EOL,'\n',1,1575)
+LexToken(VAR,'in',1,1596)
+LexToken(ASSIGNMENT,'=',1,1598)
+LexToken(OPENSQBRACKET,'[',1,1599)
+LexToken(NUMBER,'-1',1,1600)
+LexToken(NUMBER,'-2',1,1603)
+LexToken(CLOSESQBRACKET,']',1,1605)
+LexToken(SEMICOLON,';',1,1606)
+LexToken(EOL,'\n',1,1607)
+LexToken(VAR,'out',1,1628)
+LexToken(ASSIGNMENT,'=',1,1631)
+LexToken(OPENSQBRACKET,'[',1,1632)
+LexToken(NUMBER,'-1',1,1633)
+LexToken(NUMBER,'1',1,1636)
+LexToken(CLOSESQBRACKET,']',1,1637)
+LexToken(SEMICOLON,';',1,1638)
+LexToken(EOL,'\n',1,1639)
+LexToken(VAR,'ot',1,1660)
+LexToken(ASSIGNMENT,'=',1,1662)
+LexToken(NUMBER,'1',1,1663)
+LexToken(SEMICOLON,';',1,1664)
+LexToken(EOL,'\n',1,1665)
+LexToken(ELSEIF,'elseif',1,1682)
+LexToken(OPENBRACKET,'(',1,1689)
+LexToken(VAR,'decomptyp',1,1690)
+LexToken(COMPARISON,'==',1,1699)
+LexToken(NUMBER,'2',1,1701)
+LexToken(CLOSEBRACKET,')',1,1702)
+LexToken(THEN,'then',1,1704)
+LexToken(EOL,'\n',1,1708)
+LexToken(VAR,'function_name',1,1729)
+LexToken(ASSIGNMENT,'=',1,1742)
+LexToken(DQSTRING,'"mat_svd"',1,1751)
+LexToken(SEMICOLON,';',1,1752)
+LexToken(EOL,'\n',1,1753)
+LexToken(VAR,'in',1,1774)
+LexToken(ASSIGNMENT,'=',1,1776)
+LexToken(OPENSQBRACKET,'[',1,1777)
+LexToken(NUMBER,'-1',1,1778)
+LexToken(NUMBER,'-2',1,1781)
+LexToken(CLOSESQBRACKET,']',1,1783)
+LexToken(SEMICOLON,';',1,1784)
+LexToken(EOL,'\n',1,1785)
+LexToken(VAR,'out',1,1806)
+LexToken(ASSIGNMENT,'=',1,1809)
+LexToken(OPENSQBRACKET,'[',1,1810)
+LexToken(NUMBER,'-1',1,1811)
+LexToken(NUMBER,'-1',1,1814)
+LexToken(SEMICOLON,';',1,1816)
+LexToken(NUMBER,'-1',1,1817)
+LexToken(NUMBER,'-2',1,1820)
+LexToken(SEMICOLON,';',1,1822)
+LexToken(NUMBER,'-2',1,1823)
+LexToken(NUMBER,'-2',1,1826)
+LexToken(CLOSESQBRACKET,']',1,1828)
+LexToken(SEMICOLON,';',1,1829)
+LexToken(EOL,'\n',1,1830)
+LexToken(VAR,'ot',1,1851)
+LexToken(ASSIGNMENT,'=',1,1853)
+LexToken(OPENSQBRACKET,'[',1,1854)
+LexToken(NUMBER,'1',1,1855)
+LexToken(NUMBER,'1',1,1857)
+LexToken(NUMBER,'1',1,1859)
+LexToken(CLOSESQBRACKET,']',1,1860)
+LexToken(SEMICOLON,';',1,1861)
+LexToken(EOL,'\n',1,1862)
+LexToken(ELSE,'else',1,1879)
+LexToken(EOL,'\n',1,1883)
+LexToken(VAR,'message',1,1904)
+LexToken(OPENBRACKET,'(',1,1911)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,1948)
+LexToken(CLOSEBRACKET,')',1,1949)
+LexToken(SEMICOLON,';',1,1950)
+LexToken(EOL,'\n',1,1951)
+LexToken(VAR,'ok',1,1972)
+LexToken(ASSIGNMENT,'=',1,1974)
+LexToken(PREVAR_BOOLEAN,'%f',1,1975)
+LexToken(SEMICOLON,';',1,1977)
+LexToken(EOL,'\n',1,1978)
+LexToken(END,'end',1,1995)
+LexToken(EOL,'\n',1,1998)
+LexToken(VAR,'it',1,2015)
+LexToken(ASSIGNMENT,'=',1,2017)
+LexToken(NUMBER,'1',1,2018)
+LexToken(SEMICOLON,';',1,2019)
+LexToken(EOL,'\n',1,2020)
+LexToken(ELSEIF,'elseif',1,2033)
+LexToken(OPENBRACKET,'(',1,2040)
+LexToken(VAR,'typ',1,2041)
+LexToken(COMPARISON,'==',1,2044)
+LexToken(NUMBER,'2',1,2046)
+LexToken(CLOSEBRACKET,')',1,2047)
+LexToken(THEN,'then',1,2049)
+LexToken(EOL,'\n',1,2053)
+LexToken(IF,'if',1,2070)
+LexToken(OPENBRACKET,'(',1,2073)
+LexToken(VAR,'decomptyp',1,2074)
+LexToken(COMPARISON,'==',1,2083)
+LexToken(NUMBER,'1',1,2085)
+LexToken(CLOSEBRACKET,')',1,2086)
+LexToken(THEN,'then',1,2088)
+LexToken(EOL,'\n',1,2092)
+LexToken(VAR,'function_name',1,2113)
+LexToken(ASSIGNMENT,'=',1,2126)
+LexToken(DQSTRING,'"matz_sing"',1,2137)
+LexToken(SEMICOLON,';',1,2138)
+LexToken(EOL,'\n',1,2139)
+LexToken(VAR,'in',1,2160)
+LexToken(ASSIGNMENT,'=',1,2162)
+LexToken(OPENSQBRACKET,'[',1,2163)
+LexToken(NUMBER,'-1',1,2164)
+LexToken(NUMBER,'-2',1,2167)
+LexToken(CLOSESQBRACKET,']',1,2169)
+LexToken(SEMICOLON,';',1,2170)
+LexToken(EOL,'\n',1,2171)
+LexToken(VAR,'out',1,2192)
+LexToken(ASSIGNMENT,'=',1,2195)
+LexToken(OPENSQBRACKET,'[',1,2196)
+LexToken(NUMBER,'-1',1,2197)
+LexToken(NUMBER,'1',1,2200)
+LexToken(CLOSESQBRACKET,']',1,2201)
+LexToken(SEMICOLON,';',1,2202)
+LexToken(EOL,'\n',1,2203)
+LexToken(VAR,'ot',1,2224)
+LexToken(ASSIGNMENT,'=',1,2226)
+LexToken(NUMBER,'1',1,2227)
+LexToken(SEMICOLON,';',1,2228)
+LexToken(EOL,'\n',1,2229)
+LexToken(ELSEIF,'elseif',1,2246)
+LexToken(OPENBRACKET,'(',1,2253)
+LexToken(VAR,'decomptyp',1,2254)
+LexToken(COMPARISON,'==',1,2263)
+LexToken(NUMBER,'2',1,2265)
+LexToken(CLOSEBRACKET,')',1,2266)
+LexToken(THEN,'then',1,2268)
+LexToken(EOL,'\n',1,2272)
+LexToken(VAR,'function_name',1,2293)
+LexToken(ASSIGNMENT,'=',1,2306)
+LexToken(DQSTRING,'"matz_svd"',1,2316)
+LexToken(SEMICOLON,';',1,2317)
+LexToken(EOL,'\n',1,2318)
+LexToken(VAR,'in',1,2339)
+LexToken(ASSIGNMENT,'=',1,2341)
+LexToken(OPENSQBRACKET,'[',1,2342)
+LexToken(NUMBER,'-1',1,2343)
+LexToken(NUMBER,'-2',1,2346)
+LexToken(CLOSESQBRACKET,']',1,2348)
+LexToken(SEMICOLON,';',1,2349)
+LexToken(EOL,'\n',1,2350)
+LexToken(VAR,'out',1,2371)
+LexToken(ASSIGNMENT,'=',1,2374)
+LexToken(OPENSQBRACKET,'[',1,2375)
+LexToken(NUMBER,'-1',1,2376)
+LexToken(NUMBER,'-1',1,2379)
+LexToken(SEMICOLON,';',1,2381)
+LexToken(NUMBER,'-1',1,2382)
+LexToken(NUMBER,'-2',1,2385)
+LexToken(SEMICOLON,';',1,2387)
+LexToken(NUMBER,'-2',1,2388)
+LexToken(NUMBER,'-2',1,2391)
+LexToken(CLOSESQBRACKET,']',1,2393)
+LexToken(SEMICOLON,';',1,2394)
+LexToken(EOL,'\n',1,2395)
+LexToken(VAR,'ot',1,2416)
+LexToken(ASSIGNMENT,'=',1,2418)
+LexToken(OPENSQBRACKET,'[',1,2419)
+LexToken(NUMBER,'2',1,2420)
+LexToken(NUMBER,'1',1,2422)
+LexToken(NUMBER,'2',1,2424)
+LexToken(CLOSESQBRACKET,']',1,2425)
+LexToken(SEMICOLON,';',1,2426)
+LexToken(EOL,'\n',1,2427)
+LexToken(ELSE,'else',1,2444)
+LexToken(EOL,'\n',1,2448)
+LexToken(VAR,'message',1,2469)
+LexToken(OPENBRACKET,'(',1,2476)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,2513)
+LexToken(CLOSEBRACKET,')',1,2514)
+LexToken(SEMICOLON,';',1,2515)
+LexToken(EOL,'\n',1,2516)
+LexToken(VAR,'ok',1,2537)
+LexToken(ASSIGNMENT,'=',1,2539)
+LexToken(PREVAR_BOOLEAN,'%f',1,2540)
+LexToken(SEMICOLON,';',1,2542)
+LexToken(EOL,'\n',1,2543)
+LexToken(END,'end',1,2560)
+LexToken(EOL,'\n',1,2563)
+LexToken(VAR,'it',1,2580)
+LexToken(ASSIGNMENT,'=',1,2582)
+LexToken(NUMBER,'2',1,2583)
+LexToken(SEMICOLON,';',1,2584)
+LexToken(EOL,'\n',1,2585)
+LexToken(ELSE,'else',1,2598)
+LexToken(EOL,'\n',1,2602)
+LexToken(VAR,'message',1,2619)
+LexToken(OPENBRACKET,'(',1,2626)
+LexToken(DQSTRING,'"Datatype is not supported"',1,2653)
+LexToken(CLOSEBRACKET,')',1,2654)
+LexToken(SEMICOLON,';',1,2655)
+LexToken(EOL,'\n',1,2656)
+LexToken(VAR,'ok',1,2673)
+LexToken(ASSIGNMENT,'=',1,2675)
+LexToken(PREVAR_BOOLEAN,'%f',1,2676)
+LexToken(SEMICOLON,';',1,2678)
+LexToken(EOL,'\n',1,2679)
+LexToken(END,'end',1,2692)
+LexToken(EOL,'\n',1,2695)
+LexToken(VAR,'funtyp',1,2708)
+LexToken(ASSIGNMENT,'=',1,2714)
+LexToken(NUMBER,'4',1,2715)
+LexToken(SEMICOLON,';',1,2716)
+LexToken(EOL,'\n',1,2717)
+LexToken(IF,'if',1,2730)
+LexToken(VAR,'ok',1,2733)
+LexToken(THEN,'then',1,2736)
+LexToken(EOL,'\n',1,2740)
+LexToken(OPENSQBRACKET,'[',1,2757)
+LexToken(VAR,'model',1,2758)
+LexToken(COMMA,',',1,2763)
+LexToken(VAR,'graphics',1,2764)
+LexToken(COMMA,',',1,2772)
+LexToken(VAR,'ok',1,2773)
+LexToken(CLOSESQBRACKET,']',1,2775)
+LexToken(ASSIGNMENT,'=',1,2776)
+LexToken(VAR,'set_io',1,2777)
+LexToken(OPENBRACKET,'(',1,2783)
+LexToken(VAR,'model',1,2784)
+LexToken(COMMA,',',1,2789)
+LexToken(VAR,'graphics',1,2790)
+LexToken(COMMA,',',1,2798)
+LexToken(VAR,'list',1,2799)
+LexToken(OPENBRACKET,'(',1,2803)
+LexToken(VAR,'in',1,2804)
+LexToken(COMMA,',',1,2806)
+LexToken(VAR,'it',1,2807)
+LexToken(CLOSEBRACKET,')',1,2809)
+LexToken(COMMA,',',1,2810)
+LexToken(VAR,'list',1,2811)
+LexToken(OPENBRACKET,'(',1,2815)
+LexToken(VAR,'out',1,2816)
+LexToken(COMMA,',',1,2819)
+LexToken(VAR,'ot',1,2820)
+LexToken(CLOSEBRACKET,')',1,2822)
+LexToken(COMMA,',',1,2823)
+LexToken(OPENSQBRACKET,'[',1,2824)
+LexToken(CLOSESQBRACKET,']',1,2825)
+LexToken(COMMA,',',1,2826)
+LexToken(OPENSQBRACKET,'[',1,2827)
+LexToken(CLOSESQBRACKET,']',1,2828)
+LexToken(CLOSEBRACKET,')',1,2829)
+LexToken(EOL,'\n',1,2830)
+LexToken(END,'end',1,2843)
+LexToken(EOL,'\n',1,2846)
+LexToken(IF,'if',1,2859)
+LexToken(VAR,'ok',1,2862)
+LexToken(THEN,'then',1,2865)
+LexToken(EOL,'\n',1,2869)
+LexToken(VAR,'model',1,2886)
+LexToken(DOT,'.',1,2891)
+LexToken(VAR,'sim',1,2892)
+LexToken(ASSIGNMENT,'=',1,2895)
+LexToken(VAR,'list',1,2896)
+LexToken(OPENBRACKET,'(',1,2900)
+LexToken(VAR,'function_name',1,2901)
+LexToken(COMMA,',',1,2914)
+LexToken(VAR,'funtyp',1,2915)
+LexToken(CLOSEBRACKET,')',1,2921)
+LexToken(SEMICOLON,';',1,2922)
+LexToken(EOL,'\n',1,2923)
+LexToken(VAR,'arg1',1,2940)
+LexToken(DOT,'.',1,2944)
+LexToken(VAR,'model',1,2945)
+LexToken(ASSIGNMENT,'=',1,2950)
+LexToken(VAR,'model',1,2951)
+LexToken(EOL,'\n',1,2956)
+LexToken(VAR,'graphics',1,2973)
+LexToken(DOT,'.',1,2981)
+LexToken(VAR,'exprs',1,2982)
+LexToken(ASSIGNMENT,'=',1,2987)
+LexToken(VAR,'label',1,2988)
+LexToken(EOL,'\n',1,2993)
+LexToken(VAR,'arg1',1,3010)
+LexToken(DOT,'.',1,3014)
+LexToken(VAR,'graphics',1,3015)
+LexToken(ASSIGNMENT,'=',1,3023)
+LexToken(VAR,'graphics',1,3024)
+LexToken(EOL,'\n',1,3032)
+LexToken(VAR,'x',1,3049)
+LexToken(ASSIGNMENT,'=',1,3050)
+LexToken(VAR,'arg1',1,3051)
+LexToken(EOL,'\n',1,3055)
+LexToken(BREAK,'break',1,3072)
+LexToken(EOL,'\n',1,3077)
+LexToken(END,'end',1,3090)
+LexToken(EOL,'\n',1,3093)
+LexToken(END,'end',1,3102)
+LexToken(EOL,'\n',1,3105)
+LexToken(CASE,'case',1,3110)
+LexToken(DQSTRING,'"define"',1,3122)
+LexToken(THEN,'then',1,3124)
+LexToken(EOL,'\n',1,3128)
+LexToken(VAR,'model',1,3137)
+LexToken(ASSIGNMENT,'=',1,3142)
+LexToken(SCICOS_MODEL,'scicos_model',1,3143)
+LexToken(OPENBRACKET,'(',1,3155)
+LexToken(CLOSEBRACKET,')',1,3156)
+LexToken(EOL,'\n',1,3157)
+LexToken(VAR,'function_name',1,3166)
+LexToken(ASSIGNMENT,'=',1,3179)
+LexToken(DQSTRING,'"mat_sing"',1,3189)
+LexToken(SEMICOLON,';',1,3190)
+LexToken(EOL,'\n',1,3191)
+LexToken(VAR,'funtyp',1,3200)
+LexToken(ASSIGNMENT,'=',1,3206)
+LexToken(NUMBER,'4',1,3207)
+LexToken(SEMICOLON,';',1,3208)
+LexToken(EOL,'\n',1,3209)
+LexToken(VAR,'model',1,3218)
+LexToken(DOT,'.',1,3223)
+LexToken(VAR,'sim',1,3224)
+LexToken(ASSIGNMENT,'=',1,3227)
+LexToken(VAR,'list',1,3228)
+LexToken(OPENBRACKET,'(',1,3232)
+LexToken(VAR,'function_name',1,3233)
+LexToken(COMMA,',',1,3246)
+LexToken(VAR,'funtyp',1,3247)
+LexToken(CLOSEBRACKET,')',1,3253)
+LexToken(EOL,'\n',1,3254)
+LexToken(EOL,'\n',1,3255)
+LexToken(VAR,'model',1,3264)
+LexToken(DOT,'.',1,3269)
+LexToken(VAR,'in',1,3270)
+LexToken(ASSIGNMENT,'=',1,3272)
+LexToken(NUMBER,'-1',1,3273)
+LexToken(EOL,'\n',1,3275)
+LexToken(VAR,'model',1,3284)
+LexToken(DOT,'.',1,3289)
+LexToken(VAR,'in2',1,3290)
+LexToken(ASSIGNMENT,'=',1,3293)
+LexToken(NUMBER,'-2',1,3294)
+LexToken(EOL,'\n',1,3296)
+LexToken(VAR,'model',1,3305)
+LexToken(DOT,'.',1,3310)
+LexToken(VAR,'intyp',1,3311)
+LexToken(ASSIGNMENT,'=',1,3316)
+LexToken(NUMBER,'1',1,3317)
+LexToken(EOL,'\n',1,3318)
+LexToken(VAR,'model',1,3327)
+LexToken(DOT,'.',1,3332)
+LexToken(VAR,'out',1,3333)
+LexToken(ASSIGNMENT,'=',1,3336)
+LexToken(NUMBER,'-1',1,3337)
+LexToken(EOL,'\n',1,3339)
+LexToken(VAR,'model',1,3348)
+LexToken(DOT,'.',1,3353)
+LexToken(VAR,'out2',1,3354)
+LexToken(ASSIGNMENT,'=',1,3358)
+LexToken(NUMBER,'1',1,3359)
+LexToken(EOL,'\n',1,3360)
+LexToken(VAR,'model',1,3369)
+LexToken(DOT,'.',1,3374)
+LexToken(VAR,'outtyp',1,3375)
+LexToken(ASSIGNMENT,'=',1,3381)
+LexToken(NUMBER,'1',1,3382)
+LexToken(EOL,'\n',1,3383)
+LexToken(VAR,'model',1,3392)
+LexToken(DOT,'.',1,3397)
+LexToken(VAR,'evtin',1,3398)
+LexToken(ASSIGNMENT,'=',1,3403)
+LexToken(OPENSQBRACKET,'[',1,3404)
+LexToken(CLOSESQBRACKET,']',1,3405)
+LexToken(EOL,'\n',1,3406)
+LexToken(VAR,'model',1,3415)
+LexToken(DOT,'.',1,3420)
+LexToken(VAR,'evtout',1,3421)
+LexToken(ASSIGNMENT,'=',1,3427)
+LexToken(OPENSQBRACKET,'[',1,3428)
+LexToken(CLOSESQBRACKET,']',1,3429)
+LexToken(EOL,'\n',1,3430)
+LexToken(VAR,'model',1,3439)
+LexToken(DOT,'.',1,3444)
+LexToken(VAR,'state',1,3445)
+LexToken(ASSIGNMENT,'=',1,3450)
+LexToken(OPENSQBRACKET,'[',1,3451)
+LexToken(CLOSESQBRACKET,']',1,3452)
+LexToken(EOL,'\n',1,3453)
+LexToken(VAR,'model',1,3462)
+LexToken(DOT,'.',1,3467)
+LexToken(VAR,'dstate',1,3468)
+LexToken(ASSIGNMENT,'=',1,3474)
+LexToken(OPENSQBRACKET,'[',1,3475)
+LexToken(CLOSESQBRACKET,']',1,3476)
+LexToken(EOL,'\n',1,3477)
+LexToken(VAR,'model',1,3486)
+LexToken(DOT,'.',1,3491)
+LexToken(VAR,'rpar',1,3492)
+LexToken(ASSIGNMENT,'=',1,3496)
+LexToken(OPENSQBRACKET,'[',1,3497)
+LexToken(CLOSESQBRACKET,']',1,3498)
+LexToken(EOL,'\n',1,3499)
+LexToken(VAR,'model',1,3508)
+LexToken(DOT,'.',1,3513)
+LexToken(VAR,'ipar',1,3514)
+LexToken(ASSIGNMENT,'=',1,3518)
+LexToken(OPENSQBRACKET,'[',1,3519)
+LexToken(CLOSESQBRACKET,']',1,3520)
+LexToken(EOL,'\n',1,3521)
+LexToken(VAR,'model',1,3530)
+LexToken(DOT,'.',1,3535)
+LexToken(VAR,'blocktype',1,3536)
+LexToken(ASSIGNMENT,'=',1,3545)
+LexToken(DQSTRING,'"c"',1,3548)
+LexToken(EOL,'\n',1,3549)
+LexToken(VAR,'model',1,3558)
+LexToken(DOT,'.',1,3563)
+LexToken(VAR,'firing',1,3564)
+LexToken(ASSIGNMENT,'=',1,3570)
+LexToken(OPENSQBRACKET,'[',1,3571)
+LexToken(CLOSESQBRACKET,']',1,3572)
+LexToken(EOL,'\n',1,3573)
+LexToken(VAR,'model',1,3582)
+LexToken(DOT,'.',1,3587)
+LexToken(VAR,'dep_ut',1,3588)
+LexToken(ASSIGNMENT,'=',1,3594)
+LexToken(OPENSQBRACKET,'[',1,3595)
+LexToken(PREVAR_BOOLEAN,'%t',1,3596)
+LexToken(PREVAR_BOOLEAN,'%f',1,3599)
+LexToken(CLOSESQBRACKET,']',1,3601)
+LexToken(EOL,'\n',1,3602)
+LexToken(VAR,'label',1,3611)
+LexToken(ASSIGNMENT,'=',1,3616)
+LexToken(OPENSQBRACKET,'[',1,3617)
+LexToken(VAR,'sci2exp',1,3618)
+LexToken(OPENBRACKET,'(',1,3625)
+LexToken(NUMBER,'1',1,3626)
+LexToken(CLOSEBRACKET,')',1,3627)
+LexToken(SEMICOLON,';',1,3628)
+LexToken(VAR,'sci2exp',1,3629)
+LexToken(OPENBRACKET,'(',1,3636)
+LexToken(NUMBER,'1',1,3637)
+LexToken(CLOSEBRACKET,')',1,3638)
+LexToken(CLOSESQBRACKET,']',1,3639)
+LexToken(SEMICOLON,';',1,3640)
+LexToken(EOL,'\n',1,3641)
+LexToken(VAR,'gr_i',1,3650)
+LexToken(ASSIGNMENT,'=',1,3654)
+LexToken(OPENSQBRACKET,'[',1,3655)
+LexToken(CLOSESQBRACKET,']',1,3656)
+LexToken(EOL,'\n',1,3657)
+LexToken(VAR,'x',1,3666)
+LexToken(ASSIGNMENT,'=',1,3667)
+LexToken(VAR,'standard_define',1,3668)
+LexToken(OPENBRACKET,'(',1,3683)
+LexToken(OPENSQBRACKET,'[',1,3684)
+LexToken(NUMBER,'2',1,3685)
+LexToken(NUMBER,'2',1,3687)
+LexToken(CLOSESQBRACKET,']',1,3688)
+LexToken(COMMA,',',1,3689)
+LexToken(VAR,'model',1,3690)
+LexToken(COMMA,',',1,3695)
+LexToken(VAR,'label',1,3696)
+LexToken(COMMA,',',1,3701)
+LexToken(VAR,'gr_i',1,3702)
+LexToken(CLOSEBRACKET,')',1,3706)
+LexToken(EOL,'\n',1,3707)
+LexToken(END,'end',1,3712)
+LexToken(EOL,'\n',1,3715)
+LexToken(ENDFUNCTION,'endfunction',1,3716)
+LexToken(EOL,'\n',1,3727)
+LexToken(EOL,'\n',1,3728)
diff --git a/js/MatrixOp/MATSUM.js b/js/MatrixOp/MATSUM.js
new file mode 100644
index 00000000..d6068aba
--- /dev/null
+++ b/js/MatrixOp/MATSUM.js
@@ -0,0 +1,644 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATSUM',1,852)
+LexToken(OPENBRACKET,'(',1,858)
+LexToken(VAR,'job',1,859)
+LexToken(COMMA,',',1,862)
+LexToken(VAR,'arg1',1,863)
+LexToken(COMMA,',',1,867)
+LexToken(VAR,'arg2',1,868)
+LexToken(CLOSEBRACKET,')',1,872)
+LexToken(EOL,'\n',1,873)
+LexToken(EOL,'\n',1,880)
+LexToken(VAR,'x',1,885)
+LexToken(ASSIGNMENT,'=',1,886)
+LexToken(OPENSQBRACKET,'[',1,887)
+LexToken(CLOSESQBRACKET,']',1,888)
+LexToken(SEMICOLON,';',1,889)
+LexToken(EOL,'\n',1,890)
+LexToken(VAR,'y',1,895)
+LexToken(ASSIGNMENT,'=',1,896)
+LexToken(OPENSQBRACKET,'[',1,897)
+LexToken(CLOSESQBRACKET,']',1,898)
+LexToken(SEMICOLON,';',1,899)
+LexToken(EOL,'\n',1,900)
+LexToken(VAR,'typ',1,905)
+LexToken(ASSIGNMENT,'=',1,908)
+LexToken(OPENSQBRACKET,'[',1,909)
+LexToken(CLOSESQBRACKET,']',1,910)
+LexToken(SEMICOLON,';',1,911)
+LexToken(EOL,'\n',1,912)
+LexToken(SELECT,'select',1,917)
+LexToken(VAR,'job',1,924)
+LexToken(EOL,'\n',1,927)
+LexToken(CASE,'case',1,932)
+LexToken(DQSTRING,'"set"',1,941)
+LexToken(THEN,'then',1,943)
+LexToken(EOL,'\n',1,947)
+LexToken(VAR,'x',1,956)
+LexToken(ASSIGNMENT,'=',1,957)
+LexToken(VAR,'arg1',1,958)
+LexToken(EOL,'\n',1,962)
+LexToken(VAR,'model',1,971)
+LexToken(ASSIGNMENT,'=',1,976)
+LexToken(VAR,'arg1',1,977)
+LexToken(DOT,'.',1,981)
+LexToken(VAR,'model',1,982)
+LexToken(SEMICOLON,';',1,987)
+LexToken(EOL,'\n',1,988)
+LexToken(VAR,'graphics',1,997)
+LexToken(ASSIGNMENT,'=',1,1005)
+LexToken(VAR,'arg1',1,1006)
+LexToken(DOT,'.',1,1010)
+LexToken(VAR,'graphics',1,1011)
+LexToken(SEMICOLON,';',1,1019)
+LexToken(EOL,'\n',1,1020)
+LexToken(VAR,'label',1,1029)
+LexToken(ASSIGNMENT,'=',1,1034)
+LexToken(VAR,'graphics',1,1035)
+LexToken(DOT,'.',1,1043)
+LexToken(VAR,'exprs',1,1044)
+LexToken(EOL,'\n',1,1049)
+LexToken(IF,'if',1,1058)
+LexToken(VAR,'size',1,1061)
+LexToken(OPENBRACKET,'(',1,1065)
+LexToken(VAR,'label',1,1066)
+LexToken(COMMA,',',1,1071)
+LexToken(DQSTRING,'"*"',1,1074)
+LexToken(CLOSEBRACKET,')',1,1075)
+LexToken(COMPARISON,'==',1,1076)
+LexToken(NUMBER,'14',1,1078)
+LexToken(THEN,'then',1,1081)
+LexToken(EOL,'\n',1,1085)
+LexToken(VAR,'label',1,1098)
+LexToken(OPENBRACKET,'(',1,1103)
+LexToken(NUMBER,'9',1,1104)
+LexToken(CLOSEBRACKET,')',1,1105)
+LexToken(ASSIGNMENT,'=',1,1106)
+LexToken(OPENSQBRACKET,'[',1,1107)
+LexToken(CLOSESQBRACKET,']',1,1108)
+LexToken(COMMA,',',1,1109)
+LexToken(EOL,'\n',1,1110)
+LexToken(END,'end',1,1119)
+LexToken(EOL,'\n',1,1137)
+LexToken(WHILE,'while',1,1146)
+LexToken(PREVAR_BOOLEAN,'%t',1,1152)
+LexToken(DO,'do',1,1155)
+LexToken(EOL,'\n',1,1157)
+LexToken(OPENSQBRACKET,'[',1,1170)
+LexToken(VAR,'ok',1,1171)
+LexToken(COMMA,',',1,1173)
+LexToken(VAR,'typ',1,1174)
+LexToken(COMMA,',',1,1177)
+LexToken(VAR,'decomptyp',1,1178)
+LexToken(COMMA,',',1,1187)
+LexToken(VAR,'lab',1,1188)
+LexToken(CLOSESQBRACKET,']',1,1191)
+LexToken(ASSIGNMENT,'=',1,1192)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1193)
+LexToken(OPENBRACKET,'(',1,1208)
+LexToken(DQSTRING,'"Set MATSUM block parameters"',1,1237)
+LexToken(COMMA,',',1,1238)
+LexToken(OPENSQBRACKET,'[',1,1239)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1275)
+LexToken(SEMICOLON,';',1,1276)
+LexToken(DQSTRING,'"Sum along (0=all 1=lines 2=Columns)"',1,1314)
+LexToken(CLOSESQBRACKET,']',1,1315)
+LexToken(COMMA,',',1,1316)
+LexToken(VAR,'list',1,1317)
+LexToken(OPENBRACKET,'(',1,1321)
+LexToken(DQSTRING,'"vec"',1,1326)
+LexToken(COMMA,',',1,1327)
+LexToken(NUMBER,'1',1,1328)
+LexToken(COMMA,',',1,1329)
+LexToken(DQSTRING,'"vec"',1,1334)
+LexToken(COMMA,',',1,1335)
+LexToken(NUMBER,'1',1,1336)
+LexToken(CLOSEBRACKET,')',1,1337)
+LexToken(COMMA,',',1,1338)
+LexToken(VAR,'label',1,1339)
+LexToken(CLOSEBRACKET,')',1,1344)
+LexToken(EOL,'\n',1,1345)
+LexToken(IF,'if',1,1358)
+LexToken(NOT,'~',1,1361)
+LexToken(VAR,'ok',1,1362)
+LexToken(THEN,'then',1,1365)
+LexToken(EOL,'\n',1,1369)
+LexToken(BREAK,'break',1,1386)
+LexToken(COMMA,',',1,1391)
+LexToken(EOL,'\n',1,1392)
+LexToken(END,'end',1,1405)
+LexToken(EOL,'\n',1,1408)
+LexToken(VAR,'label',1,1421)
+LexToken(ASSIGNMENT,'=',1,1426)
+LexToken(VAR,'lab',1,1427)
+LexToken(EOL,'\n',1,1430)
+LexToken(IF,'if',1,1443)
+LexToken(OPENBRACKET,'(',1,1446)
+LexToken(VAR,'typ',1,1447)
+LexToken(COMPARISON,'==',1,1450)
+LexToken(NUMBER,'1',1,1452)
+LexToken(CLOSEBRACKET,')',1,1453)
+LexToken(THEN,'then',1,1455)
+LexToken(EOL,'\n',1,1459)
+LexToken(IF,'if',1,1476)
+LexToken(OPENBRACKET,'(',1,1479)
+LexToken(VAR,'decomptyp',1,1480)
+LexToken(COMPARISON,'==',1,1489)
+LexToken(NUMBER,'0',1,1491)
+LexToken(CLOSEBRACKET,')',1,1492)
+LexToken(THEN,'then',1,1494)
+LexToken(EOL,'\n',1,1498)
+LexToken(VAR,'function_name',1,1519)
+LexToken(ASSIGNMENT,'=',1,1532)
+LexToken(DQSTRING,'"mat_sum"',1,1541)
+LexToken(SEMICOLON,';',1,1542)
+LexToken(EOL,'\n',1,1543)
+LexToken(VAR,'out',1,1564)
+LexToken(ASSIGNMENT,'=',1,1567)
+LexToken(OPENSQBRACKET,'[',1,1568)
+LexToken(NUMBER,'1',1,1569)
+LexToken(NUMBER,'1',1,1571)
+LexToken(CLOSESQBRACKET,']',1,1572)
+LexToken(SEMICOLON,';',1,1573)
+LexToken(EOL,'\n',1,1574)
+LexToken(ELSEIF,'elseif',1,1591)
+LexToken(OPENBRACKET,'(',1,1598)
+LexToken(VAR,'decomptyp',1,1599)
+LexToken(COMPARISON,'==',1,1608)
+LexToken(NUMBER,'2',1,1610)
+LexToken(CLOSEBRACKET,')',1,1611)
+LexToken(THEN,'then',1,1613)
+LexToken(EOL,'\n',1,1617)
+LexToken(VAR,'function_name',1,1638)
+LexToken(ASSIGNMENT,'=',1,1651)
+LexToken(DQSTRING,'"mat_suml"',1,1661)
+LexToken(SEMICOLON,';',1,1662)
+LexToken(EOL,'\n',1,1663)
+LexToken(VAR,'out',1,1684)
+LexToken(ASSIGNMENT,'=',1,1687)
+LexToken(OPENSQBRACKET,'[',1,1688)
+LexToken(NUMBER,'-1',1,1689)
+LexToken(NUMBER,'1',1,1692)
+LexToken(CLOSESQBRACKET,']',1,1693)
+LexToken(SEMICOLON,';',1,1694)
+LexToken(EOL,'\n',1,1695)
+LexToken(ELSEIF,'elseif',1,1712)
+LexToken(OPENBRACKET,'(',1,1719)
+LexToken(VAR,'decomptyp',1,1720)
+LexToken(COMPARISON,'==',1,1729)
+LexToken(NUMBER,'1',1,1731)
+LexToken(CLOSEBRACKET,')',1,1732)
+LexToken(THEN,'then',1,1734)
+LexToken(EOL,'\n',1,1738)
+LexToken(VAR,'function_name',1,1759)
+LexToken(ASSIGNMENT,'=',1,1772)
+LexToken(DQSTRING,'"mat_sumc"',1,1782)
+LexToken(SEMICOLON,';',1,1783)
+LexToken(EOL,'\n',1,1784)
+LexToken(VAR,'out',1,1805)
+LexToken(ASSIGNMENT,'=',1,1808)
+LexToken(OPENSQBRACKET,'[',1,1809)
+LexToken(NUMBER,'1',1,1810)
+LexToken(NUMBER,'-2',1,1812)
+LexToken(CLOSESQBRACKET,']',1,1814)
+LexToken(SEMICOLON,';',1,1815)
+LexToken(EOL,'\n',1,1816)
+LexToken(ELSE,'else',1,1833)
+LexToken(EOL,'\n',1,1837)
+LexToken(VAR,'message',1,1858)
+LexToken(OPENBRACKET,'(',1,1865)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,1902)
+LexToken(CLOSEBRACKET,')',1,1903)
+LexToken(SEMICOLON,';',1,1904)
+LexToken(EOL,'\n',1,1905)
+LexToken(VAR,'ok',1,1926)
+LexToken(ASSIGNMENT,'=',1,1928)
+LexToken(PREVAR_BOOLEAN,'%f',1,1929)
+LexToken(SEMICOLON,';',1,1931)
+LexToken(EOL,'\n',1,1932)
+LexToken(END,'end',1,1949)
+LexToken(EOL,'\n',1,1952)
+LexToken(VAR,'it',1,1969)
+LexToken(ASSIGNMENT,'=',1,1971)
+LexToken(NUMBER,'1',1,1972)
+LexToken(SEMICOLON,';',1,1973)
+LexToken(EOL,'\n',1,1974)
+LexToken(VAR,'ot',1,1991)
+LexToken(ASSIGNMENT,'=',1,1993)
+LexToken(NUMBER,'1',1,1994)
+LexToken(SEMICOLON,';',1,1995)
+LexToken(EOL,'\n',1,1996)
+LexToken(ELSEIF,'elseif',1,2009)
+LexToken(OPENBRACKET,'(',1,2016)
+LexToken(VAR,'typ',1,2017)
+LexToken(COMPARISON,'==',1,2020)
+LexToken(NUMBER,'2',1,2022)
+LexToken(CLOSEBRACKET,')',1,2023)
+LexToken(THEN,'then',1,2025)
+LexToken(EOL,'\n',1,2029)
+LexToken(IF,'if',1,2046)
+LexToken(OPENBRACKET,'(',1,2049)
+LexToken(VAR,'decomptyp',1,2050)
+LexToken(COMPARISON,'==',1,2059)
+LexToken(NUMBER,'0',1,2061)
+LexToken(CLOSEBRACKET,')',1,2062)
+LexToken(THEN,'then',1,2064)
+LexToken(EOL,'\n',1,2068)
+LexToken(VAR,'function_name',1,2089)
+LexToken(ASSIGNMENT,'=',1,2102)
+LexToken(DQSTRING,'"matz_sum"',1,2112)
+LexToken(SEMICOLON,';',1,2113)
+LexToken(EOL,'\n',1,2114)
+LexToken(VAR,'out',1,2135)
+LexToken(ASSIGNMENT,'=',1,2138)
+LexToken(OPENSQBRACKET,'[',1,2139)
+LexToken(NUMBER,'1',1,2140)
+LexToken(NUMBER,'1',1,2142)
+LexToken(CLOSESQBRACKET,']',1,2143)
+LexToken(SEMICOLON,';',1,2144)
+LexToken(EOL,'\n',1,2145)
+LexToken(ELSEIF,'elseif',1,2162)
+LexToken(OPENBRACKET,'(',1,2169)
+LexToken(VAR,'decomptyp',1,2170)
+LexToken(COMPARISON,'==',1,2179)
+LexToken(NUMBER,'2',1,2181)
+LexToken(CLOSEBRACKET,')',1,2182)
+LexToken(THEN,'then',1,2184)
+LexToken(EOL,'\n',1,2188)
+LexToken(VAR,'function_name',1,2209)
+LexToken(ASSIGNMENT,'=',1,2222)
+LexToken(DQSTRING,'"matz_suml"',1,2233)
+LexToken(SEMICOLON,';',1,2234)
+LexToken(EOL,'\n',1,2235)
+LexToken(VAR,'out',1,2256)
+LexToken(ASSIGNMENT,'=',1,2259)
+LexToken(OPENSQBRACKET,'[',1,2260)
+LexToken(NUMBER,'-1',1,2261)
+LexToken(NUMBER,'1',1,2264)
+LexToken(CLOSESQBRACKET,']',1,2265)
+LexToken(SEMICOLON,';',1,2266)
+LexToken(EOL,'\n',1,2267)
+LexToken(ELSEIF,'elseif',1,2284)
+LexToken(OPENBRACKET,'(',1,2291)
+LexToken(VAR,'decomptyp',1,2292)
+LexToken(COMPARISON,'==',1,2301)
+LexToken(NUMBER,'1',1,2303)
+LexToken(CLOSEBRACKET,')',1,2304)
+LexToken(THEN,'then',1,2306)
+LexToken(EOL,'\n',1,2310)
+LexToken(VAR,'function_name',1,2331)
+LexToken(ASSIGNMENT,'=',1,2344)
+LexToken(DQSTRING,'"matz_sumc"',1,2355)
+LexToken(SEMICOLON,';',1,2356)
+LexToken(EOL,'\n',1,2357)
+LexToken(VAR,'out',1,2378)
+LexToken(ASSIGNMENT,'=',1,2381)
+LexToken(OPENSQBRACKET,'[',1,2382)
+LexToken(NUMBER,'1',1,2383)
+LexToken(NUMBER,'-2',1,2385)
+LexToken(CLOSESQBRACKET,']',1,2387)
+LexToken(SEMICOLON,';',1,2388)
+LexToken(EOL,'\n',1,2389)
+LexToken(ELSE,'else',1,2406)
+LexToken(EOL,'\n',1,2410)
+LexToken(VAR,'message',1,2431)
+LexToken(OPENBRACKET,'(',1,2438)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,2475)
+LexToken(CLOSEBRACKET,')',1,2476)
+LexToken(SEMICOLON,';',1,2477)
+LexToken(EOL,'\n',1,2478)
+LexToken(VAR,'ok',1,2499)
+LexToken(ASSIGNMENT,'=',1,2501)
+LexToken(PREVAR_BOOLEAN,'%f',1,2502)
+LexToken(SEMICOLON,';',1,2504)
+LexToken(EOL,'\n',1,2505)
+LexToken(END,'end',1,2522)
+LexToken(EOL,'\n',1,2525)
+LexToken(VAR,'it',1,2542)
+LexToken(ASSIGNMENT,'=',1,2544)
+LexToken(NUMBER,'2',1,2545)
+LexToken(SEMICOLON,';',1,2546)
+LexToken(EOL,'\n',1,2547)
+LexToken(VAR,'ot',1,2564)
+LexToken(ASSIGNMENT,'=',1,2566)
+LexToken(NUMBER,'2',1,2567)
+LexToken(EOL,'\n',1,2568)
+LexToken(ELSE,'else',1,2581)
+LexToken(EOL,'\n',1,2585)
+LexToken(VAR,'message',1,2602)
+LexToken(OPENBRACKET,'(',1,2609)
+LexToken(DQSTRING,'"Datatype is not supported"',1,2636)
+LexToken(CLOSEBRACKET,')',1,2637)
+LexToken(SEMICOLON,';',1,2638)
+LexToken(EOL,'\n',1,2639)
+LexToken(VAR,'ok',1,2656)
+LexToken(ASSIGNMENT,'=',1,2658)
+LexToken(PREVAR_BOOLEAN,'%f',1,2659)
+LexToken(SEMICOLON,';',1,2661)
+LexToken(EOL,'\n',1,2662)
+LexToken(END,'end',1,2675)
+LexToken(EOL,'\n',1,2678)
+LexToken(VAR,'in',1,2691)
+LexToken(ASSIGNMENT,'=',1,2693)
+LexToken(OPENSQBRACKET,'[',1,2694)
+LexToken(VAR,'model',1,2695)
+LexToken(DOT,'.',1,2700)
+LexToken(VAR,'in',1,2701)
+LexToken(VAR,'model',1,2704)
+LexToken(DOT,'.',1,2709)
+LexToken(VAR,'in2',1,2710)
+LexToken(CLOSESQBRACKET,']',1,2713)
+LexToken(SEMICOLON,';',1,2714)
+LexToken(EOL,'\n',1,2715)
+LexToken(VAR,'funtyp',1,2728)
+LexToken(ASSIGNMENT,'=',1,2734)
+LexToken(NUMBER,'4',1,2735)
+LexToken(SEMICOLON,';',1,2736)
+LexToken(EOL,'\n',1,2737)
+LexToken(IF,'if',1,2750)
+LexToken(VAR,'ok',1,2753)
+LexToken(THEN,'then',1,2756)
+LexToken(EOL,'\n',1,2760)
+LexToken(OPENSQBRACKET,'[',1,2777)
+LexToken(VAR,'model',1,2778)
+LexToken(COMMA,',',1,2783)
+LexToken(VAR,'graphics',1,2784)
+LexToken(COMMA,',',1,2792)
+LexToken(VAR,'ok',1,2793)
+LexToken(CLOSESQBRACKET,']',1,2795)
+LexToken(ASSIGNMENT,'=',1,2796)
+LexToken(VAR,'set_io',1,2797)
+LexToken(OPENBRACKET,'(',1,2803)
+LexToken(VAR,'model',1,2804)
+LexToken(COMMA,',',1,2809)
+LexToken(VAR,'graphics',1,2810)
+LexToken(COMMA,',',1,2818)
+LexToken(VAR,'list',1,2819)
+LexToken(OPENBRACKET,'(',1,2823)
+LexToken(VAR,'in',1,2824)
+LexToken(COMMA,',',1,2826)
+LexToken(VAR,'it',1,2827)
+LexToken(CLOSEBRACKET,')',1,2829)
+LexToken(COMMA,',',1,2830)
+LexToken(VAR,'list',1,2831)
+LexToken(OPENBRACKET,'(',1,2835)
+LexToken(VAR,'out',1,2836)
+LexToken(COMMA,',',1,2839)
+LexToken(VAR,'ot',1,2840)
+LexToken(CLOSEBRACKET,')',1,2842)
+LexToken(COMMA,',',1,2843)
+LexToken(OPENSQBRACKET,'[',1,2844)
+LexToken(CLOSESQBRACKET,']',1,2845)
+LexToken(COMMA,',',1,2846)
+LexToken(OPENSQBRACKET,'[',1,2847)
+LexToken(CLOSESQBRACKET,']',1,2848)
+LexToken(CLOSEBRACKET,')',1,2849)
+LexToken(EOL,'\n',1,2850)
+LexToken(END,'end',1,2863)
+LexToken(EOL,'\n',1,2866)
+LexToken(IF,'if',1,2879)
+LexToken(VAR,'ok',1,2882)
+LexToken(THEN,'then',1,2885)
+LexToken(EOL,'\n',1,2889)
+LexToken(VAR,'model',1,2906)
+LexToken(DOT,'.',1,2911)
+LexToken(VAR,'sim',1,2912)
+LexToken(ASSIGNMENT,'=',1,2915)
+LexToken(VAR,'list',1,2916)
+LexToken(OPENBRACKET,'(',1,2920)
+LexToken(VAR,'function_name',1,2921)
+LexToken(COMMA,',',1,2934)
+LexToken(VAR,'funtyp',1,2935)
+LexToken(CLOSEBRACKET,')',1,2941)
+LexToken(SEMICOLON,';',1,2942)
+LexToken(EOL,'\n',1,2943)
+LexToken(VAR,'arg1',1,2960)
+LexToken(DOT,'.',1,2964)
+LexToken(VAR,'model',1,2965)
+LexToken(ASSIGNMENT,'=',1,2970)
+LexToken(VAR,'model',1,2971)
+LexToken(EOL,'\n',1,2976)
+LexToken(VAR,'graphics',1,2993)
+LexToken(DOT,'.',1,3001)
+LexToken(VAR,'exprs',1,3002)
+LexToken(ASSIGNMENT,'=',1,3007)
+LexToken(VAR,'label',1,3008)
+LexToken(EOL,'\n',1,3013)
+LexToken(VAR,'arg1',1,3030)
+LexToken(DOT,'.',1,3034)
+LexToken(VAR,'graphics',1,3035)
+LexToken(ASSIGNMENT,'=',1,3043)
+LexToken(VAR,'graphics',1,3044)
+LexToken(EOL,'\n',1,3052)
+LexToken(VAR,'x',1,3069)
+LexToken(ASSIGNMENT,'=',1,3070)
+LexToken(VAR,'arg1',1,3071)
+LexToken(EOL,'\n',1,3075)
+LexToken(BREAK,'break',1,3092)
+LexToken(EOL,'\n',1,3097)
+LexToken(END,'end',1,3110)
+LexToken(EOL,'\n',1,3113)
+LexToken(END,'end',1,3122)
+LexToken(EOL,'\n',1,3125)
+LexToken(CASE,'case',1,3130)
+LexToken(DQSTRING,'"define"',1,3142)
+LexToken(THEN,'then',1,3144)
+LexToken(EOL,'\n',1,3148)
+LexToken(VAR,'model',1,3157)
+LexToken(ASSIGNMENT,'=',1,3162)
+LexToken(SCICOS_MODEL,'scicos_model',1,3163)
+LexToken(OPENBRACKET,'(',1,3175)
+LexToken(CLOSEBRACKET,')',1,3176)
+LexToken(EOL,'\n',1,3177)
+LexToken(VAR,'function_name',1,3186)
+LexToken(ASSIGNMENT,'=',1,3199)
+LexToken(DQSTRING,'"mat_sum"',1,3208)
+LexToken(SEMICOLON,';',1,3209)
+LexToken(EOL,'\n',1,3210)
+LexToken(VAR,'funtyp',1,3219)
+LexToken(ASSIGNMENT,'=',1,3225)
+LexToken(NUMBER,'4',1,3226)
+LexToken(SEMICOLON,';',1,3227)
+LexToken(EOL,'\n',1,3228)
+LexToken(VAR,'model',1,3237)
+LexToken(DOT,'.',1,3242)
+LexToken(VAR,'sim',1,3243)
+LexToken(ASSIGNMENT,'=',1,3246)
+LexToken(VAR,'list',1,3247)
+LexToken(OPENBRACKET,'(',1,3251)
+LexToken(VAR,'function_name',1,3252)
+LexToken(COMMA,',',1,3265)
+LexToken(VAR,'funtyp',1,3266)
+LexToken(CLOSEBRACKET,')',1,3272)
+LexToken(EOL,'\n',1,3273)
+LexToken(EOL,'\n',1,3274)
+LexToken(VAR,'model',1,3283)
+LexToken(DOT,'.',1,3288)
+LexToken(VAR,'in',1,3289)
+LexToken(ASSIGNMENT,'=',1,3291)
+LexToken(NUMBER,'-1',1,3292)
+LexToken(EOL,'\n',1,3294)
+LexToken(VAR,'model',1,3303)
+LexToken(DOT,'.',1,3308)
+LexToken(VAR,'in2',1,3309)
+LexToken(ASSIGNMENT,'=',1,3312)
+LexToken(NUMBER,'-2',1,3313)
+LexToken(EOL,'\n',1,3315)
+LexToken(VAR,'model',1,3324)
+LexToken(DOT,'.',1,3329)
+LexToken(VAR,'intyp',1,3330)
+LexToken(ASSIGNMENT,'=',1,3335)
+LexToken(NUMBER,'1',1,3336)
+LexToken(EOL,'\n',1,3337)
+LexToken(VAR,'model',1,3346)
+LexToken(DOT,'.',1,3351)
+LexToken(VAR,'out',1,3352)
+LexToken(ASSIGNMENT,'=',1,3355)
+LexToken(NUMBER,'1',1,3356)
+LexToken(EOL,'\n',1,3357)
+LexToken(VAR,'model',1,3366)
+LexToken(DOT,'.',1,3371)
+LexToken(VAR,'out2',1,3372)
+LexToken(ASSIGNMENT,'=',1,3376)
+LexToken(NUMBER,'1',1,3377)
+LexToken(EOL,'\n',1,3378)
+LexToken(VAR,'model',1,3387)
+LexToken(DOT,'.',1,3392)
+LexToken(VAR,'outtyp',1,3393)
+LexToken(ASSIGNMENT,'=',1,3399)
+LexToken(NUMBER,'1',1,3400)
+LexToken(EOL,'\n',1,3401)
+LexToken(VAR,'model',1,3410)
+LexToken(DOT,'.',1,3415)
+LexToken(VAR,'evtin',1,3416)
+LexToken(ASSIGNMENT,'=',1,3421)
+LexToken(OPENSQBRACKET,'[',1,3422)
+LexToken(CLOSESQBRACKET,']',1,3423)
+LexToken(EOL,'\n',1,3424)
+LexToken(VAR,'model',1,3433)
+LexToken(DOT,'.',1,3438)
+LexToken(VAR,'evtout',1,3439)
+LexToken(ASSIGNMENT,'=',1,3445)
+LexToken(OPENSQBRACKET,'[',1,3446)
+LexToken(CLOSESQBRACKET,']',1,3447)
+LexToken(EOL,'\n',1,3448)
+LexToken(VAR,'model',1,3457)
+LexToken(DOT,'.',1,3462)
+LexToken(VAR,'state',1,3463)
+LexToken(ASSIGNMENT,'=',1,3468)
+LexToken(OPENSQBRACKET,'[',1,3469)
+LexToken(CLOSESQBRACKET,']',1,3470)
+LexToken(EOL,'\n',1,3471)
+LexToken(VAR,'model',1,3480)
+LexToken(DOT,'.',1,3485)
+LexToken(VAR,'dstate',1,3486)
+LexToken(ASSIGNMENT,'=',1,3492)
+LexToken(OPENSQBRACKET,'[',1,3493)
+LexToken(CLOSESQBRACKET,']',1,3494)
+LexToken(EOL,'\n',1,3495)
+LexToken(VAR,'model',1,3504)
+LexToken(DOT,'.',1,3509)
+LexToken(VAR,'rpar',1,3510)
+LexToken(ASSIGNMENT,'=',1,3514)
+LexToken(OPENSQBRACKET,'[',1,3515)
+LexToken(CLOSESQBRACKET,']',1,3516)
+LexToken(EOL,'\n',1,3517)
+LexToken(VAR,'model',1,3526)
+LexToken(DOT,'.',1,3531)
+LexToken(VAR,'ipar',1,3532)
+LexToken(ASSIGNMENT,'=',1,3536)
+LexToken(OPENSQBRACKET,'[',1,3537)
+LexToken(CLOSESQBRACKET,']',1,3538)
+LexToken(EOL,'\n',1,3539)
+LexToken(VAR,'model',1,3548)
+LexToken(DOT,'.',1,3553)
+LexToken(VAR,'blocktype',1,3554)
+LexToken(ASSIGNMENT,'=',1,3563)
+LexToken(DQSTRING,'"c"',1,3566)
+LexToken(EOL,'\n',1,3567)
+LexToken(VAR,'model',1,3576)
+LexToken(DOT,'.',1,3581)
+LexToken(VAR,'firing',1,3582)
+LexToken(ASSIGNMENT,'=',1,3588)
+LexToken(OPENSQBRACKET,'[',1,3589)
+LexToken(CLOSESQBRACKET,']',1,3590)
+LexToken(EOL,'\n',1,3591)
+LexToken(VAR,'model',1,3600)
+LexToken(DOT,'.',1,3605)
+LexToken(VAR,'dep_ut',1,3606)
+LexToken(ASSIGNMENT,'=',1,3612)
+LexToken(OPENSQBRACKET,'[',1,3613)
+LexToken(PREVAR_BOOLEAN,'%t',1,3614)
+LexToken(PREVAR_BOOLEAN,'%f',1,3617)
+LexToken(CLOSESQBRACKET,']',1,3619)
+LexToken(EOL,'\n',1,3620)
+LexToken(VAR,'label',1,3629)
+LexToken(ASSIGNMENT,'=',1,3634)
+LexToken(OPENSQBRACKET,'[',1,3635)
+LexToken(VAR,'sci2exp',1,3636)
+LexToken(OPENBRACKET,'(',1,3643)
+LexToken(NUMBER,'1',1,3644)
+LexToken(CLOSEBRACKET,')',1,3645)
+LexToken(SEMICOLON,';',1,3646)
+LexToken(VAR,'sci2exp',1,3647)
+LexToken(OPENBRACKET,'(',1,3654)
+LexToken(NUMBER,'0',1,3655)
+LexToken(CLOSEBRACKET,')',1,3656)
+LexToken(CLOSESQBRACKET,']',1,3657)
+LexToken(SEMICOLON,';',1,3658)
+LexToken(EOL,'\n',1,3659)
+LexToken(VAR,'gr_i',1,3668)
+LexToken(ASSIGNMENT,'=',1,3672)
+LexToken(OPENSQBRACKET,'[',1,3673)
+LexToken(CLOSESQBRACKET,']',1,3674)
+LexToken(EOL,'\n',1,3675)
+LexToken(VAR,'x',1,3684)
+LexToken(ASSIGNMENT,'=',1,3685)
+LexToken(VAR,'standard_define',1,3686)
+LexToken(OPENBRACKET,'(',1,3701)
+LexToken(OPENSQBRACKET,'[',1,3702)
+LexToken(NUMBER,'3',1,3703)
+LexToken(NUMBER,'2',1,3705)
+LexToken(CLOSESQBRACKET,']',1,3706)
+LexToken(COMMA,',',1,3707)
+LexToken(VAR,'model',1,3708)
+LexToken(COMMA,',',1,3713)
+LexToken(VAR,'label',1,3714)
+LexToken(COMMA,',',1,3719)
+LexToken(VAR,'gr_i',1,3720)
+LexToken(CLOSEBRACKET,')',1,3724)
+LexToken(EOL,'\n',1,3725)
+LexToken(END,'end',1,3730)
+LexToken(EOL,'\n',1,3733)
+LexToken(ENDFUNCTION,'endfunction',1,3734)
+LexToken(EOL,'\n',1,3745)
+LexToken(EOL,'\n',1,3746)
diff --git a/js/MatrixOp/MATTRAN.js b/js/MatrixOp/MATTRAN.js
new file mode 100644
index 00000000..973c70ff
--- /dev/null
+++ b/js/MatrixOp/MATTRAN.js
@@ -0,0 +1,445 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATTRAN',1,852)
+LexToken(OPENBRACKET,'(',1,859)
+LexToken(VAR,'job',1,860)
+LexToken(COMMA,',',1,863)
+LexToken(VAR,'arg1',1,864)
+LexToken(COMMA,',',1,868)
+LexToken(VAR,'arg2',1,869)
+LexToken(CLOSEBRACKET,')',1,873)
+LexToken(EOL,'\n',1,874)
+LexToken(EOL,'\n',1,881)
+LexToken(VAR,'x',1,886)
+LexToken(ASSIGNMENT,'=',1,887)
+LexToken(OPENSQBRACKET,'[',1,888)
+LexToken(CLOSESQBRACKET,']',1,889)
+LexToken(SEMICOLON,';',1,890)
+LexToken(EOL,'\n',1,891)
+LexToken(VAR,'y',1,896)
+LexToken(ASSIGNMENT,'=',1,897)
+LexToken(OPENSQBRACKET,'[',1,898)
+LexToken(CLOSESQBRACKET,']',1,899)
+LexToken(SEMICOLON,';',1,900)
+LexToken(EOL,'\n',1,901)
+LexToken(VAR,'typ',1,906)
+LexToken(ASSIGNMENT,'=',1,909)
+LexToken(OPENSQBRACKET,'[',1,910)
+LexToken(CLOSESQBRACKET,']',1,911)
+LexToken(SEMICOLON,';',1,912)
+LexToken(EOL,'\n',1,913)
+LexToken(SELECT,'select',1,918)
+LexToken(VAR,'job',1,925)
+LexToken(EOL,'\n',1,928)
+LexToken(CASE,'case',1,933)
+LexToken(DQSTRING,'"set"',1,942)
+LexToken(THEN,'then',1,944)
+LexToken(EOL,'\n',1,948)
+LexToken(VAR,'x',1,957)
+LexToken(ASSIGNMENT,'=',1,958)
+LexToken(VAR,'arg1',1,959)
+LexToken(EOL,'\n',1,963)
+LexToken(VAR,'graphics',1,972)
+LexToken(ASSIGNMENT,'=',1,980)
+LexToken(VAR,'arg1',1,981)
+LexToken(DOT,'.',1,985)
+LexToken(VAR,'graphics',1,986)
+LexToken(SEMICOLON,';',1,994)
+LexToken(EOL,'\n',1,995)
+LexToken(VAR,'label',1,1004)
+LexToken(ASSIGNMENT,'=',1,1009)
+LexToken(VAR,'graphics',1,1010)
+LexToken(DOT,'.',1,1018)
+LexToken(VAR,'exprs',1,1019)
+LexToken(EOL,'\n',1,1024)
+LexToken(VAR,'model',1,1033)
+LexToken(ASSIGNMENT,'=',1,1038)
+LexToken(VAR,'arg1',1,1039)
+LexToken(DOT,'.',1,1043)
+LexToken(VAR,'model',1,1044)
+LexToken(SEMICOLON,';',1,1049)
+LexToken(EOL,'\n',1,1050)
+LexToken(EOL,'\n',1,1120)
+LexToken(IF,'if',1,1129)
+LexToken(VAR,'size',1,1132)
+LexToken(OPENBRACKET,'(',1,1136)
+LexToken(VAR,'label',1,1137)
+LexToken(COMMA,',',1,1142)
+LexToken(DQSTRING,'"*"',1,1145)
+LexToken(CLOSEBRACKET,')',1,1146)
+LexToken(COMPARISON,'==',1,1147)
+LexToken(NUMBER,'1',1,1149)
+LexToken(THEN,'then',1,1151)
+LexToken(EOL,'\n',1,1155)
+LexToken(VAR,'label',1,1168)
+LexToken(OPENBRACKET,'(',1,1173)
+LexToken(NUMBER,'2',1,1174)
+LexToken(CLOSEBRACKET,')',1,1175)
+LexToken(ASSIGNMENT,'=',1,1176)
+LexToken(VAR,'sci2exp',1,1177)
+LexToken(OPENBRACKET,'(',1,1184)
+LexToken(NUMBER,'1',1,1185)
+LexToken(CLOSEBRACKET,')',1,1186)
+LexToken(COMMA,',',1,1187)
+LexToken(EOL,'\n',1,1188)
+LexToken(END,'end',1,1197)
+LexToken(EOL,'\n',1,1200)
+LexToken(WHILE,'while',1,1209)
+LexToken(PREVAR_BOOLEAN,'%t',1,1215)
+LexToken(DO,'do',1,1218)
+LexToken(EOL,'\n',1,1220)
+LexToken(OPENSQBRACKET,'[',1,1233)
+LexToken(VAR,'ok',1,1234)
+LexToken(COMMA,',',1,1236)
+LexToken(VAR,'typ',1,1237)
+LexToken(COMMA,',',1,1240)
+LexToken(VAR,'rule',1,1241)
+LexToken(COMMA,',',1,1245)
+LexToken(VAR,'exprs',1,1246)
+LexToken(CLOSESQBRACKET,']',1,1251)
+LexToken(ASSIGNMENT,'=',1,1252)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1253)
+LexToken(OPENBRACKET,'(',1,1268)
+LexToken(DQSTRING,'"Set MATTRAN Block"',1,1287)
+LexToken(COMMA,',',1,1288)
+LexToken(OPENSQBRACKET,'[',1,1304)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1339)
+LexToken(SEMICOLON,';',1,1340)
+LexToken(DQSTRING,'"rule (1=.\\\' 2=\\\')"',1,1359)
+LexToken(CLOSESQBRACKET,']',1,1360)
+LexToken(COMMA,',',1,1361)
+LexToken(VAR,'list',1,1362)
+LexToken(OPENBRACKET,'(',1,1366)
+LexToken(DQSTRING,'"vec"',1,1371)
+LexToken(COMMA,',',1,1372)
+LexToken(NUMBER,'1',1,1373)
+LexToken(COMMA,',',1,1374)
+LexToken(DQSTRING,'"vec"',1,1379)
+LexToken(COMMA,',',1,1380)
+LexToken(NUMBER,'1',1,1381)
+LexToken(CLOSEBRACKET,')',1,1382)
+LexToken(COMMA,',',1,1383)
+LexToken(VAR,'label',1,1384)
+LexToken(CLOSEBRACKET,')',1,1389)
+LexToken(EOL,'\n',1,1390)
+LexToken(IF,'if',1,1403)
+LexToken(NOT,'~',1,1406)
+LexToken(VAR,'ok',1,1407)
+LexToken(THEN,'then',1,1410)
+LexToken(EOL,'\n',1,1414)
+LexToken(BREAK,'break',1,1431)
+LexToken(COMMA,',',1,1436)
+LexToken(EOL,'\n',1,1437)
+LexToken(END,'end',1,1450)
+LexToken(EOL,'\n',1,1453)
+LexToken(IF,'if',1,1466)
+LexToken(OPENBRACKET,'(',1,1469)
+LexToken(VAR,'typ',1,1470)
+LexToken(COMPARISON,'==',1,1473)
+LexToken(NUMBER,'1',1,1475)
+LexToken(CLOSEBRACKET,')',1,1476)
+LexToken(THEN,'then',1,1478)
+LexToken(EOL,'\n',1,1482)
+LexToken(VAR,'function_name',1,1499)
+LexToken(ASSIGNMENT,'=',1,1512)
+LexToken(DQSTRING,'"mattran_m"',1,1523)
+LexToken(SEMICOLON,';',1,1524)
+LexToken(EOL,'\n',1,1525)
+LexToken(VAR,'ot',1,1542)
+LexToken(ASSIGNMENT,'=',1,1544)
+LexToken(NUMBER,'1',1,1545)
+LexToken(SEMICOLON,';',1,1546)
+LexToken(EOL,'\n',1,1547)
+LexToken(VAR,'it',1,1564)
+LexToken(ASSIGNMENT,'=',1,1566)
+LexToken(NUMBER,'1',1,1567)
+LexToken(SEMICOLON,';',1,1568)
+LexToken(EOL,'\n',1,1569)
+LexToken(ELSEIF,'elseif',1,1582)
+LexToken(OPENBRACKET,'(',1,1589)
+LexToken(VAR,'typ',1,1590)
+LexToken(COMPARISON,'==',1,1593)
+LexToken(NUMBER,'2',1,1595)
+LexToken(CLOSEBRACKET,')',1,1596)
+LexToken(THEN,'then',1,1598)
+LexToken(EOL,'\n',1,1602)
+LexToken(IF,'if',1,1619)
+LexToken(VAR,'rule',1,1622)
+LexToken(COMPARISON,'==',1,1626)
+LexToken(NUMBER,'1',1,1628)
+LexToken(THEN,'then',1,1630)
+LexToken(EOL,'\n',1,1634)
+LexToken(VAR,'function_name',1,1655)
+LexToken(ASSIGNMENT,'=',1,1668)
+LexToken(DQSTRING,'"matztran_m"',1,1680)
+LexToken(SEMICOLON,';',1,1681)
+LexToken(EOL,'\n',1,1682)
+LexToken(ELSE,'else',1,1699)
+LexToken(EOL,'\n',1,1703)
+LexToken(VAR,'function_name',1,1724)
+LexToken(ASSIGNMENT,'=',1,1737)
+LexToken(DQSTRING,'"mathermit_m"',1,1750)
+LexToken(SEMICOLON,';',1,1751)
+LexToken(EOL,'\n',1,1752)
+LexToken(END,'end',1,1769)
+LexToken(EOL,'\n',1,1772)
+LexToken(VAR,'ot',1,1789)
+LexToken(ASSIGNMENT,'=',1,1791)
+LexToken(NUMBER,'2',1,1792)
+LexToken(SEMICOLON,';',1,1793)
+LexToken(EOL,'\n',1,1794)
+LexToken(VAR,'it',1,1811)
+LexToken(ASSIGNMENT,'=',1,1813)
+LexToken(NUMBER,'2',1,1814)
+LexToken(SEMICOLON,';',1,1815)
+LexToken(EOL,'\n',1,1816)
+LexToken(ELSE,'else',1,1829)
+LexToken(EOL,'\n',1,1833)
+LexToken(VAR,'message',1,1850)
+LexToken(OPENBRACKET,'(',1,1857)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1884)
+LexToken(CLOSEBRACKET,')',1,1885)
+LexToken(SEMICOLON,';',1,1886)
+LexToken(EOL,'\n',1,1887)
+LexToken(VAR,'ok',1,1904)
+LexToken(ASSIGNMENT,'=',1,1906)
+LexToken(PREVAR_BOOLEAN,'%f',1,1907)
+LexToken(SEMICOLON,';',1,1909)
+LexToken(EOL,'\n',1,1910)
+LexToken(END,'end',1,1923)
+LexToken(EOL,'\n',1,1926)
+LexToken(VAR,'in',1,1939)
+LexToken(ASSIGNMENT,'=',1,1941)
+LexToken(OPENSQBRACKET,'[',1,1942)
+LexToken(VAR,'model',1,1943)
+LexToken(DOT,'.',1,1948)
+LexToken(VAR,'in',1,1949)
+LexToken(VAR,'model',1,1952)
+LexToken(DOT,'.',1,1957)
+LexToken(VAR,'in2',1,1958)
+LexToken(CLOSESQBRACKET,']',1,1961)
+LexToken(SEMICOLON,';',1,1962)
+LexToken(EOL,'\n',1,1963)
+LexToken(VAR,'out',1,1976)
+LexToken(ASSIGNMENT,'=',1,1979)
+LexToken(OPENSQBRACKET,'[',1,1980)
+LexToken(VAR,'model',1,1981)
+LexToken(DOT,'.',1,1986)
+LexToken(VAR,'out',1,1987)
+LexToken(VAR,'model',1,1991)
+LexToken(DOT,'.',1,1996)
+LexToken(VAR,'out2',1,1997)
+LexToken(CLOSESQBRACKET,']',1,2001)
+LexToken(SEMICOLON,';',1,2002)
+LexToken(EOL,'\n',1,2003)
+LexToken(VAR,'funtyp',1,2016)
+LexToken(ASSIGNMENT,'=',1,2022)
+LexToken(NUMBER,'4',1,2023)
+LexToken(SEMICOLON,';',1,2024)
+LexToken(EOL,'\n',1,2025)
+LexToken(IF,'if',1,2038)
+LexToken(VAR,'ok',1,2041)
+LexToken(THEN,'then',1,2044)
+LexToken(EOL,'\n',1,2048)
+LexToken(VAR,'label',1,2065)
+LexToken(ASSIGNMENT,'=',1,2070)
+LexToken(VAR,'exprs',1,2071)
+LexToken(SEMICOLON,';',1,2076)
+LexToken(EOL,'\n',1,2077)
+LexToken(OPENSQBRACKET,'[',1,2094)
+LexToken(VAR,'model',1,2095)
+LexToken(COMMA,',',1,2100)
+LexToken(VAR,'graphics',1,2101)
+LexToken(COMMA,',',1,2109)
+LexToken(VAR,'ok',1,2110)
+LexToken(CLOSESQBRACKET,']',1,2112)
+LexToken(ASSIGNMENT,'=',1,2113)
+LexToken(VAR,'set_io',1,2114)
+LexToken(OPENBRACKET,'(',1,2120)
+LexToken(VAR,'model',1,2121)
+LexToken(COMMA,',',1,2126)
+LexToken(VAR,'graphics',1,2127)
+LexToken(COMMA,',',1,2135)
+LexToken(VAR,'list',1,2136)
+LexToken(OPENBRACKET,'(',1,2140)
+LexToken(VAR,'in',1,2141)
+LexToken(COMMA,',',1,2143)
+LexToken(VAR,'it',1,2144)
+LexToken(CLOSEBRACKET,')',1,2146)
+LexToken(COMMA,',',1,2147)
+LexToken(VAR,'list',1,2148)
+LexToken(OPENBRACKET,'(',1,2152)
+LexToken(VAR,'out',1,2153)
+LexToken(COMMA,',',1,2156)
+LexToken(VAR,'ot',1,2157)
+LexToken(CLOSEBRACKET,')',1,2159)
+LexToken(COMMA,',',1,2160)
+LexToken(OPENSQBRACKET,'[',1,2161)
+LexToken(CLOSESQBRACKET,']',1,2162)
+LexToken(COMMA,',',1,2163)
+LexToken(OPENSQBRACKET,'[',1,2164)
+LexToken(CLOSESQBRACKET,']',1,2165)
+LexToken(CLOSEBRACKET,')',1,2166)
+LexToken(EOL,'\n',1,2167)
+LexToken(VAR,'model',1,2184)
+LexToken(DOT,'.',1,2189)
+LexToken(VAR,'sim',1,2190)
+LexToken(ASSIGNMENT,'=',1,2193)
+LexToken(VAR,'list',1,2194)
+LexToken(OPENBRACKET,'(',1,2198)
+LexToken(VAR,'function_name',1,2199)
+LexToken(COMMA,',',1,2212)
+LexToken(VAR,'funtyp',1,2213)
+LexToken(CLOSEBRACKET,')',1,2219)
+LexToken(SEMICOLON,';',1,2220)
+LexToken(EOL,'\n',1,2221)
+LexToken(VAR,'graphics',1,2238)
+LexToken(DOT,'.',1,2246)
+LexToken(VAR,'exprs',1,2247)
+LexToken(ASSIGNMENT,'=',1,2252)
+LexToken(VAR,'label',1,2253)
+LexToken(SEMICOLON,';',1,2258)
+LexToken(EOL,'\n',1,2259)
+LexToken(VAR,'arg1',1,2276)
+LexToken(DOT,'.',1,2280)
+LexToken(VAR,'graphics',1,2281)
+LexToken(ASSIGNMENT,'=',1,2289)
+LexToken(VAR,'graphics',1,2290)
+LexToken(SEMICOLON,';',1,2298)
+LexToken(EOL,'\n',1,2299)
+LexToken(VAR,'arg1',1,2316)
+LexToken(DOT,'.',1,2320)
+LexToken(VAR,'model',1,2321)
+LexToken(ASSIGNMENT,'=',1,2326)
+LexToken(VAR,'model',1,2327)
+LexToken(SEMICOLON,';',1,2332)
+LexToken(EOL,'\n',1,2333)
+LexToken(VAR,'x',1,2350)
+LexToken(ASSIGNMENT,'=',1,2351)
+LexToken(VAR,'arg1',1,2352)
+LexToken(EOL,'\n',1,2356)
+LexToken(BREAK,'break',1,2373)
+LexToken(EOL,'\n',1,2378)
+LexToken(END,'end',1,2391)
+LexToken(EOL,'\n',1,2394)
+LexToken(END,'end',1,2403)
+LexToken(EOL,'\n',1,2406)
+LexToken(CASE,'case',1,2411)
+LexToken(DQSTRING,'"define"',1,2423)
+LexToken(THEN,'then',1,2425)
+LexToken(EOL,'\n',1,2429)
+LexToken(VAR,'model',1,2438)
+LexToken(ASSIGNMENT,'=',1,2443)
+LexToken(SCICOS_MODEL,'scicos_model',1,2444)
+LexToken(OPENBRACKET,'(',1,2456)
+LexToken(CLOSEBRACKET,')',1,2457)
+LexToken(EOL,'\n',1,2458)
+LexToken(VAR,'model',1,2467)
+LexToken(DOT,'.',1,2472)
+LexToken(VAR,'sim',1,2473)
+LexToken(ASSIGNMENT,'=',1,2476)
+LexToken(VAR,'list',1,2477)
+LexToken(OPENBRACKET,'(',1,2481)
+LexToken(DQSTRING,'"mattran_m"',1,2492)
+LexToken(COMMA,',',1,2493)
+LexToken(NUMBER,'4',1,2494)
+LexToken(CLOSEBRACKET,')',1,2495)
+LexToken(EOL,'\n',1,2496)
+LexToken(EOL,'\n',1,2497)
+LexToken(VAR,'model',1,2506)
+LexToken(DOT,'.',1,2511)
+LexToken(VAR,'in',1,2512)
+LexToken(ASSIGNMENT,'=',1,2514)
+LexToken(NUMBER,'-1',1,2515)
+LexToken(EOL,'\n',1,2517)
+LexToken(VAR,'model',1,2526)
+LexToken(DOT,'.',1,2531)
+LexToken(VAR,'in2',1,2532)
+LexToken(ASSIGNMENT,'=',1,2535)
+LexToken(NUMBER,'-2',1,2536)
+LexToken(EOL,'\n',1,2538)
+LexToken(VAR,'model',1,2547)
+LexToken(DOT,'.',1,2552)
+LexToken(VAR,'out',1,2553)
+LexToken(ASSIGNMENT,'=',1,2556)
+LexToken(NUMBER,'-2',1,2557)
+LexToken(EOL,'\n',1,2559)
+LexToken(VAR,'model',1,2568)
+LexToken(DOT,'.',1,2573)
+LexToken(VAR,'out2',1,2574)
+LexToken(ASSIGNMENT,'=',1,2578)
+LexToken(NUMBER,'-1',1,2579)
+LexToken(EOL,'\n',1,2581)
+LexToken(VAR,'model',1,2590)
+LexToken(DOT,'.',1,2595)
+LexToken(VAR,'dep_ut',1,2596)
+LexToken(ASSIGNMENT,'=',1,2602)
+LexToken(OPENSQBRACKET,'[',1,2603)
+LexToken(PREVAR_BOOLEAN,'%t',1,2604)
+LexToken(PREVAR_BOOLEAN,'%f',1,2607)
+LexToken(CLOSESQBRACKET,']',1,2609)
+LexToken(EOL,'\n',1,2610)
+LexToken(EOL,'\n',1,2611)
+LexToken(VAR,'label',1,2620)
+LexToken(ASSIGNMENT,'=',1,2625)
+LexToken(OPENSQBRACKET,'[',1,2626)
+LexToken(VAR,'sci2exp',1,2627)
+LexToken(OPENBRACKET,'(',1,2634)
+LexToken(NUMBER,'1',1,2635)
+LexToken(CLOSEBRACKET,')',1,2636)
+LexToken(CLOSESQBRACKET,']',1,2637)
+LexToken(EOL,'\n',1,2638)
+LexToken(VAR,'gr_i',1,2647)
+LexToken(ASSIGNMENT,'=',1,2651)
+LexToken(OPENSQBRACKET,'[',1,2652)
+LexToken(CLOSESQBRACKET,']',1,2653)
+LexToken(EOL,'\n',1,2654)
+LexToken(VAR,'x',1,2663)
+LexToken(ASSIGNMENT,'=',1,2664)
+LexToken(VAR,'standard_define',1,2665)
+LexToken(OPENBRACKET,'(',1,2680)
+LexToken(OPENSQBRACKET,'[',1,2681)
+LexToken(NUMBER,'3',1,2682)
+LexToken(NUMBER,'2',1,2684)
+LexToken(CLOSESQBRACKET,']',1,2685)
+LexToken(COMMA,',',1,2686)
+LexToken(VAR,'model',1,2687)
+LexToken(COMMA,',',1,2692)
+LexToken(VAR,'label',1,2693)
+LexToken(COMMA,',',1,2698)
+LexToken(VAR,'gr_i',1,2699)
+LexToken(CLOSEBRACKET,')',1,2703)
+LexToken(EOL,'\n',1,2704)
+LexToken(END,'end',1,2709)
+LexToken(EOL,'\n',1,2712)
+LexToken(ENDFUNCTION,'endfunction',1,2713)
+LexToken(EOL,'\n',1,2724)
+LexToken(EOL,'\n',1,2725)
diff --git a/js/MatrixOp/MATZCONJ.js b/js/MatrixOp/MATZCONJ.js
new file mode 100644
index 00000000..52fd879a
--- /dev/null
+++ b/js/MatrixOp/MATZCONJ.js
@@ -0,0 +1,232 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATZCONJ',1,852)
+LexToken(OPENBRACKET,'(',1,860)
+LexToken(VAR,'job',1,861)
+LexToken(COMMA,',',1,864)
+LexToken(VAR,'arg1',1,865)
+LexToken(COMMA,',',1,869)
+LexToken(VAR,'arg2',1,870)
+LexToken(CLOSEBRACKET,')',1,874)
+LexToken(EOL,'\n',1,875)
+LexToken(EOL,'\n',1,882)
+LexToken(VAR,'x',1,887)
+LexToken(ASSIGNMENT,'=',1,888)
+LexToken(OPENSQBRACKET,'[',1,889)
+LexToken(CLOSESQBRACKET,']',1,890)
+LexToken(SEMICOLON,';',1,891)
+LexToken(EOL,'\n',1,892)
+LexToken(VAR,'y',1,897)
+LexToken(ASSIGNMENT,'=',1,898)
+LexToken(OPENSQBRACKET,'[',1,899)
+LexToken(CLOSESQBRACKET,']',1,900)
+LexToken(SEMICOLON,';',1,901)
+LexToken(EOL,'\n',1,902)
+LexToken(VAR,'typ',1,907)
+LexToken(ASSIGNMENT,'=',1,910)
+LexToken(OPENSQBRACKET,'[',1,911)
+LexToken(CLOSESQBRACKET,']',1,912)
+LexToken(SEMICOLON,';',1,913)
+LexToken(EOL,'\n',1,914)
+LexToken(SELECT,'select',1,919)
+LexToken(VAR,'job',1,926)
+LexToken(EOL,'\n',1,929)
+LexToken(CASE,'case',1,934)
+LexToken(DQSTRING,'"set"',1,943)
+LexToken(THEN,'then',1,945)
+LexToken(EOL,'\n',1,949)
+LexToken(VAR,'x',1,958)
+LexToken(ASSIGNMENT,'=',1,959)
+LexToken(VAR,'arg1',1,960)
+LexToken(EOL,'\n',1,964)
+LexToken(CASE,'case',1,969)
+LexToken(DQSTRING,'"define"',1,981)
+LexToken(THEN,'then',1,983)
+LexToken(EOL,'\n',1,987)
+LexToken(VAR,'model',1,996)
+LexToken(ASSIGNMENT,'=',1,1001)
+LexToken(SCICOS_MODEL,'scicos_model',1,1002)
+LexToken(OPENBRACKET,'(',1,1014)
+LexToken(CLOSEBRACKET,')',1,1015)
+LexToken(EOL,'\n',1,1016)
+LexToken(VAR,'function_name',1,1025)
+LexToken(ASSIGNMENT,'=',1,1038)
+LexToken(DQSTRING,'"matz_conj"',1,1049)
+LexToken(SEMICOLON,';',1,1050)
+LexToken(EOL,'\n',1,1051)
+LexToken(VAR,'funtyp',1,1060)
+LexToken(ASSIGNMENT,'=',1,1066)
+LexToken(NUMBER,'4',1,1067)
+LexToken(SEMICOLON,';',1,1068)
+LexToken(EOL,'\n',1,1069)
+LexToken(VAR,'model',1,1078)
+LexToken(DOT,'.',1,1083)
+LexToken(VAR,'sim',1,1084)
+LexToken(ASSIGNMENT,'=',1,1087)
+LexToken(VAR,'list',1,1088)
+LexToken(OPENBRACKET,'(',1,1092)
+LexToken(VAR,'function_name',1,1093)
+LexToken(COMMA,',',1,1106)
+LexToken(VAR,'funtyp',1,1107)
+LexToken(CLOSEBRACKET,')',1,1113)
+LexToken(EOL,'\n',1,1114)
+LexToken(VAR,'model',1,1123)
+LexToken(DOT,'.',1,1128)
+LexToken(VAR,'in',1,1129)
+LexToken(ASSIGNMENT,'=',1,1131)
+LexToken(NUMBER,'-1',1,1132)
+LexToken(EOL,'\n',1,1134)
+LexToken(VAR,'model',1,1143)
+LexToken(DOT,'.',1,1148)
+LexToken(VAR,'in2',1,1149)
+LexToken(ASSIGNMENT,'=',1,1152)
+LexToken(NUMBER,'-2',1,1153)
+LexToken(EOL,'\n',1,1155)
+LexToken(VAR,'model',1,1164)
+LexToken(DOT,'.',1,1169)
+LexToken(VAR,'intyp',1,1170)
+LexToken(ASSIGNMENT,'=',1,1175)
+LexToken(NUMBER,'2',1,1176)
+LexToken(EOL,'\n',1,1177)
+LexToken(VAR,'model',1,1186)
+LexToken(DOT,'.',1,1191)
+LexToken(VAR,'out',1,1192)
+LexToken(ASSIGNMENT,'=',1,1195)
+LexToken(NUMBER,'-1',1,1196)
+LexToken(EOL,'\n',1,1198)
+LexToken(VAR,'model',1,1207)
+LexToken(DOT,'.',1,1212)
+LexToken(VAR,'out2',1,1213)
+LexToken(ASSIGNMENT,'=',1,1217)
+LexToken(NUMBER,'-2',1,1218)
+LexToken(EOL,'\n',1,1220)
+LexToken(VAR,'model',1,1229)
+LexToken(DOT,'.',1,1234)
+LexToken(VAR,'outtyp',1,1235)
+LexToken(ASSIGNMENT,'=',1,1241)
+LexToken(NUMBER,'2',1,1242)
+LexToken(EOL,'\n',1,1243)
+LexToken(VAR,'model',1,1252)
+LexToken(DOT,'.',1,1257)
+LexToken(VAR,'evtin',1,1258)
+LexToken(ASSIGNMENT,'=',1,1263)
+LexToken(OPENSQBRACKET,'[',1,1264)
+LexToken(CLOSESQBRACKET,']',1,1265)
+LexToken(EOL,'\n',1,1266)
+LexToken(VAR,'model',1,1275)
+LexToken(DOT,'.',1,1280)
+LexToken(VAR,'evtout',1,1281)
+LexToken(ASSIGNMENT,'=',1,1287)
+LexToken(OPENSQBRACKET,'[',1,1288)
+LexToken(CLOSESQBRACKET,']',1,1289)
+LexToken(EOL,'\n',1,1290)
+LexToken(VAR,'model',1,1299)
+LexToken(DOT,'.',1,1304)
+LexToken(VAR,'state',1,1305)
+LexToken(ASSIGNMENT,'=',1,1310)
+LexToken(OPENSQBRACKET,'[',1,1311)
+LexToken(CLOSESQBRACKET,']',1,1312)
+LexToken(EOL,'\n',1,1313)
+LexToken(VAR,'model',1,1322)
+LexToken(DOT,'.',1,1327)
+LexToken(VAR,'dstate',1,1328)
+LexToken(ASSIGNMENT,'=',1,1334)
+LexToken(OPENSQBRACKET,'[',1,1335)
+LexToken(CLOSESQBRACKET,']',1,1336)
+LexToken(EOL,'\n',1,1337)
+LexToken(VAR,'model',1,1346)
+LexToken(DOT,'.',1,1351)
+LexToken(VAR,'rpar',1,1352)
+LexToken(ASSIGNMENT,'=',1,1356)
+LexToken(OPENSQBRACKET,'[',1,1357)
+LexToken(CLOSESQBRACKET,']',1,1358)
+LexToken(EOL,'\n',1,1359)
+LexToken(VAR,'model',1,1368)
+LexToken(DOT,'.',1,1373)
+LexToken(VAR,'ipar',1,1374)
+LexToken(ASSIGNMENT,'=',1,1378)
+LexToken(OPENSQBRACKET,'[',1,1379)
+LexToken(CLOSESQBRACKET,']',1,1380)
+LexToken(EOL,'\n',1,1381)
+LexToken(VAR,'model',1,1390)
+LexToken(DOT,'.',1,1395)
+LexToken(VAR,'blocktype',1,1396)
+LexToken(ASSIGNMENT,'=',1,1405)
+LexToken(DQSTRING,'"c"',1,1408)
+LexToken(EOL,'\n',1,1409)
+LexToken(VAR,'model',1,1418)
+LexToken(DOT,'.',1,1423)
+LexToken(VAR,'firing',1,1424)
+LexToken(ASSIGNMENT,'=',1,1430)
+LexToken(OPENSQBRACKET,'[',1,1431)
+LexToken(CLOSESQBRACKET,']',1,1432)
+LexToken(EOL,'\n',1,1433)
+LexToken(VAR,'model',1,1442)
+LexToken(DOT,'.',1,1447)
+LexToken(VAR,'dep_ut',1,1448)
+LexToken(ASSIGNMENT,'=',1,1454)
+LexToken(OPENSQBRACKET,'[',1,1455)
+LexToken(PREVAR_BOOLEAN,'%t',1,1456)
+LexToken(PREVAR_BOOLEAN,'%f',1,1459)
+LexToken(CLOSESQBRACKET,']',1,1461)
+LexToken(EOL,'\n',1,1462)
+LexToken(VAR,'label',1,1471)
+LexToken(ASSIGNMENT,'=',1,1476)
+LexToken(OPENSQBRACKET,'[',1,1477)
+LexToken(CLOSESQBRACKET,']',1,1478)
+LexToken(SEMICOLON,';',1,1479)
+LexToken(EOL,'\n',1,1480)
+LexToken(VAR,'gr_i',1,1489)
+LexToken(ASSIGNMENT,'=',1,1493)
+LexToken(OPENSQBRACKET,'[',1,1494)
+LexToken(CLOSESQBRACKET,']',1,1495)
+LexToken(EOL,'\n',1,1496)
+LexToken(VAR,'x',1,1505)
+LexToken(ASSIGNMENT,'=',1,1506)
+LexToken(VAR,'standard_define',1,1507)
+LexToken(OPENBRACKET,'(',1,1522)
+LexToken(OPENSQBRACKET,'[',1,1523)
+LexToken(NUMBER,'2',1,1524)
+LexToken(NUMBER,'2',1,1526)
+LexToken(CLOSESQBRACKET,']',1,1527)
+LexToken(COMMA,',',1,1528)
+LexToken(VAR,'model',1,1529)
+LexToken(COMMA,',',1,1534)
+LexToken(VAR,'label',1,1535)
+LexToken(COMMA,',',1,1540)
+LexToken(VAR,'gr_i',1,1541)
+LexToken(CLOSEBRACKET,')',1,1545)
+LexToken(EOL,'\n',1,1546)
+LexToken(END,'end',1,1551)
+LexToken(EOL,'\n',1,1554)
+LexToken(ENDFUNCTION,'endfunction',1,1555)
+LexToken(EOL,'\n',1,1566)
+LexToken(EOL,'\n',1,1567)
diff --git a/js/MatrixOp/MATZREIM.js b/js/MatrixOp/MATZREIM.js
new file mode 100644
index 00000000..afa23d0e
--- /dev/null
+++ b/js/MatrixOp/MATZREIM.js
@@ -0,0 +1,526 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'MATZREIM',1,852)
+LexToken(OPENBRACKET,'(',1,860)
+LexToken(VAR,'job',1,861)
+LexToken(COMMA,',',1,864)
+LexToken(VAR,'arg1',1,865)
+LexToken(COMMA,',',1,869)
+LexToken(VAR,'arg2',1,870)
+LexToken(CLOSEBRACKET,')',1,874)
+LexToken(EOL,'\n',1,875)
+LexToken(EOL,'\n',1,882)
+LexToken(VAR,'x',1,887)
+LexToken(ASSIGNMENT,'=',1,888)
+LexToken(OPENSQBRACKET,'[',1,889)
+LexToken(CLOSESQBRACKET,']',1,890)
+LexToken(SEMICOLON,';',1,891)
+LexToken(EOL,'\n',1,892)
+LexToken(VAR,'y',1,897)
+LexToken(ASSIGNMENT,'=',1,898)
+LexToken(OPENSQBRACKET,'[',1,899)
+LexToken(CLOSESQBRACKET,']',1,900)
+LexToken(SEMICOLON,';',1,901)
+LexToken(EOL,'\n',1,902)
+LexToken(VAR,'typ',1,907)
+LexToken(ASSIGNMENT,'=',1,910)
+LexToken(OPENSQBRACKET,'[',1,911)
+LexToken(CLOSESQBRACKET,']',1,912)
+LexToken(SEMICOLON,';',1,913)
+LexToken(EOL,'\n',1,914)
+LexToken(SELECT,'select',1,919)
+LexToken(VAR,'job',1,926)
+LexToken(EOL,'\n',1,929)
+LexToken(CASE,'case',1,934)
+LexToken(DQSTRING,'"set"',1,943)
+LexToken(THEN,'then',1,945)
+LexToken(EOL,'\n',1,949)
+LexToken(VAR,'x',1,958)
+LexToken(ASSIGNMENT,'=',1,959)
+LexToken(VAR,'arg1',1,960)
+LexToken(EOL,'\n',1,964)
+LexToken(VAR,'model',1,973)
+LexToken(ASSIGNMENT,'=',1,978)
+LexToken(VAR,'arg1',1,979)
+LexToken(DOT,'.',1,983)
+LexToken(VAR,'model',1,984)
+LexToken(SEMICOLON,';',1,989)
+LexToken(EOL,'\n',1,990)
+LexToken(VAR,'graphics',1,999)
+LexToken(ASSIGNMENT,'=',1,1007)
+LexToken(VAR,'arg1',1,1008)
+LexToken(DOT,'.',1,1012)
+LexToken(VAR,'graphics',1,1013)
+LexToken(SEMICOLON,';',1,1021)
+LexToken(EOL,'\n',1,1022)
+LexToken(VAR,'label',1,1031)
+LexToken(ASSIGNMENT,'=',1,1036)
+LexToken(VAR,'graphics',1,1037)
+LexToken(DOT,'.',1,1045)
+LexToken(VAR,'exprs',1,1046)
+LexToken(EOL,'\n',1,1051)
+LexToken(IF,'if',1,1060)
+LexToken(VAR,'size',1,1063)
+LexToken(OPENBRACKET,'(',1,1067)
+LexToken(VAR,'label',1,1068)
+LexToken(COMMA,',',1,1073)
+LexToken(DQSTRING,'"*"',1,1076)
+LexToken(CLOSEBRACKET,')',1,1077)
+LexToken(COMPARISON,'==',1,1078)
+LexToken(NUMBER,'14',1,1080)
+LexToken(THEN,'then',1,1083)
+LexToken(EOL,'\n',1,1087)
+LexToken(VAR,'label',1,1100)
+LexToken(OPENBRACKET,'(',1,1105)
+LexToken(NUMBER,'9',1,1106)
+LexToken(CLOSEBRACKET,')',1,1107)
+LexToken(ASSIGNMENT,'=',1,1108)
+LexToken(OPENSQBRACKET,'[',1,1109)
+LexToken(CLOSESQBRACKET,']',1,1110)
+LexToken(COMMA,',',1,1111)
+LexToken(EOL,'\n',1,1112)
+LexToken(END,'end',1,1121)
+LexToken(EOL,'\n',1,1139)
+LexToken(WHILE,'while',1,1148)
+LexToken(PREVAR_BOOLEAN,'%t',1,1154)
+LexToken(DO,'do',1,1157)
+LexToken(EOL,'\n',1,1159)
+LexToken(OPENSQBRACKET,'[',1,1172)
+LexToken(VAR,'ok',1,1173)
+LexToken(COMMA,',',1,1175)
+LexToken(VAR,'decomptyp',1,1176)
+LexToken(COMMA,',',1,1185)
+LexToken(VAR,'lab',1,1186)
+LexToken(CLOSESQBRACKET,']',1,1189)
+LexToken(ASSIGNMENT,'=',1,1190)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1191)
+LexToken(OPENBRACKET,'(',1,1206)
+LexToken(DQSTRING,'"Set MATZREIM block parameters"',1,1237)
+LexToken(COMMA,',',1,1238)
+LexToken(OPENSQBRACKET,'[',1,1239)
+LexToken(DQSTRING,'"decomposition type (1=Complex2Real&Imag 2=Real&Imag2Complex)"',1,1301)
+LexToken(CLOSESQBRACKET,']',1,1302)
+LexToken(COMMA,',',1,1303)
+LexToken(VAR,'list',1,1304)
+LexToken(OPENBRACKET,'(',1,1308)
+LexToken(DQSTRING,'"vec"',1,1313)
+LexToken(COMMA,',',1,1314)
+LexToken(NUMBER,'1',1,1315)
+LexToken(CLOSEBRACKET,')',1,1316)
+LexToken(COMMA,',',1,1317)
+LexToken(VAR,'label',1,1318)
+LexToken(CLOSEBRACKET,')',1,1323)
+LexToken(EOL,'\n',1,1324)
+LexToken(IF,'if',1,1337)
+LexToken(NOT,'~',1,1340)
+LexToken(VAR,'ok',1,1341)
+LexToken(THEN,'then',1,1344)
+LexToken(EOL,'\n',1,1348)
+LexToken(BREAK,'break',1,1365)
+LexToken(COMMA,',',1,1370)
+LexToken(EOL,'\n',1,1371)
+LexToken(END,'end',1,1384)
+LexToken(EOL,'\n',1,1387)
+LexToken(VAR,'label',1,1400)
+LexToken(ASSIGNMENT,'=',1,1405)
+LexToken(VAR,'lab',1,1406)
+LexToken(EOL,'\n',1,1409)
+LexToken(IF,'if',1,1422)
+LexToken(OPENBRACKET,'(',1,1425)
+LexToken(VAR,'decomptyp',1,1426)
+LexToken(COMPARISON,'==',1,1435)
+LexToken(NUMBER,'1',1,1437)
+LexToken(CLOSEBRACKET,')',1,1438)
+LexToken(THEN,'then',1,1440)
+LexToken(EOL,'\n',1,1444)
+LexToken(VAR,'function_name',1,1461)
+LexToken(ASSIGNMENT,'=',1,1474)
+LexToken(DQSTRING,'"matz_reim"',1,1485)
+LexToken(SEMICOLON,';',1,1486)
+LexToken(EOL,'\n',1,1487)
+LexToken(VAR,'in',1,1504)
+LexToken(ASSIGNMENT,'=',1,1506)
+LexToken(OPENSQBRACKET,'[',1,1507)
+LexToken(NUMBER,'-1',1,1508)
+LexToken(NUMBER,'-2',1,1511)
+LexToken(CLOSESQBRACKET,']',1,1513)
+LexToken(SEMICOLON,';',1,1514)
+LexToken(EOL,'\n',1,1515)
+LexToken(VAR,'it',1,1532)
+LexToken(ASSIGNMENT,'=',1,1534)
+LexToken(NUMBER,'2',1,1535)
+LexToken(SEMICOLON,';',1,1536)
+LexToken(EOL,'\n',1,1537)
+LexToken(VAR,'out',1,1554)
+LexToken(ASSIGNMENT,'=',1,1557)
+LexToken(OPENSQBRACKET,'[',1,1558)
+LexToken(NUMBER,'-1',1,1559)
+LexToken(NUMBER,'-2',1,1562)
+LexToken(SEMICOLON,';',1,1564)
+LexToken(NUMBER,'-1',1,1565)
+LexToken(NUMBER,'-2',1,1568)
+LexToken(CLOSESQBRACKET,']',1,1570)
+LexToken(SEMICOLON,';',1,1571)
+LexToken(EOL,'\n',1,1572)
+LexToken(VAR,'ot',1,1589)
+LexToken(ASSIGNMENT,'=',1,1591)
+LexToken(OPENSQBRACKET,'[',1,1592)
+LexToken(NUMBER,'1',1,1593)
+LexToken(NUMBER,'1',1,1595)
+LexToken(CLOSESQBRACKET,']',1,1596)
+LexToken(SEMICOLON,';',1,1597)
+LexToken(EOL,'\n',1,1598)
+LexToken(ELSEIF,'elseif',1,1611)
+LexToken(OPENBRACKET,'(',1,1618)
+LexToken(VAR,'decomptyp',1,1619)
+LexToken(COMPARISON,'==',1,1628)
+LexToken(NUMBER,'2',1,1630)
+LexToken(CLOSEBRACKET,')',1,1631)
+LexToken(THEN,'then',1,1633)
+LexToken(EOL,'\n',1,1637)
+LexToken(VAR,'function_name',1,1654)
+LexToken(ASSIGNMENT,'=',1,1667)
+LexToken(DQSTRING,'"matz_reimc"',1,1679)
+LexToken(SEMICOLON,';',1,1680)
+LexToken(EOL,'\n',1,1681)
+LexToken(VAR,'in',1,1698)
+LexToken(ASSIGNMENT,'=',1,1700)
+LexToken(OPENSQBRACKET,'[',1,1701)
+LexToken(NUMBER,'-1',1,1702)
+LexToken(NUMBER,'-2',1,1705)
+LexToken(SEMICOLON,';',1,1707)
+LexToken(NUMBER,'-1',1,1708)
+LexToken(NUMBER,'-2',1,1711)
+LexToken(CLOSESQBRACKET,']',1,1713)
+LexToken(SEMICOLON,';',1,1714)
+LexToken(EOL,'\n',1,1715)
+LexToken(VAR,'it',1,1732)
+LexToken(ASSIGNMENT,'=',1,1734)
+LexToken(OPENSQBRACKET,'[',1,1735)
+LexToken(NUMBER,'1',1,1736)
+LexToken(NUMBER,'1',1,1738)
+LexToken(CLOSESQBRACKET,']',1,1739)
+LexToken(SEMICOLON,';',1,1740)
+LexToken(EOL,'\n',1,1741)
+LexToken(VAR,'out',1,1758)
+LexToken(ASSIGNMENT,'=',1,1761)
+LexToken(OPENSQBRACKET,'[',1,1762)
+LexToken(NUMBER,'-1',1,1763)
+LexToken(NUMBER,'-2',1,1766)
+LexToken(CLOSESQBRACKET,']',1,1768)
+LexToken(SEMICOLON,';',1,1769)
+LexToken(EOL,'\n',1,1770)
+LexToken(VAR,'ot',1,1787)
+LexToken(ASSIGNMENT,'=',1,1789)
+LexToken(NUMBER,'2',1,1790)
+LexToken(SEMICOLON,';',1,1791)
+LexToken(EOL,'\n',1,1792)
+LexToken(ELSE,'else',1,1805)
+LexToken(EOL,'\n',1,1809)
+LexToken(VAR,'message',1,1826)
+LexToken(OPENBRACKET,'(',1,1833)
+LexToken(DQSTRING,'"decomposition type is not supported"',1,1870)
+LexToken(CLOSEBRACKET,')',1,1871)
+LexToken(SEMICOLON,';',1,1872)
+LexToken(EOL,'\n',1,1873)
+LexToken(VAR,'ok',1,1890)
+LexToken(ASSIGNMENT,'=',1,1892)
+LexToken(PREVAR_BOOLEAN,'%f',1,1893)
+LexToken(SEMICOLON,';',1,1895)
+LexToken(EOL,'\n',1,1896)
+LexToken(END,'end',1,1909)
+LexToken(EOL,'\n',1,1912)
+LexToken(VAR,'funtyp',1,1925)
+LexToken(ASSIGNMENT,'=',1,1931)
+LexToken(NUMBER,'4',1,1932)
+LexToken(SEMICOLON,';',1,1933)
+LexToken(EOL,'\n',1,1934)
+LexToken(IF,'if',1,1947)
+LexToken(VAR,'ok',1,1950)
+LexToken(THEN,'then',1,1953)
+LexToken(EOL,'\n',1,1957)
+LexToken(OPENSQBRACKET,'[',1,1974)
+LexToken(VAR,'model',1,1975)
+LexToken(COMMA,',',1,1980)
+LexToken(VAR,'graphics',1,1981)
+LexToken(COMMA,',',1,1989)
+LexToken(VAR,'ok',1,1990)
+LexToken(CLOSESQBRACKET,']',1,1992)
+LexToken(ASSIGNMENT,'=',1,1993)
+LexToken(VAR,'set_io',1,1994)
+LexToken(OPENBRACKET,'(',1,2000)
+LexToken(VAR,'model',1,2001)
+LexToken(COMMA,',',1,2006)
+LexToken(VAR,'graphics',1,2007)
+LexToken(COMMA,',',1,2015)
+LexToken(VAR,'list',1,2016)
+LexToken(OPENBRACKET,'(',1,2020)
+LexToken(VAR,'in',1,2021)
+LexToken(COMMA,',',1,2023)
+LexToken(VAR,'it',1,2024)
+LexToken(CLOSEBRACKET,')',1,2026)
+LexToken(COMMA,',',1,2027)
+LexToken(VAR,'list',1,2028)
+LexToken(OPENBRACKET,'(',1,2032)
+LexToken(VAR,'out',1,2033)
+LexToken(COMMA,',',1,2036)
+LexToken(VAR,'ot',1,2037)
+LexToken(CLOSEBRACKET,')',1,2039)
+LexToken(COMMA,',',1,2040)
+LexToken(OPENSQBRACKET,'[',1,2041)
+LexToken(CLOSESQBRACKET,']',1,2042)
+LexToken(COMMA,',',1,2043)
+LexToken(OPENSQBRACKET,'[',1,2044)
+LexToken(CLOSESQBRACKET,']',1,2045)
+LexToken(CLOSEBRACKET,')',1,2046)
+LexToken(EOL,'\n',1,2047)
+LexToken(END,'end',1,2060)
+LexToken(EOL,'\n',1,2063)
+LexToken(IF,'if',1,2076)
+LexToken(VAR,'ok',1,2079)
+LexToken(THEN,'then',1,2082)
+LexToken(EOL,'\n',1,2086)
+LexToken(VAR,'model',1,2103)
+LexToken(DOT,'.',1,2108)
+LexToken(VAR,'sim',1,2109)
+LexToken(ASSIGNMENT,'=',1,2112)
+LexToken(VAR,'list',1,2113)
+LexToken(OPENBRACKET,'(',1,2117)
+LexToken(VAR,'function_name',1,2118)
+LexToken(COMMA,',',1,2131)
+LexToken(VAR,'funtyp',1,2132)
+LexToken(CLOSEBRACKET,')',1,2138)
+LexToken(SEMICOLON,';',1,2139)
+LexToken(EOL,'\n',1,2140)
+LexToken(VAR,'arg1',1,2157)
+LexToken(DOT,'.',1,2161)
+LexToken(VAR,'model',1,2162)
+LexToken(ASSIGNMENT,'=',1,2167)
+LexToken(VAR,'model',1,2168)
+LexToken(EOL,'\n',1,2173)
+LexToken(VAR,'graphics',1,2190)
+LexToken(DOT,'.',1,2198)
+LexToken(VAR,'exprs',1,2199)
+LexToken(ASSIGNMENT,'=',1,2204)
+LexToken(VAR,'label',1,2205)
+LexToken(EOL,'\n',1,2210)
+LexToken(VAR,'arg1',1,2227)
+LexToken(DOT,'.',1,2231)
+LexToken(VAR,'graphics',1,2232)
+LexToken(ASSIGNMENT,'=',1,2240)
+LexToken(VAR,'graphics',1,2241)
+LexToken(EOL,'\n',1,2249)
+LexToken(VAR,'x',1,2266)
+LexToken(ASSIGNMENT,'=',1,2267)
+LexToken(VAR,'arg1',1,2268)
+LexToken(EOL,'\n',1,2272)
+LexToken(BREAK,'break',1,2289)
+LexToken(EOL,'\n',1,2294)
+LexToken(END,'end',1,2307)
+LexToken(EOL,'\n',1,2310)
+LexToken(END,'end',1,2319)
+LexToken(EOL,'\n',1,2322)
+LexToken(CASE,'case',1,2327)
+LexToken(DQSTRING,'"define"',1,2339)
+LexToken(THEN,'then',1,2341)
+LexToken(EOL,'\n',1,2345)
+LexToken(VAR,'model',1,2354)
+LexToken(ASSIGNMENT,'=',1,2359)
+LexToken(SCICOS_MODEL,'scicos_model',1,2360)
+LexToken(OPENBRACKET,'(',1,2372)
+LexToken(CLOSEBRACKET,')',1,2373)
+LexToken(EOL,'\n',1,2374)
+LexToken(VAR,'function_name',1,2383)
+LexToken(ASSIGNMENT,'=',1,2396)
+LexToken(DQSTRING,'"matz_reim"',1,2407)
+LexToken(SEMICOLON,';',1,2408)
+LexToken(EOL,'\n',1,2409)
+LexToken(VAR,'funtyp',1,2418)
+LexToken(ASSIGNMENT,'=',1,2424)
+LexToken(NUMBER,'4',1,2425)
+LexToken(SEMICOLON,';',1,2426)
+LexToken(EOL,'\n',1,2427)
+LexToken(VAR,'model',1,2436)
+LexToken(DOT,'.',1,2441)
+LexToken(VAR,'sim',1,2442)
+LexToken(ASSIGNMENT,'=',1,2445)
+LexToken(VAR,'list',1,2446)
+LexToken(OPENBRACKET,'(',1,2450)
+LexToken(VAR,'function_name',1,2451)
+LexToken(COMMA,',',1,2464)
+LexToken(VAR,'funtyp',1,2465)
+LexToken(CLOSEBRACKET,')',1,2471)
+LexToken(EOL,'\n',1,2472)
+LexToken(VAR,'model',1,2481)
+LexToken(DOT,'.',1,2486)
+LexToken(VAR,'in',1,2487)
+LexToken(ASSIGNMENT,'=',1,2489)
+LexToken(NUMBER,'-1',1,2490)
+LexToken(EOL,'\n',1,2492)
+LexToken(VAR,'model',1,2501)
+LexToken(DOT,'.',1,2506)
+LexToken(VAR,'in2',1,2507)
+LexToken(ASSIGNMENT,'=',1,2510)
+LexToken(NUMBER,'-2',1,2511)
+LexToken(EOL,'\n',1,2513)
+LexToken(VAR,'model',1,2522)
+LexToken(DOT,'.',1,2527)
+LexToken(VAR,'intyp',1,2528)
+LexToken(ASSIGNMENT,'=',1,2533)
+LexToken(NUMBER,'2',1,2534)
+LexToken(EOL,'\n',1,2535)
+LexToken(VAR,'model',1,2544)
+LexToken(DOT,'.',1,2549)
+LexToken(VAR,'out',1,2550)
+LexToken(ASSIGNMENT,'=',1,2553)
+LexToken(OPENSQBRACKET,'[',1,2554)
+LexToken(NUMBER,'-1',1,2555)
+LexToken(SEMICOLON,';',1,2557)
+LexToken(NUMBER,'-1',1,2558)
+LexToken(CLOSESQBRACKET,']',1,2560)
+LexToken(EOL,'\n',1,2561)
+LexToken(VAR,'model',1,2570)
+LexToken(DOT,'.',1,2575)
+LexToken(VAR,'out2',1,2576)
+LexToken(ASSIGNMENT,'=',1,2580)
+LexToken(OPENSQBRACKET,'[',1,2581)
+LexToken(NUMBER,'-2',1,2582)
+LexToken(SEMICOLON,';',1,2584)
+LexToken(NUMBER,'-2',1,2585)
+LexToken(CLOSESQBRACKET,']',1,2587)
+LexToken(EOL,'\n',1,2588)
+LexToken(VAR,'model',1,2597)
+LexToken(DOT,'.',1,2602)
+LexToken(VAR,'outtyp',1,2603)
+LexToken(ASSIGNMENT,'=',1,2609)
+LexToken(OPENSQBRACKET,'[',1,2610)
+LexToken(NUMBER,'1',1,2611)
+LexToken(NUMBER,'1',1,2613)
+LexToken(CLOSESQBRACKET,']',1,2614)
+LexToken(EOL,'\n',1,2615)
+LexToken(VAR,'model',1,2624)
+LexToken(DOT,'.',1,2629)
+LexToken(VAR,'evtin',1,2630)
+LexToken(ASSIGNMENT,'=',1,2635)
+LexToken(OPENSQBRACKET,'[',1,2636)
+LexToken(CLOSESQBRACKET,']',1,2637)
+LexToken(EOL,'\n',1,2638)
+LexToken(VAR,'model',1,2647)
+LexToken(DOT,'.',1,2652)
+LexToken(VAR,'evtout',1,2653)
+LexToken(ASSIGNMENT,'=',1,2659)
+LexToken(OPENSQBRACKET,'[',1,2660)
+LexToken(CLOSESQBRACKET,']',1,2661)
+LexToken(EOL,'\n',1,2662)
+LexToken(VAR,'model',1,2671)
+LexToken(DOT,'.',1,2676)
+LexToken(VAR,'state',1,2677)
+LexToken(ASSIGNMENT,'=',1,2682)
+LexToken(OPENSQBRACKET,'[',1,2683)
+LexToken(CLOSESQBRACKET,']',1,2684)
+LexToken(EOL,'\n',1,2685)
+LexToken(VAR,'model',1,2694)
+LexToken(DOT,'.',1,2699)
+LexToken(VAR,'dstate',1,2700)
+LexToken(ASSIGNMENT,'=',1,2706)
+LexToken(OPENSQBRACKET,'[',1,2707)
+LexToken(CLOSESQBRACKET,']',1,2708)
+LexToken(EOL,'\n',1,2709)
+LexToken(VAR,'model',1,2718)
+LexToken(DOT,'.',1,2723)
+LexToken(VAR,'rpar',1,2724)
+LexToken(ASSIGNMENT,'=',1,2728)
+LexToken(OPENSQBRACKET,'[',1,2729)
+LexToken(CLOSESQBRACKET,']',1,2730)
+LexToken(EOL,'\n',1,2731)
+LexToken(VAR,'model',1,2740)
+LexToken(DOT,'.',1,2745)
+LexToken(VAR,'ipar',1,2746)
+LexToken(ASSIGNMENT,'=',1,2750)
+LexToken(OPENSQBRACKET,'[',1,2751)
+LexToken(CLOSESQBRACKET,']',1,2752)
+LexToken(EOL,'\n',1,2753)
+LexToken(VAR,'model',1,2762)
+LexToken(DOT,'.',1,2767)
+LexToken(VAR,'blocktype',1,2768)
+LexToken(ASSIGNMENT,'=',1,2777)
+LexToken(DQSTRING,'"c"',1,2780)
+LexToken(EOL,'\n',1,2781)
+LexToken(VAR,'model',1,2790)
+LexToken(DOT,'.',1,2795)
+LexToken(VAR,'firing',1,2796)
+LexToken(ASSIGNMENT,'=',1,2802)
+LexToken(OPENSQBRACKET,'[',1,2803)
+LexToken(CLOSESQBRACKET,']',1,2804)
+LexToken(EOL,'\n',1,2805)
+LexToken(VAR,'model',1,2814)
+LexToken(DOT,'.',1,2819)
+LexToken(VAR,'dep_ut',1,2820)
+LexToken(ASSIGNMENT,'=',1,2826)
+LexToken(OPENSQBRACKET,'[',1,2827)
+LexToken(PREVAR_BOOLEAN,'%t',1,2828)
+LexToken(PREVAR_BOOLEAN,'%f',1,2831)
+LexToken(CLOSESQBRACKET,']',1,2833)
+LexToken(EOL,'\n',1,2834)
+LexToken(EOL,'\n',1,2835)
+LexToken(VAR,'label',1,2844)
+LexToken(ASSIGNMENT,'=',1,2849)
+LexToken(VAR,'sci2exp',1,2850)
+LexToken(OPENBRACKET,'(',1,2857)
+LexToken(NUMBER,'1',1,2858)
+LexToken(CLOSEBRACKET,')',1,2859)
+LexToken(EOL,'\n',1,2860)
+LexToken(VAR,'gr_i',1,2869)
+LexToken(ASSIGNMENT,'=',1,2873)
+LexToken(OPENSQBRACKET,'[',1,2874)
+LexToken(CLOSESQBRACKET,']',1,2875)
+LexToken(EOL,'\n',1,2876)
+LexToken(VAR,'x',1,2885)
+LexToken(ASSIGNMENT,'=',1,2886)
+LexToken(VAR,'standard_define',1,2887)
+LexToken(OPENBRACKET,'(',1,2902)
+LexToken(OPENSQBRACKET,'[',1,2903)
+LexToken(NUMBER,'3',1,2904)
+LexToken(NUMBER,'2',1,2906)
+LexToken(CLOSESQBRACKET,']',1,2907)
+LexToken(COMMA,',',1,2908)
+LexToken(VAR,'model',1,2909)
+LexToken(COMMA,',',1,2914)
+LexToken(VAR,'label',1,2915)
+LexToken(COMMA,',',1,2920)
+LexToken(VAR,'gr_i',1,2921)
+LexToken(CLOSEBRACKET,')',1,2925)
+LexToken(EOL,'\n',1,2926)
+LexToken(END,'end',1,2931)
+LexToken(EOL,'\n',1,2934)
+LexToken(ENDFUNCTION,'endfunction',1,2935)
+LexToken(EOL,'\n',1,2946)
+LexToken(EOL,'\n',1,2947)
diff --git a/js/MatrixOp/RICC.js b/js/MatrixOp/RICC.js
new file mode 100644
index 00000000..0c9fe618
--- /dev/null
+++ b/js/MatrixOp/RICC.js
@@ -0,0 +1,470 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'RICC',1,852)
+LexToken(OPENBRACKET,'(',1,856)
+LexToken(VAR,'job',1,857)
+LexToken(COMMA,',',1,860)
+LexToken(VAR,'arg1',1,861)
+LexToken(COMMA,',',1,865)
+LexToken(VAR,'arg2',1,866)
+LexToken(CLOSEBRACKET,')',1,870)
+LexToken(EOL,'\n',1,871)
+LexToken(EOL,'\n',1,878)
+LexToken(VAR,'x',1,883)
+LexToken(ASSIGNMENT,'=',1,884)
+LexToken(OPENSQBRACKET,'[',1,885)
+LexToken(CLOSESQBRACKET,']',1,886)
+LexToken(SEMICOLON,';',1,887)
+LexToken(EOL,'\n',1,888)
+LexToken(VAR,'y',1,893)
+LexToken(ASSIGNMENT,'=',1,894)
+LexToken(OPENSQBRACKET,'[',1,895)
+LexToken(CLOSESQBRACKET,']',1,896)
+LexToken(SEMICOLON,';',1,897)
+LexToken(EOL,'\n',1,898)
+LexToken(VAR,'typ',1,903)
+LexToken(ASSIGNMENT,'=',1,906)
+LexToken(OPENSQBRACKET,'[',1,907)
+LexToken(CLOSESQBRACKET,']',1,908)
+LexToken(SEMICOLON,';',1,909)
+LexToken(EOL,'\n',1,910)
+LexToken(SELECT,'select',1,915)
+LexToken(VAR,'job',1,922)
+LexToken(EOL,'\n',1,925)
+LexToken(CASE,'case',1,930)
+LexToken(DQSTRING,'"set"',1,939)
+LexToken(THEN,'then',1,941)
+LexToken(EOL,'\n',1,945)
+LexToken(VAR,'x',1,954)
+LexToken(ASSIGNMENT,'=',1,955)
+LexToken(VAR,'arg1',1,956)
+LexToken(EOL,'\n',1,960)
+LexToken(VAR,'graphics',1,969)
+LexToken(ASSIGNMENT,'=',1,977)
+LexToken(VAR,'arg1',1,978)
+LexToken(DOT,'.',1,982)
+LexToken(VAR,'graphics',1,983)
+LexToken(SEMICOLON,';',1,991)
+LexToken(EOL,'\n',1,992)
+LexToken(VAR,'label',1,1001)
+LexToken(ASSIGNMENT,'=',1,1006)
+LexToken(VAR,'graphics',1,1007)
+LexToken(DOT,'.',1,1015)
+LexToken(VAR,'exprs',1,1016)
+LexToken(EOL,'\n',1,1021)
+LexToken(VAR,'model',1,1030)
+LexToken(ASSIGNMENT,'=',1,1035)
+LexToken(VAR,'arg1',1,1036)
+LexToken(DOT,'.',1,1040)
+LexToken(VAR,'model',1,1041)
+LexToken(SEMICOLON,';',1,1046)
+LexToken(EOL,'\n',1,1047)
+LexToken(IF,'if',1,1056)
+LexToken(VAR,'size',1,1059)
+LexToken(OPENBRACKET,'(',1,1063)
+LexToken(VAR,'label',1,1064)
+LexToken(COMMA,',',1,1069)
+LexToken(DQSTRING,'"*"',1,1072)
+LexToken(CLOSEBRACKET,')',1,1073)
+LexToken(COMPARISON,'==',1,1074)
+LexToken(NUMBER,'14',1,1076)
+LexToken(THEN,'then',1,1079)
+LexToken(EOL,'\n',1,1083)
+LexToken(VAR,'label',1,1096)
+LexToken(OPENBRACKET,'(',1,1101)
+LexToken(NUMBER,'9',1,1102)
+LexToken(CLOSEBRACKET,')',1,1103)
+LexToken(ASSIGNMENT,'=',1,1104)
+LexToken(OPENSQBRACKET,'[',1,1105)
+LexToken(CLOSESQBRACKET,']',1,1106)
+LexToken(COMMA,',',1,1107)
+LexToken(EOL,'\n',1,1108)
+LexToken(END,'end',1,1117)
+LexToken(EOL,'\n',1,1135)
+LexToken(WHILE,'while',1,1144)
+LexToken(PREVAR_BOOLEAN,'%t',1,1150)
+LexToken(DO,'do',1,1153)
+LexToken(EOL,'\n',1,1155)
+LexToken(OPENSQBRACKET,'[',1,1168)
+LexToken(VAR,'ok',1,1169)
+LexToken(COMMA,',',1,1171)
+LexToken(VAR,'tpe',1,1172)
+LexToken(COMMA,',',1,1175)
+LexToken(VAR,'mod',1,1176)
+LexToken(COMMA,',',1,1179)
+LexToken(VAR,'exprs',1,1180)
+LexToken(CLOSESQBRACKET,']',1,1185)
+LexToken(ASSIGNMENT,'=',1,1186)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1187)
+LexToken(OPENBRACKET,'(',1,1202)
+LexToken(DQSTRING,'"Set RICC Block"',1,1218)
+LexToken(COMMA,',',1,1219)
+LexToken(OPENSQBRACKET,'[',1,1220)
+LexToken(DQSTRING,'"Type (1=Cont 2=Disc)"',1,1243)
+LexToken(SEMICOLON,';',1,1244)
+LexToken(DQSTRING,'"Model(1=Schr 2=sign(cont) inv(disc))"',1,1283)
+LexToken(CLOSESQBRACKET,']',1,1284)
+LexToken(COMMA,',',1,1285)
+LexToken(VAR,'list',1,1286)
+LexToken(OPENBRACKET,'(',1,1290)
+LexToken(DQSTRING,'"vec"',1,1295)
+LexToken(COMMA,',',1,1296)
+LexToken(NUMBER,'1',1,1297)
+LexToken(COMMA,',',1,1298)
+LexToken(DQSTRING,'"vec"',1,1303)
+LexToken(COMMA,',',1,1304)
+LexToken(NUMBER,'1',1,1305)
+LexToken(CLOSEBRACKET,')',1,1306)
+LexToken(COMMA,',',1,1307)
+LexToken(VAR,'label',1,1308)
+LexToken(CLOSEBRACKET,')',1,1313)
+LexToken(EOL,'\n',1,1314)
+LexToken(IF,'if',1,1327)
+LexToken(NOT,'~',1,1330)
+LexToken(VAR,'ok',1,1331)
+LexToken(THEN,'then',1,1334)
+LexToken(EOL,'\n',1,1338)
+LexToken(BREAK,'break',1,1355)
+LexToken(COMMA,',',1,1360)
+LexToken(EOL,'\n',1,1361)
+LexToken(END,'end',1,1374)
+LexToken(EOL,'\n',1,1377)
+LexToken(VAR,'in',1,1390)
+LexToken(ASSIGNMENT,'=',1,1392)
+LexToken(OPENSQBRACKET,'[',1,1393)
+LexToken(VAR,'model',1,1394)
+LexToken(DOT,'.',1,1399)
+LexToken(VAR,'in',1,1400)
+LexToken(VAR,'model',1,1403)
+LexToken(DOT,'.',1,1408)
+LexToken(VAR,'in2',1,1409)
+LexToken(CLOSESQBRACKET,']',1,1412)
+LexToken(SEMICOLON,';',1,1413)
+LexToken(EOL,'\n',1,1414)
+LexToken(VAR,'out',1,1427)
+LexToken(ASSIGNMENT,'=',1,1430)
+LexToken(OPENSQBRACKET,'[',1,1431)
+LexToken(VAR,'model',1,1432)
+LexToken(DOT,'.',1,1437)
+LexToken(VAR,'out',1,1438)
+LexToken(VAR,'model',1,1442)
+LexToken(DOT,'.',1,1447)
+LexToken(VAR,'out2',1,1448)
+LexToken(CLOSESQBRACKET,']',1,1452)
+LexToken(SEMICOLON,';',1,1453)
+LexToken(EOL,'\n',1,1454)
+LexToken(VAR,'it',1,1467)
+LexToken(ASSIGNMENT,'=',1,1469)
+LexToken(OPENSQBRACKET,'[',1,1470)
+LexToken(NUMBER,'1',1,1471)
+LexToken(NUMBER,'1',1,1473)
+LexToken(NUMBER,'1',1,1475)
+LexToken(CLOSESQBRACKET,']',1,1476)
+LexToken(EOL,'\n',1,1477)
+LexToken(VAR,'ot',1,1490)
+LexToken(ASSIGNMENT,'=',1,1492)
+LexToken(NUMBER,'1',1,1493)
+LexToken(EOL,'\n',1,1494)
+LexToken(VAR,'label',1,1507)
+LexToken(ASSIGNMENT,'=',1,1512)
+LexToken(VAR,'exprs',1,1513)
+LexToken(SEMICOLON,';',1,1518)
+LexToken(EOL,'\n',1,1519)
+LexToken(OPENSQBRACKET,'[',1,1532)
+LexToken(VAR,'model',1,1533)
+LexToken(COMMA,',',1,1538)
+LexToken(VAR,'graphics',1,1539)
+LexToken(COMMA,',',1,1547)
+LexToken(VAR,'ok',1,1548)
+LexToken(CLOSESQBRACKET,']',1,1550)
+LexToken(ASSIGNMENT,'=',1,1551)
+LexToken(VAR,'set_io',1,1552)
+LexToken(OPENBRACKET,'(',1,1558)
+LexToken(VAR,'model',1,1559)
+LexToken(COMMA,',',1,1564)
+LexToken(VAR,'graphics',1,1565)
+LexToken(COMMA,',',1,1573)
+LexToken(VAR,'list',1,1574)
+LexToken(OPENBRACKET,'(',1,1578)
+LexToken(VAR,'in',1,1579)
+LexToken(COMMA,',',1,1581)
+LexToken(VAR,'it',1,1582)
+LexToken(CLOSEBRACKET,')',1,1584)
+LexToken(COMMA,',',1,1585)
+LexToken(VAR,'list',1,1586)
+LexToken(OPENBRACKET,'(',1,1590)
+LexToken(VAR,'out',1,1591)
+LexToken(COMMA,',',1,1594)
+LexToken(VAR,'ot',1,1595)
+LexToken(CLOSEBRACKET,')',1,1597)
+LexToken(COMMA,',',1,1598)
+LexToken(OPENSQBRACKET,'[',1,1599)
+LexToken(CLOSESQBRACKET,']',1,1600)
+LexToken(COMMA,',',1,1601)
+LexToken(OPENSQBRACKET,'[',1,1602)
+LexToken(CLOSESQBRACKET,']',1,1603)
+LexToken(CLOSEBRACKET,')',1,1604)
+LexToken(EOL,'\n',1,1605)
+LexToken(IF,'if',1,1618)
+LexToken(VAR,'ok',1,1621)
+LexToken(THEN,'then',1,1624)
+LexToken(EOL,'\n',1,1628)
+LexToken(VAR,'model',1,1645)
+LexToken(DOT,'.',1,1650)
+LexToken(VAR,'ipar',1,1651)
+LexToken(ASSIGNMENT,'=',1,1655)
+LexToken(OPENSQBRACKET,'[',1,1656)
+LexToken(VAR,'tpe',1,1657)
+LexToken(SEMICOLON,';',1,1660)
+LexToken(VAR,'mod',1,1661)
+LexToken(CLOSESQBRACKET,']',1,1664)
+LexToken(EOL,'\n',1,1665)
+LexToken(VAR,'graphics',1,1682)
+LexToken(DOT,'.',1,1690)
+LexToken(VAR,'exprs',1,1691)
+LexToken(ASSIGNMENT,'=',1,1696)
+LexToken(VAR,'label',1,1697)
+LexToken(SEMICOLON,';',1,1702)
+LexToken(EOL,'\n',1,1703)
+LexToken(VAR,'arg1',1,1720)
+LexToken(DOT,'.',1,1724)
+LexToken(VAR,'graphics',1,1725)
+LexToken(ASSIGNMENT,'=',1,1733)
+LexToken(VAR,'graphics',1,1734)
+LexToken(SEMICOLON,';',1,1742)
+LexToken(EOL,'\n',1,1743)
+LexToken(VAR,'arg1',1,1760)
+LexToken(DOT,'.',1,1764)
+LexToken(VAR,'model',1,1765)
+LexToken(ASSIGNMENT,'=',1,1770)
+LexToken(VAR,'model',1,1771)
+LexToken(SEMICOLON,';',1,1776)
+LexToken(EOL,'\n',1,1777)
+LexToken(VAR,'x',1,1794)
+LexToken(ASSIGNMENT,'=',1,1795)
+LexToken(VAR,'arg1',1,1796)
+LexToken(EOL,'\n',1,1800)
+LexToken(BREAK,'break',1,1817)
+LexToken(EOL,'\n',1,1822)
+LexToken(END,'end',1,1835)
+LexToken(EOL,'\n',1,1838)
+LexToken(END,'end',1,1847)
+LexToken(EOL,'\n',1,1850)
+LexToken(CASE,'case',1,1855)
+LexToken(DQSTRING,'"define"',1,1867)
+LexToken(THEN,'then',1,1869)
+LexToken(EOL,'\n',1,1873)
+LexToken(VAR,'model',1,1882)
+LexToken(ASSIGNMENT,'=',1,1887)
+LexToken(SCICOS_MODEL,'scicos_model',1,1888)
+LexToken(OPENBRACKET,'(',1,1900)
+LexToken(CLOSEBRACKET,')',1,1901)
+LexToken(EOL,'\n',1,1902)
+LexToken(VAR,'function_name',1,1911)
+LexToken(ASSIGNMENT,'=',1,1924)
+LexToken(DQSTRING,'"ricc_m"',1,1932)
+LexToken(SEMICOLON,';',1,1933)
+LexToken(EOL,'\n',1,1934)
+LexToken(VAR,'funtyp',1,1943)
+LexToken(ASSIGNMENT,'=',1,1949)
+LexToken(NUMBER,'4',1,1950)
+LexToken(SEMICOLON,';',1,1951)
+LexToken(EOL,'\n',1,1952)
+LexToken(VAR,'model',1,1961)
+LexToken(DOT,'.',1,1966)
+LexToken(VAR,'sim',1,1967)
+LexToken(ASSIGNMENT,'=',1,1970)
+LexToken(VAR,'list',1,1971)
+LexToken(OPENBRACKET,'(',1,1975)
+LexToken(VAR,'function_name',1,1976)
+LexToken(COMMA,',',1,1989)
+LexToken(VAR,'funtyp',1,1990)
+LexToken(CLOSEBRACKET,')',1,1996)
+LexToken(EOL,'\n',1,1997)
+LexToken(VAR,'model',1,2006)
+LexToken(DOT,'.',1,2011)
+LexToken(VAR,'in',1,2012)
+LexToken(ASSIGNMENT,'=',1,2014)
+LexToken(OPENSQBRACKET,'[',1,2015)
+LexToken(NUMBER,'-1',1,2016)
+LexToken(SEMICOLON,';',1,2018)
+LexToken(NUMBER,'-1',1,2019)
+LexToken(SEMICOLON,';',1,2021)
+LexToken(NUMBER,'-1',1,2022)
+LexToken(CLOSESQBRACKET,']',1,2024)
+LexToken(EOL,'\n',1,2025)
+LexToken(VAR,'model',1,2034)
+LexToken(DOT,'.',1,2039)
+LexToken(VAR,'in2',1,2040)
+LexToken(ASSIGNMENT,'=',1,2043)
+LexToken(OPENSQBRACKET,'[',1,2044)
+LexToken(NUMBER,'-1',1,2045)
+LexToken(SEMICOLON,';',1,2047)
+LexToken(NUMBER,'-1',1,2048)
+LexToken(SEMICOLON,';',1,2050)
+LexToken(NUMBER,'-1',1,2051)
+LexToken(CLOSESQBRACKET,']',1,2053)
+LexToken(EOL,'\n',1,2054)
+LexToken(VAR,'model',1,2063)
+LexToken(DOT,'.',1,2068)
+LexToken(VAR,'intyp',1,2069)
+LexToken(ASSIGNMENT,'=',1,2074)
+LexToken(OPENSQBRACKET,'[',1,2075)
+LexToken(NUMBER,'1',1,2076)
+LexToken(NUMBER,'1',1,2078)
+LexToken(NUMBER,'1',1,2080)
+LexToken(CLOSESQBRACKET,']',1,2081)
+LexToken(EOL,'\n',1,2082)
+LexToken(VAR,'model',1,2091)
+LexToken(DOT,'.',1,2096)
+LexToken(VAR,'out',1,2097)
+LexToken(ASSIGNMENT,'=',1,2100)
+LexToken(NUMBER,'-1',1,2101)
+LexToken(EOL,'\n',1,2103)
+LexToken(VAR,'model',1,2112)
+LexToken(DOT,'.',1,2117)
+LexToken(VAR,'out2',1,2118)
+LexToken(ASSIGNMENT,'=',1,2122)
+LexToken(NUMBER,'-1',1,2123)
+LexToken(EOL,'\n',1,2125)
+LexToken(VAR,'model',1,2134)
+LexToken(DOT,'.',1,2139)
+LexToken(VAR,'outtyp',1,2140)
+LexToken(ASSIGNMENT,'=',1,2146)
+LexToken(NUMBER,'1',1,2147)
+LexToken(EOL,'\n',1,2148)
+LexToken(VAR,'model',1,2157)
+LexToken(DOT,'.',1,2162)
+LexToken(VAR,'evtin',1,2163)
+LexToken(ASSIGNMENT,'=',1,2168)
+LexToken(OPENSQBRACKET,'[',1,2169)
+LexToken(CLOSESQBRACKET,']',1,2170)
+LexToken(EOL,'\n',1,2171)
+LexToken(VAR,'model',1,2180)
+LexToken(DOT,'.',1,2185)
+LexToken(VAR,'evtout',1,2186)
+LexToken(ASSIGNMENT,'=',1,2192)
+LexToken(OPENSQBRACKET,'[',1,2193)
+LexToken(CLOSESQBRACKET,']',1,2194)
+LexToken(EOL,'\n',1,2195)
+LexToken(VAR,'model',1,2204)
+LexToken(DOT,'.',1,2209)
+LexToken(VAR,'state',1,2210)
+LexToken(ASSIGNMENT,'=',1,2215)
+LexToken(OPENSQBRACKET,'[',1,2216)
+LexToken(CLOSESQBRACKET,']',1,2217)
+LexToken(EOL,'\n',1,2218)
+LexToken(VAR,'model',1,2227)
+LexToken(DOT,'.',1,2232)
+LexToken(VAR,'dstate',1,2233)
+LexToken(ASSIGNMENT,'=',1,2239)
+LexToken(OPENSQBRACKET,'[',1,2240)
+LexToken(CLOSESQBRACKET,']',1,2241)
+LexToken(EOL,'\n',1,2242)
+LexToken(VAR,'model',1,2251)
+LexToken(DOT,'.',1,2256)
+LexToken(VAR,'rpar',1,2257)
+LexToken(ASSIGNMENT,'=',1,2261)
+LexToken(OPENSQBRACKET,'[',1,2262)
+LexToken(CLOSESQBRACKET,']',1,2263)
+LexToken(EOL,'\n',1,2264)
+LexToken(VAR,'model',1,2273)
+LexToken(DOT,'.',1,2278)
+LexToken(VAR,'ipar',1,2279)
+LexToken(ASSIGNMENT,'=',1,2283)
+LexToken(OPENSQBRACKET,'[',1,2284)
+LexToken(NUMBER,'1',1,2285)
+LexToken(SEMICOLON,';',1,2286)
+LexToken(NUMBER,'1',1,2287)
+LexToken(CLOSESQBRACKET,']',1,2288)
+LexToken(EOL,'\n',1,2289)
+LexToken(VAR,'model',1,2298)
+LexToken(DOT,'.',1,2303)
+LexToken(VAR,'blocktype',1,2304)
+LexToken(ASSIGNMENT,'=',1,2313)
+LexToken(DQSTRING,'"c"',1,2316)
+LexToken(EOL,'\n',1,2317)
+LexToken(VAR,'model',1,2326)
+LexToken(DOT,'.',1,2331)
+LexToken(VAR,'firing',1,2332)
+LexToken(ASSIGNMENT,'=',1,2338)
+LexToken(OPENSQBRACKET,'[',1,2339)
+LexToken(CLOSESQBRACKET,']',1,2340)
+LexToken(EOL,'\n',1,2341)
+LexToken(VAR,'model',1,2350)
+LexToken(DOT,'.',1,2355)
+LexToken(VAR,'dep_ut',1,2356)
+LexToken(ASSIGNMENT,'=',1,2362)
+LexToken(OPENSQBRACKET,'[',1,2363)
+LexToken(PREVAR_BOOLEAN,'%t',1,2364)
+LexToken(PREVAR_BOOLEAN,'%f',1,2367)
+LexToken(CLOSESQBRACKET,']',1,2369)
+LexToken(EOL,'\n',1,2370)
+LexToken(VAR,'label',1,2379)
+LexToken(ASSIGNMENT,'=',1,2384)
+LexToken(OPENSQBRACKET,'[',1,2385)
+LexToken(VAR,'sci2exp',1,2386)
+LexToken(OPENBRACKET,'(',1,2393)
+LexToken(NUMBER,'1',1,2394)
+LexToken(CLOSEBRACKET,')',1,2395)
+LexToken(SEMICOLON,';',1,2396)
+LexToken(VAR,'sci2exp',1,2397)
+LexToken(OPENBRACKET,'(',1,2404)
+LexToken(NUMBER,'1',1,2405)
+LexToken(CLOSEBRACKET,')',1,2406)
+LexToken(CLOSESQBRACKET,']',1,2407)
+LexToken(SEMICOLON,';',1,2408)
+LexToken(EOL,'\n',1,2409)
+LexToken(VAR,'gr_i',1,2418)
+LexToken(ASSIGNMENT,'=',1,2422)
+LexToken(OPENSQBRACKET,'[',1,2423)
+LexToken(CLOSESQBRACKET,']',1,2424)
+LexToken(EOL,'\n',1,2425)
+LexToken(VAR,'x',1,2434)
+LexToken(ASSIGNMENT,'=',1,2435)
+LexToken(VAR,'standard_define',1,2436)
+LexToken(OPENBRACKET,'(',1,2451)
+LexToken(OPENSQBRACKET,'[',1,2452)
+LexToken(NUMBER,'2',1,2453)
+LexToken(NUMBER,'2',1,2455)
+LexToken(CLOSESQBRACKET,']',1,2456)
+LexToken(COMMA,',',1,2457)
+LexToken(VAR,'model',1,2458)
+LexToken(COMMA,',',1,2463)
+LexToken(VAR,'label',1,2464)
+LexToken(COMMA,',',1,2469)
+LexToken(VAR,'gr_i',1,2470)
+LexToken(CLOSEBRACKET,')',1,2474)
+LexToken(EOL,'\n',1,2475)
+LexToken(END,'end',1,2480)
+LexToken(EOL,'\n',1,2483)
+LexToken(ENDFUNCTION,'endfunction',1,2484)
+LexToken(EOL,'\n',1,2495)
diff --git a/js/MatrixOp/ROOTCOEF.js b/js/MatrixOp/ROOTCOEF.js
new file mode 100644
index 00000000..ea37d43f
--- /dev/null
+++ b/js/MatrixOp/ROOTCOEF.js
@@ -0,0 +1,508 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'ROOTCOEF',1,852)
+LexToken(OPENBRACKET,'(',1,860)
+LexToken(VAR,'job',1,861)
+LexToken(COMMA,',',1,864)
+LexToken(VAR,'arg1',1,865)
+LexToken(COMMA,',',1,869)
+LexToken(VAR,'arg2',1,870)
+LexToken(CLOSEBRACKET,')',1,874)
+LexToken(EOL,'\n',1,875)
+LexToken(EOL,'\n',1,882)
+LexToken(VAR,'x',1,887)
+LexToken(ASSIGNMENT,'=',1,888)
+LexToken(OPENSQBRACKET,'[',1,889)
+LexToken(CLOSESQBRACKET,']',1,890)
+LexToken(SEMICOLON,';',1,891)
+LexToken(EOL,'\n',1,892)
+LexToken(VAR,'y',1,897)
+LexToken(ASSIGNMENT,'=',1,898)
+LexToken(OPENSQBRACKET,'[',1,899)
+LexToken(CLOSESQBRACKET,']',1,900)
+LexToken(SEMICOLON,';',1,901)
+LexToken(EOL,'\n',1,902)
+LexToken(VAR,'typ',1,907)
+LexToken(ASSIGNMENT,'=',1,910)
+LexToken(OPENSQBRACKET,'[',1,911)
+LexToken(CLOSESQBRACKET,']',1,912)
+LexToken(SEMICOLON,';',1,913)
+LexToken(EOL,'\n',1,914)
+LexToken(SELECT,'select',1,919)
+LexToken(VAR,'job',1,926)
+LexToken(EOL,'\n',1,929)
+LexToken(CASE,'case',1,934)
+LexToken(DQSTRING,'"set"',1,943)
+LexToken(THEN,'then',1,945)
+LexToken(EOL,'\n',1,949)
+LexToken(VAR,'x',1,958)
+LexToken(ASSIGNMENT,'=',1,959)
+LexToken(VAR,'arg1',1,960)
+LexToken(EOL,'\n',1,964)
+LexToken(VAR,'graphics',1,973)
+LexToken(ASSIGNMENT,'=',1,981)
+LexToken(VAR,'arg1',1,982)
+LexToken(DOT,'.',1,986)
+LexToken(VAR,'graphics',1,987)
+LexToken(SEMICOLON,';',1,995)
+LexToken(EOL,'\n',1,996)
+LexToken(VAR,'label',1,1005)
+LexToken(ASSIGNMENT,'=',1,1010)
+LexToken(VAR,'graphics',1,1011)
+LexToken(DOT,'.',1,1019)
+LexToken(VAR,'exprs',1,1020)
+LexToken(EOL,'\n',1,1025)
+LexToken(VAR,'model',1,1034)
+LexToken(ASSIGNMENT,'=',1,1039)
+LexToken(VAR,'arg1',1,1040)
+LexToken(DOT,'.',1,1044)
+LexToken(VAR,'model',1,1045)
+LexToken(SEMICOLON,';',1,1050)
+LexToken(EOL,'\n',1,1051)
+LexToken(IF,'if',1,1060)
+LexToken(VAR,'size',1,1063)
+LexToken(OPENBRACKET,'(',1,1067)
+LexToken(VAR,'label',1,1068)
+LexToken(COMMA,',',1,1073)
+LexToken(DQSTRING,'"*"',1,1076)
+LexToken(CLOSEBRACKET,')',1,1077)
+LexToken(COMPARISON,'==',1,1078)
+LexToken(NUMBER,'14',1,1080)
+LexToken(THEN,'then',1,1083)
+LexToken(EOL,'\n',1,1087)
+LexToken(VAR,'label',1,1100)
+LexToken(OPENBRACKET,'(',1,1105)
+LexToken(NUMBER,'9',1,1106)
+LexToken(CLOSEBRACKET,')',1,1107)
+LexToken(ASSIGNMENT,'=',1,1108)
+LexToken(OPENSQBRACKET,'[',1,1109)
+LexToken(CLOSESQBRACKET,']',1,1110)
+LexToken(COMMA,',',1,1111)
+LexToken(EOL,'\n',1,1112)
+LexToken(END,'end',1,1121)
+LexToken(EOL,'\n',1,1139)
+LexToken(WHILE,'while',1,1148)
+LexToken(PREVAR_BOOLEAN,'%t',1,1154)
+LexToken(DO,'do',1,1157)
+LexToken(EOL,'\n',1,1159)
+LexToken(OPENSQBRACKET,'[',1,1172)
+LexToken(VAR,'ok',1,1173)
+LexToken(COMMA,',',1,1175)
+LexToken(VAR,'typ',1,1176)
+LexToken(COMMA,',',1,1179)
+LexToken(VAR,'inp',1,1180)
+LexToken(COMMA,',',1,1183)
+LexToken(VAR,'exprs',1,1184)
+LexToken(CLOSESQBRACKET,']',1,1189)
+LexToken(ASSIGNMENT,'=',1,1190)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1191)
+LexToken(OPENBRACKET,'(',1,1206)
+LexToken(DQSTRING,'"Set ROOTCOEF Block"',1,1226)
+LexToken(COMMA,',',1,1227)
+LexToken(OPENSQBRACKET,'[',1,1243)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1279)
+LexToken(SEMICOLON,';',1,1280)
+LexToken(DQSTRING,'"input row size"',1,1296)
+LexToken(SEMICOLON,';',1,1297)
+LexToken(CLOSESQBRACKET,']',1,1298)
+LexToken(COMMA,',',1,1299)
+LexToken(VAR,'list',1,1300)
+LexToken(OPENBRACKET,'(',1,1304)
+LexToken(DQSTRING,'"vec"',1,1309)
+LexToken(COMMA,',',1,1310)
+LexToken(NUMBER,'1',1,1311)
+LexToken(COMMA,',',1,1312)
+LexToken(DQSTRING,'"vec"',1,1317)
+LexToken(COMMA,',',1,1318)
+LexToken(NUMBER,'1',1,1319)
+LexToken(CLOSEBRACKET,')',1,1320)
+LexToken(COMMA,',',1,1321)
+LexToken(VAR,'label',1,1322)
+LexToken(CLOSEBRACKET,')',1,1327)
+LexToken(EOL,'\n',1,1328)
+LexToken(IF,'if',1,1341)
+LexToken(NOT,'~',1,1344)
+LexToken(VAR,'ok',1,1345)
+LexToken(THEN,'then',1,1348)
+LexToken(EOL,'\n',1,1352)
+LexToken(BREAK,'break',1,1369)
+LexToken(COMMA,',',1,1374)
+LexToken(EOL,'\n',1,1375)
+LexToken(END,'end',1,1388)
+LexToken(EOL,'\n',1,1391)
+LexToken(IF,'if',1,1404)
+LexToken(OPENBRACKET,'(',1,1407)
+LexToken(VAR,'typ',1,1408)
+LexToken(COMPARISON,'==',1,1411)
+LexToken(NUMBER,'1',1,1413)
+LexToken(CLOSEBRACKET,')',1,1414)
+LexToken(THEN,'then',1,1416)
+LexToken(EOL,'\n',1,1420)
+LexToken(VAR,'function_name',1,1437)
+LexToken(ASSIGNMENT,'=',1,1450)
+LexToken(DQSTRING,'"root_coef"',1,1461)
+LexToken(SEMICOLON,';',1,1462)
+LexToken(EOL,'\n',1,1463)
+LexToken(VAR,'ot',1,1480)
+LexToken(ASSIGNMENT,'=',1,1482)
+LexToken(NUMBER,'1',1,1483)
+LexToken(SEMICOLON,';',1,1484)
+LexToken(EOL,'\n',1,1485)
+LexToken(VAR,'it',1,1502)
+LexToken(ASSIGNMENT,'=',1,1504)
+LexToken(NUMBER,'1',1,1505)
+LexToken(SEMICOLON,';',1,1506)
+LexToken(EOL,'\n',1,1507)
+LexToken(ELSEIF,'elseif',1,1520)
+LexToken(OPENBRACKET,'(',1,1527)
+LexToken(VAR,'typ',1,1528)
+LexToken(COMPARISON,'==',1,1531)
+LexToken(NUMBER,'2',1,1533)
+LexToken(CLOSEBRACKET,')',1,1534)
+LexToken(THEN,'then',1,1536)
+LexToken(EOL,'\n',1,1540)
+LexToken(VAR,'function_name',1,1557)
+LexToken(ASSIGNMENT,'=',1,1570)
+LexToken(DQSTRING,'"rootz_coef"',1,1582)
+LexToken(SEMICOLON,';',1,1583)
+LexToken(EOL,'\n',1,1584)
+LexToken(VAR,'ot',1,1601)
+LexToken(ASSIGNMENT,'=',1,1603)
+LexToken(NUMBER,'2',1,1604)
+LexToken(SEMICOLON,';',1,1605)
+LexToken(EOL,'\n',1,1606)
+LexToken(VAR,'it',1,1623)
+LexToken(ASSIGNMENT,'=',1,1625)
+LexToken(NUMBER,'2',1,1626)
+LexToken(SEMICOLON,';',1,1627)
+LexToken(EOL,'\n',1,1628)
+LexToken(ELSE,'else',1,1641)
+LexToken(EOL,'\n',1,1645)
+LexToken(VAR,'message',1,1662)
+LexToken(OPENBRACKET,'(',1,1669)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1696)
+LexToken(CLOSEBRACKET,')',1,1697)
+LexToken(SEMICOLON,';',1,1698)
+LexToken(EOL,'\n',1,1699)
+LexToken(VAR,'ok',1,1716)
+LexToken(ASSIGNMENT,'=',1,1718)
+LexToken(PREVAR_BOOLEAN,'%f',1,1719)
+LexToken(SEMICOLON,';',1,1721)
+LexToken(EOL,'\n',1,1722)
+LexToken(END,'end',1,1735)
+LexToken(EOL,'\n',1,1738)
+LexToken(VAR,'in',1,1751)
+LexToken(ASSIGNMENT,'=',1,1753)
+LexToken(OPENSQBRACKET,'[',1,1754)
+LexToken(VAR,'inp',1,1755)
+LexToken(VAR,'model',1,1759)
+LexToken(DOT,'.',1,1764)
+LexToken(VAR,'in2',1,1765)
+LexToken(CLOSESQBRACKET,']',1,1768)
+LexToken(SEMICOLON,';',1,1769)
+LexToken(EOL,'\n',1,1770)
+LexToken(VAR,'out',1,1783)
+LexToken(ASSIGNMENT,'=',1,1786)
+LexToken(OPENSQBRACKET,'[',1,1787)
+LexToken(VAR,'inp',1,1788)
+LexToken(OPERATOR,'+',1,1791)
+LexToken(NUMBER,'1',1,1792)
+LexToken(VAR,'model',1,1794)
+LexToken(DOT,'.',1,1799)
+LexToken(VAR,'out2',1,1800)
+LexToken(CLOSESQBRACKET,']',1,1804)
+LexToken(SEMICOLON,';',1,1805)
+LexToken(EOL,'\n',1,1806)
+LexToken(VAR,'funtyp',1,1819)
+LexToken(ASSIGNMENT,'=',1,1825)
+LexToken(NUMBER,'4',1,1826)
+LexToken(SEMICOLON,';',1,1827)
+LexToken(EOL,'\n',1,1828)
+LexToken(IF,'if',1,1841)
+LexToken(VAR,'ok',1,1844)
+LexToken(THEN,'then',1,1847)
+LexToken(EOL,'\n',1,1851)
+LexToken(VAR,'label',1,1868)
+LexToken(ASSIGNMENT,'=',1,1873)
+LexToken(VAR,'exprs',1,1874)
+LexToken(SEMICOLON,';',1,1879)
+LexToken(EOL,'\n',1,1880)
+LexToken(OPENSQBRACKET,'[',1,1897)
+LexToken(VAR,'model',1,1898)
+LexToken(COMMA,',',1,1903)
+LexToken(VAR,'graphics',1,1904)
+LexToken(COMMA,',',1,1912)
+LexToken(VAR,'ok',1,1913)
+LexToken(CLOSESQBRACKET,']',1,1915)
+LexToken(ASSIGNMENT,'=',1,1916)
+LexToken(VAR,'set_io',1,1917)
+LexToken(OPENBRACKET,'(',1,1923)
+LexToken(VAR,'model',1,1924)
+LexToken(COMMA,',',1,1929)
+LexToken(VAR,'graphics',1,1930)
+LexToken(COMMA,',',1,1938)
+LexToken(VAR,'list',1,1939)
+LexToken(OPENBRACKET,'(',1,1943)
+LexToken(VAR,'in',1,1944)
+LexToken(COMMA,',',1,1946)
+LexToken(VAR,'it',1,1947)
+LexToken(CLOSEBRACKET,')',1,1949)
+LexToken(COMMA,',',1,1950)
+LexToken(VAR,'list',1,1951)
+LexToken(OPENBRACKET,'(',1,1955)
+LexToken(VAR,'out',1,1956)
+LexToken(COMMA,',',1,1959)
+LexToken(VAR,'ot',1,1960)
+LexToken(CLOSEBRACKET,')',1,1962)
+LexToken(COMMA,',',1,1963)
+LexToken(OPENSQBRACKET,'[',1,1964)
+LexToken(CLOSESQBRACKET,']',1,1965)
+LexToken(COMMA,',',1,1966)
+LexToken(OPENSQBRACKET,'[',1,1967)
+LexToken(CLOSESQBRACKET,']',1,1968)
+LexToken(CLOSEBRACKET,')',1,1969)
+LexToken(EOL,'\n',1,1970)
+LexToken(VAR,'model',1,1987)
+LexToken(DOT,'.',1,1992)
+LexToken(VAR,'sim',1,1993)
+LexToken(ASSIGNMENT,'=',1,1996)
+LexToken(VAR,'list',1,1997)
+LexToken(OPENBRACKET,'(',1,2001)
+LexToken(VAR,'function_name',1,2002)
+LexToken(COMMA,',',1,2015)
+LexToken(VAR,'funtyp',1,2016)
+LexToken(CLOSEBRACKET,')',1,2022)
+LexToken(SEMICOLON,';',1,2023)
+LexToken(EOL,'\n',1,2024)
+LexToken(VAR,'graphics',1,2041)
+LexToken(DOT,'.',1,2049)
+LexToken(VAR,'exprs',1,2050)
+LexToken(ASSIGNMENT,'=',1,2055)
+LexToken(VAR,'label',1,2056)
+LexToken(SEMICOLON,';',1,2061)
+LexToken(EOL,'\n',1,2062)
+LexToken(VAR,'arg1',1,2079)
+LexToken(DOT,'.',1,2083)
+LexToken(VAR,'graphics',1,2084)
+LexToken(ASSIGNMENT,'=',1,2092)
+LexToken(VAR,'graphics',1,2093)
+LexToken(SEMICOLON,';',1,2101)
+LexToken(EOL,'\n',1,2102)
+LexToken(VAR,'arg1',1,2119)
+LexToken(DOT,'.',1,2123)
+LexToken(VAR,'model',1,2124)
+LexToken(ASSIGNMENT,'=',1,2129)
+LexToken(VAR,'model',1,2130)
+LexToken(SEMICOLON,';',1,2135)
+LexToken(EOL,'\n',1,2136)
+LexToken(VAR,'x',1,2153)
+LexToken(ASSIGNMENT,'=',1,2154)
+LexToken(VAR,'arg1',1,2155)
+LexToken(EOL,'\n',1,2159)
+LexToken(BREAK,'break',1,2176)
+LexToken(EOL,'\n',1,2181)
+LexToken(END,'end',1,2194)
+LexToken(EOL,'\n',1,2197)
+LexToken(END,'end',1,2206)
+LexToken(EOL,'\n',1,2209)
+LexToken(CASE,'case',1,2214)
+LexToken(DQSTRING,'"define"',1,2226)
+LexToken(THEN,'then',1,2228)
+LexToken(EOL,'\n',1,2232)
+LexToken(VAR,'model',1,2241)
+LexToken(ASSIGNMENT,'=',1,2246)
+LexToken(SCICOS_MODEL,'scicos_model',1,2247)
+LexToken(OPENBRACKET,'(',1,2259)
+LexToken(CLOSEBRACKET,')',1,2260)
+LexToken(EOL,'\n',1,2261)
+LexToken(VAR,'function_name',1,2270)
+LexToken(ASSIGNMENT,'=',1,2283)
+LexToken(DQSTRING,'"root_coef"',1,2294)
+LexToken(SEMICOLON,';',1,2295)
+LexToken(EOL,'\n',1,2296)
+LexToken(VAR,'funtyp',1,2305)
+LexToken(ASSIGNMENT,'=',1,2311)
+LexToken(NUMBER,'4',1,2312)
+LexToken(SEMICOLON,';',1,2313)
+LexToken(EOL,'\n',1,2314)
+LexToken(VAR,'model',1,2323)
+LexToken(DOT,'.',1,2328)
+LexToken(VAR,'sim',1,2329)
+LexToken(ASSIGNMENT,'=',1,2332)
+LexToken(VAR,'list',1,2333)
+LexToken(OPENBRACKET,'(',1,2337)
+LexToken(VAR,'function_name',1,2338)
+LexToken(COMMA,',',1,2351)
+LexToken(VAR,'funtyp',1,2352)
+LexToken(CLOSEBRACKET,')',1,2358)
+LexToken(EOL,'\n',1,2359)
+LexToken(EOL,'\n',1,2360)
+LexToken(VAR,'model',1,2369)
+LexToken(DOT,'.',1,2374)
+LexToken(VAR,'in',1,2375)
+LexToken(ASSIGNMENT,'=',1,2377)
+LexToken(NUMBER,'-1',1,2378)
+LexToken(EOL,'\n',1,2380)
+LexToken(VAR,'model',1,2389)
+LexToken(DOT,'.',1,2394)
+LexToken(VAR,'in2',1,2395)
+LexToken(ASSIGNMENT,'=',1,2398)
+LexToken(NUMBER,'1',1,2399)
+LexToken(EOL,'\n',1,2400)
+LexToken(VAR,'model',1,2409)
+LexToken(DOT,'.',1,2414)
+LexToken(VAR,'intyp',1,2415)
+LexToken(ASSIGNMENT,'=',1,2420)
+LexToken(NUMBER,'1',1,2421)
+LexToken(EOL,'\n',1,2422)
+LexToken(VAR,'model',1,2431)
+LexToken(DOT,'.',1,2436)
+LexToken(VAR,'out',1,2437)
+LexToken(ASSIGNMENT,'=',1,2440)
+LexToken(NUMBER,'-2',1,2441)
+LexToken(EOL,'\n',1,2443)
+LexToken(VAR,'model',1,2452)
+LexToken(DOT,'.',1,2457)
+LexToken(VAR,'out2',1,2458)
+LexToken(ASSIGNMENT,'=',1,2462)
+LexToken(NUMBER,'1',1,2463)
+LexToken(EOL,'\n',1,2464)
+LexToken(VAR,'model',1,2473)
+LexToken(DOT,'.',1,2478)
+LexToken(VAR,'outtyp',1,2479)
+LexToken(ASSIGNMENT,'=',1,2485)
+LexToken(NUMBER,'1',1,2486)
+LexToken(EOL,'\n',1,2487)
+LexToken(VAR,'model',1,2496)
+LexToken(DOT,'.',1,2501)
+LexToken(VAR,'evtin',1,2502)
+LexToken(ASSIGNMENT,'=',1,2507)
+LexToken(OPENSQBRACKET,'[',1,2508)
+LexToken(CLOSESQBRACKET,']',1,2509)
+LexToken(EOL,'\n',1,2510)
+LexToken(VAR,'model',1,2519)
+LexToken(DOT,'.',1,2524)
+LexToken(VAR,'evtout',1,2525)
+LexToken(ASSIGNMENT,'=',1,2531)
+LexToken(OPENSQBRACKET,'[',1,2532)
+LexToken(CLOSESQBRACKET,']',1,2533)
+LexToken(EOL,'\n',1,2534)
+LexToken(VAR,'model',1,2543)
+LexToken(DOT,'.',1,2548)
+LexToken(VAR,'state',1,2549)
+LexToken(ASSIGNMENT,'=',1,2554)
+LexToken(OPENSQBRACKET,'[',1,2555)
+LexToken(CLOSESQBRACKET,']',1,2556)
+LexToken(EOL,'\n',1,2557)
+LexToken(VAR,'model',1,2566)
+LexToken(DOT,'.',1,2571)
+LexToken(VAR,'dstate',1,2572)
+LexToken(ASSIGNMENT,'=',1,2578)
+LexToken(OPENSQBRACKET,'[',1,2579)
+LexToken(CLOSESQBRACKET,']',1,2580)
+LexToken(EOL,'\n',1,2581)
+LexToken(VAR,'model',1,2590)
+LexToken(DOT,'.',1,2595)
+LexToken(VAR,'rpar',1,2596)
+LexToken(ASSIGNMENT,'=',1,2600)
+LexToken(OPENSQBRACKET,'[',1,2601)
+LexToken(CLOSESQBRACKET,']',1,2602)
+LexToken(EOL,'\n',1,2603)
+LexToken(VAR,'model',1,2612)
+LexToken(DOT,'.',1,2617)
+LexToken(VAR,'ipar',1,2618)
+LexToken(ASSIGNMENT,'=',1,2622)
+LexToken(OPENSQBRACKET,'[',1,2623)
+LexToken(CLOSESQBRACKET,']',1,2624)
+LexToken(EOL,'\n',1,2625)
+LexToken(VAR,'model',1,2634)
+LexToken(DOT,'.',1,2639)
+LexToken(VAR,'blocktype',1,2640)
+LexToken(ASSIGNMENT,'=',1,2649)
+LexToken(DQSTRING,'"c"',1,2652)
+LexToken(EOL,'\n',1,2653)
+LexToken(VAR,'model',1,2662)
+LexToken(DOT,'.',1,2667)
+LexToken(VAR,'firing',1,2668)
+LexToken(ASSIGNMENT,'=',1,2674)
+LexToken(OPENSQBRACKET,'[',1,2675)
+LexToken(CLOSESQBRACKET,']',1,2676)
+LexToken(EOL,'\n',1,2677)
+LexToken(VAR,'model',1,2686)
+LexToken(DOT,'.',1,2691)
+LexToken(VAR,'dep_ut',1,2692)
+LexToken(ASSIGNMENT,'=',1,2698)
+LexToken(OPENSQBRACKET,'[',1,2699)
+LexToken(PREVAR_BOOLEAN,'%t',1,2700)
+LexToken(PREVAR_BOOLEAN,'%f',1,2703)
+LexToken(CLOSESQBRACKET,']',1,2705)
+LexToken(EOL,'\n',1,2706)
+LexToken(VAR,'label',1,2715)
+LexToken(ASSIGNMENT,'=',1,2720)
+LexToken(OPENSQBRACKET,'[',1,2721)
+LexToken(VAR,'sci2exp',1,2722)
+LexToken(OPENBRACKET,'(',1,2729)
+LexToken(NUMBER,'1',1,2730)
+LexToken(CLOSEBRACKET,')',1,2731)
+LexToken(SEMICOLON,';',1,2732)
+LexToken(VAR,'sci2exp',1,2733)
+LexToken(OPENBRACKET,'(',1,2740)
+LexToken(NUMBER,'1',1,2741)
+LexToken(CLOSEBRACKET,')',1,2742)
+LexToken(CLOSESQBRACKET,']',1,2743)
+LexToken(SEMICOLON,';',1,2744)
+LexToken(EOL,'\n',1,2745)
+LexToken(VAR,'gr_i',1,2754)
+LexToken(ASSIGNMENT,'=',1,2758)
+LexToken(OPENSQBRACKET,'[',1,2759)
+LexToken(CLOSESQBRACKET,']',1,2760)
+LexToken(EOL,'\n',1,2761)
+LexToken(VAR,'x',1,2770)
+LexToken(ASSIGNMENT,'=',1,2771)
+LexToken(VAR,'standard_define',1,2772)
+LexToken(OPENBRACKET,'(',1,2787)
+LexToken(OPENSQBRACKET,'[',1,2788)
+LexToken(NUMBER,'3',1,2789)
+LexToken(NUMBER,'2',1,2791)
+LexToken(CLOSESQBRACKET,']',1,2792)
+LexToken(COMMA,',',1,2793)
+LexToken(VAR,'model',1,2794)
+LexToken(COMMA,',',1,2799)
+LexToken(VAR,'label',1,2800)
+LexToken(COMMA,',',1,2805)
+LexToken(VAR,'gr_i',1,2806)
+LexToken(CLOSEBRACKET,')',1,2810)
+LexToken(EOL,'\n',1,2811)
+LexToken(END,'end',1,2816)
+LexToken(EOL,'\n',1,2819)
+LexToken(ENDFUNCTION,'endfunction',1,2820)
+LexToken(EOL,'\n',1,2831)
+LexToken(EOL,'\n',1,2832)
diff --git a/js/MatrixOp/SQRT.js b/js/MatrixOp/SQRT.js
new file mode 100644
index 00000000..6c60d5a6
--- /dev/null
+++ b/js/MatrixOp/SQRT.js
@@ -0,0 +1,397 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'SQRT',1,852)
+LexToken(OPENBRACKET,'(',1,856)
+LexToken(VAR,'job',1,857)
+LexToken(COMMA,',',1,860)
+LexToken(VAR,'arg1',1,861)
+LexToken(COMMA,',',1,865)
+LexToken(VAR,'arg2',1,866)
+LexToken(CLOSEBRACKET,')',1,870)
+LexToken(EOL,'\n',1,871)
+LexToken(EOL,'\n',1,878)
+LexToken(VAR,'x',1,883)
+LexToken(ASSIGNMENT,'=',1,884)
+LexToken(OPENSQBRACKET,'[',1,885)
+LexToken(CLOSESQBRACKET,']',1,886)
+LexToken(SEMICOLON,';',1,887)
+LexToken(EOL,'\n',1,888)
+LexToken(VAR,'y',1,893)
+LexToken(ASSIGNMENT,'=',1,894)
+LexToken(OPENSQBRACKET,'[',1,895)
+LexToken(CLOSESQBRACKET,']',1,896)
+LexToken(SEMICOLON,';',1,897)
+LexToken(EOL,'\n',1,898)
+LexToken(VAR,'typ',1,903)
+LexToken(ASSIGNMENT,'=',1,906)
+LexToken(OPENSQBRACKET,'[',1,907)
+LexToken(CLOSESQBRACKET,']',1,908)
+LexToken(SEMICOLON,';',1,909)
+LexToken(EOL,'\n',1,910)
+LexToken(SELECT,'select',1,915)
+LexToken(VAR,'job',1,922)
+LexToken(EOL,'\n',1,925)
+LexToken(CASE,'case',1,930)
+LexToken(DQSTRING,'"set"',1,939)
+LexToken(THEN,'then',1,941)
+LexToken(EOL,'\n',1,945)
+LexToken(VAR,'x',1,954)
+LexToken(ASSIGNMENT,'=',1,955)
+LexToken(VAR,'arg1',1,956)
+LexToken(EOL,'\n',1,960)
+LexToken(VAR,'graphics',1,969)
+LexToken(ASSIGNMENT,'=',1,977)
+LexToken(VAR,'arg1',1,978)
+LexToken(DOT,'.',1,982)
+LexToken(VAR,'graphics',1,983)
+LexToken(SEMICOLON,';',1,991)
+LexToken(EOL,'\n',1,992)
+LexToken(VAR,'label',1,1001)
+LexToken(ASSIGNMENT,'=',1,1006)
+LexToken(VAR,'graphics',1,1007)
+LexToken(DOT,'.',1,1015)
+LexToken(VAR,'exprs',1,1016)
+LexToken(EOL,'\n',1,1021)
+LexToken(VAR,'model',1,1030)
+LexToken(ASSIGNMENT,'=',1,1035)
+LexToken(VAR,'arg1',1,1036)
+LexToken(DOT,'.',1,1040)
+LexToken(VAR,'model',1,1041)
+LexToken(SEMICOLON,';',1,1046)
+LexToken(EOL,'\n',1,1047)
+LexToken(WHILE,'while',1,1056)
+LexToken(PREVAR_BOOLEAN,'%t',1,1062)
+LexToken(DO,'do',1,1065)
+LexToken(EOL,'\n',1,1067)
+LexToken(OPENSQBRACKET,'[',1,1080)
+LexToken(VAR,'ok',1,1081)
+LexToken(COMMA,',',1,1083)
+LexToken(VAR,'typ',1,1084)
+LexToken(COMMA,',',1,1087)
+LexToken(VAR,'exprs',1,1088)
+LexToken(CLOSESQBRACKET,']',1,1093)
+LexToken(ASSIGNMENT,'=',1,1094)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1095)
+LexToken(OPENBRACKET,'(',1,1110)
+LexToken(DQSTRING,'"Set SQRT Block"',1,1126)
+LexToken(COMMA,',',1,1127)
+LexToken(OPENSQBRACKET,'[',1,1143)
+LexToken(DQSTRING,'"Datatype(1=real double 2=Complex)"',1,1179)
+LexToken(CLOSESQBRACKET,']',1,1180)
+LexToken(COMMA,',',1,1181)
+LexToken(VAR,'list',1,1182)
+LexToken(OPENBRACKET,'(',1,1186)
+LexToken(DQSTRING,'"vec"',1,1191)
+LexToken(COMMA,',',1,1192)
+LexToken(NUMBER,'1',1,1193)
+LexToken(CLOSEBRACKET,')',1,1194)
+LexToken(COMMA,',',1,1195)
+LexToken(VAR,'label',1,1196)
+LexToken(CLOSEBRACKET,')',1,1201)
+LexToken(EOL,'\n',1,1202)
+LexToken(IF,'if',1,1215)
+LexToken(NOT,'~',1,1218)
+LexToken(VAR,'ok',1,1219)
+LexToken(THEN,'then',1,1222)
+LexToken(EOL,'\n',1,1226)
+LexToken(BREAK,'break',1,1243)
+LexToken(COMMA,',',1,1248)
+LexToken(EOL,'\n',1,1249)
+LexToken(END,'end',1,1262)
+LexToken(EOL,'\n',1,1265)
+LexToken(IF,'if',1,1278)
+LexToken(OPENBRACKET,'(',1,1281)
+LexToken(VAR,'typ',1,1282)
+LexToken(COMPARISON,'==',1,1285)
+LexToken(NUMBER,'1',1,1287)
+LexToken(CLOSEBRACKET,')',1,1288)
+LexToken(THEN,'then',1,1290)
+LexToken(EOL,'\n',1,1294)
+LexToken(VAR,'function_name',1,1311)
+LexToken(ASSIGNMENT,'=',1,1324)
+LexToken(DQSTRING,'"mat_sqrt"',1,1334)
+LexToken(SEMICOLON,';',1,1335)
+LexToken(EOL,'\n',1,1336)
+LexToken(ELSEIF,'elseif',1,1349)
+LexToken(OPENBRACKET,'(',1,1356)
+LexToken(VAR,'typ',1,1357)
+LexToken(COMPARISON,'==',1,1360)
+LexToken(NUMBER,'2',1,1362)
+LexToken(CLOSEBRACKET,')',1,1363)
+LexToken(THEN,'then',1,1365)
+LexToken(EOL,'\n',1,1369)
+LexToken(VAR,'function_name',1,1386)
+LexToken(ASSIGNMENT,'=',1,1399)
+LexToken(DQSTRING,'"matz_sqrt"',1,1410)
+LexToken(SEMICOLON,';',1,1411)
+LexToken(EOL,'\n',1,1412)
+LexToken(ELSE,'else',1,1425)
+LexToken(EOL,'\n',1,1429)
+LexToken(VAR,'message',1,1446)
+LexToken(OPENBRACKET,'(',1,1453)
+LexToken(DQSTRING,'"type is not supported"',1,1476)
+LexToken(CLOSEBRACKET,')',1,1477)
+LexToken(SEMICOLON,';',1,1478)
+LexToken(EOL,'\n',1,1479)
+LexToken(VAR,'ok',1,1496)
+LexToken(ASSIGNMENT,'=',1,1498)
+LexToken(PREVAR_BOOLEAN,'%f',1,1499)
+LexToken(SEMICOLON,';',1,1501)
+LexToken(EOL,'\n',1,1502)
+LexToken(END,'end',1,1515)
+LexToken(EOL,'\n',1,1518)
+LexToken(VAR,'it',1,1531)
+LexToken(ASSIGNMENT,'=',1,1533)
+LexToken(VAR,'typ',1,1534)
+LexToken(EOL,'\n',1,1537)
+LexToken(VAR,'ot',1,1550)
+LexToken(ASSIGNMENT,'=',1,1552)
+LexToken(VAR,'typ',1,1553)
+LexToken(EOL,'\n',1,1556)
+LexToken(VAR,'in',1,1569)
+LexToken(ASSIGNMENT,'=',1,1571)
+LexToken(OPENSQBRACKET,'[',1,1572)
+LexToken(VAR,'model',1,1573)
+LexToken(DOT,'.',1,1578)
+LexToken(VAR,'in',1,1579)
+LexToken(VAR,'model',1,1582)
+LexToken(DOT,'.',1,1587)
+LexToken(VAR,'in2',1,1588)
+LexToken(CLOSESQBRACKET,']',1,1591)
+LexToken(SEMICOLON,';',1,1592)
+LexToken(EOL,'\n',1,1593)
+LexToken(VAR,'out',1,1606)
+LexToken(ASSIGNMENT,'=',1,1609)
+LexToken(OPENSQBRACKET,'[',1,1610)
+LexToken(VAR,'model',1,1611)
+LexToken(DOT,'.',1,1616)
+LexToken(VAR,'out',1,1617)
+LexToken(VAR,'model',1,1621)
+LexToken(DOT,'.',1,1626)
+LexToken(VAR,'out2',1,1627)
+LexToken(CLOSESQBRACKET,']',1,1631)
+LexToken(SEMICOLON,';',1,1632)
+LexToken(EOL,'\n',1,1633)
+LexToken(VAR,'funtyp',1,1646)
+LexToken(ASSIGNMENT,'=',1,1652)
+LexToken(NUMBER,'4',1,1653)
+LexToken(SEMICOLON,';',1,1654)
+LexToken(EOL,'\n',1,1655)
+LexToken(IF,'if',1,1668)
+LexToken(VAR,'ok',1,1671)
+LexToken(THEN,'then',1,1674)
+LexToken(EOL,'\n',1,1678)
+LexToken(VAR,'label',1,1695)
+LexToken(ASSIGNMENT,'=',1,1700)
+LexToken(VAR,'exprs',1,1701)
+LexToken(SEMICOLON,';',1,1706)
+LexToken(EOL,'\n',1,1707)
+LexToken(OPENSQBRACKET,'[',1,1724)
+LexToken(VAR,'model',1,1725)
+LexToken(COMMA,',',1,1730)
+LexToken(VAR,'graphics',1,1731)
+LexToken(COMMA,',',1,1739)
+LexToken(VAR,'ok',1,1740)
+LexToken(CLOSESQBRACKET,']',1,1742)
+LexToken(ASSIGNMENT,'=',1,1743)
+LexToken(VAR,'set_io',1,1744)
+LexToken(OPENBRACKET,'(',1,1750)
+LexToken(VAR,'model',1,1751)
+LexToken(COMMA,',',1,1756)
+LexToken(VAR,'graphics',1,1757)
+LexToken(COMMA,',',1,1765)
+LexToken(VAR,'list',1,1766)
+LexToken(OPENBRACKET,'(',1,1770)
+LexToken(VAR,'in',1,1771)
+LexToken(COMMA,',',1,1773)
+LexToken(VAR,'it',1,1774)
+LexToken(CLOSEBRACKET,')',1,1776)
+LexToken(COMMA,',',1,1777)
+LexToken(VAR,'list',1,1778)
+LexToken(OPENBRACKET,'(',1,1782)
+LexToken(VAR,'out',1,1783)
+LexToken(COMMA,',',1,1786)
+LexToken(VAR,'ot',1,1787)
+LexToken(CLOSEBRACKET,')',1,1789)
+LexToken(COMMA,',',1,1790)
+LexToken(OPENSQBRACKET,'[',1,1791)
+LexToken(CLOSESQBRACKET,']',1,1792)
+LexToken(COMMA,',',1,1793)
+LexToken(OPENSQBRACKET,'[',1,1794)
+LexToken(CLOSESQBRACKET,']',1,1795)
+LexToken(CLOSEBRACKET,')',1,1796)
+LexToken(EOL,'\n',1,1797)
+LexToken(VAR,'model',1,1814)
+LexToken(DOT,'.',1,1819)
+LexToken(VAR,'sim',1,1820)
+LexToken(ASSIGNMENT,'=',1,1823)
+LexToken(VAR,'list',1,1824)
+LexToken(OPENBRACKET,'(',1,1828)
+LexToken(VAR,'function_name',1,1829)
+LexToken(COMMA,',',1,1842)
+LexToken(VAR,'funtyp',1,1843)
+LexToken(CLOSEBRACKET,')',1,1849)
+LexToken(SEMICOLON,';',1,1850)
+LexToken(EOL,'\n',1,1851)
+LexToken(VAR,'graphics',1,1868)
+LexToken(DOT,'.',1,1876)
+LexToken(VAR,'exprs',1,1877)
+LexToken(ASSIGNMENT,'=',1,1882)
+LexToken(VAR,'label',1,1883)
+LexToken(SEMICOLON,';',1,1888)
+LexToken(EOL,'\n',1,1889)
+LexToken(VAR,'arg1',1,1906)
+LexToken(DOT,'.',1,1910)
+LexToken(VAR,'graphics',1,1911)
+LexToken(ASSIGNMENT,'=',1,1919)
+LexToken(VAR,'graphics',1,1920)
+LexToken(SEMICOLON,';',1,1928)
+LexToken(EOL,'\n',1,1929)
+LexToken(VAR,'arg1',1,1946)
+LexToken(DOT,'.',1,1950)
+LexToken(VAR,'model',1,1951)
+LexToken(ASSIGNMENT,'=',1,1956)
+LexToken(VAR,'model',1,1957)
+LexToken(SEMICOLON,';',1,1962)
+LexToken(EOL,'\n',1,1963)
+LexToken(VAR,'x',1,1980)
+LexToken(ASSIGNMENT,'=',1,1981)
+LexToken(VAR,'arg1',1,1982)
+LexToken(EOL,'\n',1,1986)
+LexToken(BREAK,'break',1,2003)
+LexToken(EOL,'\n',1,2008)
+LexToken(END,'end',1,2021)
+LexToken(EOL,'\n',1,2024)
+LexToken(END,'end',1,2033)
+LexToken(EOL,'\n',1,2036)
+LexToken(CASE,'case',1,2041)
+LexToken(DQSTRING,'"define"',1,2053)
+LexToken(THEN,'then',1,2055)
+LexToken(EOL,'\n',1,2059)
+LexToken(VAR,'model',1,2068)
+LexToken(ASSIGNMENT,'=',1,2073)
+LexToken(SCICOS_MODEL,'scicos_model',1,2074)
+LexToken(OPENBRACKET,'(',1,2086)
+LexToken(CLOSEBRACKET,')',1,2087)
+LexToken(EOL,'\n',1,2088)
+LexToken(VAR,'model',1,2097)
+LexToken(DOT,'.',1,2102)
+LexToken(VAR,'sim',1,2103)
+LexToken(ASSIGNMENT,'=',1,2106)
+LexToken(VAR,'list',1,2107)
+LexToken(OPENBRACKET,'(',1,2111)
+LexToken(DQSTRING,'"mat_sqrt"',1,2121)
+LexToken(COMMA,',',1,2122)
+LexToken(NUMBER,'4',1,2123)
+LexToken(CLOSEBRACKET,')',1,2124)
+LexToken(EOL,'\n',1,2125)
+LexToken(EOL,'\n',1,2126)
+LexToken(VAR,'model',1,2135)
+LexToken(DOT,'.',1,2140)
+LexToken(VAR,'in',1,2141)
+LexToken(ASSIGNMENT,'=',1,2143)
+LexToken(NUMBER,'-1',1,2144)
+LexToken(EOL,'\n',1,2146)
+LexToken(VAR,'model',1,2155)
+LexToken(DOT,'.',1,2160)
+LexToken(VAR,'in2',1,2161)
+LexToken(ASSIGNMENT,'=',1,2164)
+LexToken(NUMBER,'-2',1,2165)
+LexToken(EOL,'\n',1,2167)
+LexToken(VAR,'model',1,2176)
+LexToken(DOT,'.',1,2181)
+LexToken(VAR,'intyp',1,2182)
+LexToken(ASSIGNMENT,'=',1,2187)
+LexToken(NUMBER,'1',1,2188)
+LexToken(EOL,'\n',1,2189)
+LexToken(VAR,'model',1,2198)
+LexToken(DOT,'.',1,2203)
+LexToken(VAR,'outtyp',1,2204)
+LexToken(ASSIGNMENT,'=',1,2210)
+LexToken(NUMBER,'1',1,2211)
+LexToken(EOL,'\n',1,2212)
+LexToken(VAR,'model',1,2221)
+LexToken(DOT,'.',1,2226)
+LexToken(VAR,'out',1,2227)
+LexToken(ASSIGNMENT,'=',1,2230)
+LexToken(NUMBER,'-1',1,2231)
+LexToken(EOL,'\n',1,2233)
+LexToken(VAR,'model',1,2242)
+LexToken(DOT,'.',1,2247)
+LexToken(VAR,'out2',1,2248)
+LexToken(ASSIGNMENT,'=',1,2252)
+LexToken(NUMBER,'-2',1,2253)
+LexToken(EOL,'\n',1,2255)
+LexToken(VAR,'model',1,2264)
+LexToken(DOT,'.',1,2269)
+LexToken(VAR,'dep_ut',1,2270)
+LexToken(ASSIGNMENT,'=',1,2276)
+LexToken(OPENSQBRACKET,'[',1,2277)
+LexToken(PREVAR_BOOLEAN,'%t',1,2278)
+LexToken(PREVAR_BOOLEAN,'%f',1,2281)
+LexToken(CLOSESQBRACKET,']',1,2283)
+LexToken(EOL,'\n',1,2284)
+LexToken(EOL,'\n',1,2285)
+LexToken(VAR,'label',1,2294)
+LexToken(ASSIGNMENT,'=',1,2299)
+LexToken(OPENSQBRACKET,'[',1,2300)
+LexToken(VAR,'sci2exp',1,2301)
+LexToken(OPENBRACKET,'(',1,2308)
+LexToken(NUMBER,'1',1,2309)
+LexToken(CLOSEBRACKET,')',1,2310)
+LexToken(CLOSESQBRACKET,']',1,2311)
+LexToken(EOL,'\n',1,2312)
+LexToken(VAR,'gr_i',1,2321)
+LexToken(ASSIGNMENT,'=',1,2325)
+LexToken(OPENSQBRACKET,'[',1,2326)
+LexToken(CLOSESQBRACKET,']',1,2327)
+LexToken(EOL,'\n',1,2328)
+LexToken(VAR,'x',1,2337)
+LexToken(ASSIGNMENT,'=',1,2338)
+LexToken(VAR,'standard_define',1,2339)
+LexToken(OPENBRACKET,'(',1,2354)
+LexToken(OPENSQBRACKET,'[',1,2355)
+LexToken(NUMBER,'2',1,2356)
+LexToken(NUMBER,'2',1,2358)
+LexToken(CLOSESQBRACKET,']',1,2359)
+LexToken(COMMA,',',1,2360)
+LexToken(VAR,'model',1,2361)
+LexToken(COMMA,',',1,2366)
+LexToken(VAR,'label',1,2367)
+LexToken(COMMA,',',1,2372)
+LexToken(VAR,'gr_i',1,2373)
+LexToken(CLOSEBRACKET,')',1,2377)
+LexToken(EOL,'\n',1,2378)
+LexToken(END,'end',1,2383)
+LexToken(EOL,'\n',1,2386)
+LexToken(ENDFUNCTION,'endfunction',1,2387)
+LexToken(EOL,'\n',1,2398)
+LexToken(EOL,'\n',1,2399)
diff --git a/js/MatrixOp/SUBMAT.js b/js/MatrixOp/SUBMAT.js
new file mode 100644
index 00000000..8f84642f
--- /dev/null
+++ b/js/MatrixOp/SUBMAT.js
@@ -0,0 +1,716 @@
+LexToken(EOL,'\n',1,10)
+LexToken(EOL,'\n',1,13)
+LexToken(EOL,'\n',1,73)
+LexToken(EOL,'\n',1,76)
+LexToken(EOL,'\n',1,148)
+LexToken(EOL,'\n',1,220)
+LexToken(EOL,'\n',1,289)
+LexToken(EOL,'\n',1,328)
+LexToken(EOL,'\n',1,331)
+LexToken(EOL,'\n',1,398)
+LexToken(EOL,'\n',1,464)
+LexToken(EOL,'\n',1,529)
+LexToken(EOL,'\n',1,577)
+LexToken(EOL,'\n',1,580)
+LexToken(EOL,'\n',1,649)
+LexToken(EOL,'\n',1,712)
+LexToken(EOL,'\n',1,794)
+LexToken(EOL,'\n',1,797)
+LexToken(EOL,'\n',1,828)
+LexToken(EOL,'\n',1,831)
+LexToken(EOL,'\n',1,832)
+LexToken(FUNCTION,'function',1,833)
+LexToken(OPENSQBRACKET,'[',1,842)
+LexToken(VAR,'x',1,843)
+LexToken(COMMA,',',1,844)
+LexToken(VAR,'y',1,845)
+LexToken(COMMA,',',1,846)
+LexToken(VAR,'typ',1,847)
+LexToken(CLOSESQBRACKET,']',1,850)
+LexToken(ASSIGNMENT,'=',1,851)
+LexToken(VAR,'SUBMAT',1,852)
+LexToken(OPENBRACKET,'(',1,858)
+LexToken(VAR,'job',1,859)
+LexToken(COMMA,',',1,862)
+LexToken(VAR,'arg1',1,863)
+LexToken(COMMA,',',1,867)
+LexToken(VAR,'arg2',1,868)
+LexToken(CLOSEBRACKET,')',1,872)
+LexToken(EOL,'\n',1,873)
+LexToken(EOL,'\n',1,880)
+LexToken(VAR,'x',1,885)
+LexToken(ASSIGNMENT,'=',1,886)
+LexToken(OPENSQBRACKET,'[',1,887)
+LexToken(CLOSESQBRACKET,']',1,888)
+LexToken(SEMICOLON,';',1,889)
+LexToken(EOL,'\n',1,890)
+LexToken(VAR,'y',1,895)
+LexToken(ASSIGNMENT,'=',1,896)
+LexToken(OPENSQBRACKET,'[',1,897)
+LexToken(CLOSESQBRACKET,']',1,898)
+LexToken(SEMICOLON,';',1,899)
+LexToken(EOL,'\n',1,900)
+LexToken(VAR,'typ',1,905)
+LexToken(ASSIGNMENT,'=',1,908)
+LexToken(OPENSQBRACKET,'[',1,909)
+LexToken(CLOSESQBRACKET,']',1,910)
+LexToken(SEMICOLON,';',1,911)
+LexToken(EOL,'\n',1,912)
+LexToken(SELECT,'select',1,917)
+LexToken(VAR,'job',1,924)
+LexToken(EOL,'\n',1,927)
+LexToken(CASE,'case',1,932)
+LexToken(DQSTRING,'"set"',1,941)
+LexToken(THEN,'then',1,943)
+LexToken(EOL,'\n',1,947)
+LexToken(VAR,'x',1,956)
+LexToken(ASSIGNMENT,'=',1,957)
+LexToken(VAR,'arg1',1,958)
+LexToken(EOL,'\n',1,962)
+LexToken(VAR,'graphics',1,971)
+LexToken(ASSIGNMENT,'=',1,979)
+LexToken(VAR,'arg1',1,980)
+LexToken(DOT,'.',1,984)
+LexToken(VAR,'graphics',1,985)
+LexToken(SEMICOLON,';',1,993)
+LexToken(EOL,'\n',1,994)
+LexToken(VAR,'label',1,1003)
+LexToken(ASSIGNMENT,'=',1,1008)
+LexToken(VAR,'graphics',1,1009)
+LexToken(DOT,'.',1,1017)
+LexToken(VAR,'exprs',1,1018)
+LexToken(EOL,'\n',1,1023)
+LexToken(VAR,'model',1,1032)
+LexToken(ASSIGNMENT,'=',1,1037)
+LexToken(VAR,'arg1',1,1038)
+LexToken(DOT,'.',1,1042)
+LexToken(VAR,'model',1,1043)
+LexToken(SEMICOLON,';',1,1048)
+LexToken(EOL,'\n',1,1049)
+LexToken(EOL,'\n',1,1105)
+LexToken(IF,'if',1,1114)
+LexToken(VAR,'size',1,1117)
+LexToken(OPENBRACKET,'(',1,1121)
+LexToken(VAR,'label',1,1122)
+LexToken(COMMA,',',1,1127)
+LexToken(DQSTRING,'"*"',1,1130)
+LexToken(CLOSEBRACKET,')',1,1131)
+LexToken(COMPARISON,'==',1,1132)
+LexToken(NUMBER,'5',1,1134)
+LexToken(THEN,'then',1,1136)
+LexToken(EOL,'\n',1,1140)
+LexToken(VAR,'label',1,1153)
+LexToken(OPENBRACKET,'(',1,1158)
+LexToken(NUMBER,'6',1,1159)
+LexToken(CLOSEBRACKET,')',1,1160)
+LexToken(ASSIGNMENT,'=',1,1161)
+LexToken(VAR,'sci2exp',1,1162)
+LexToken(OPENBRACKET,'(',1,1169)
+LexToken(OPENSQBRACKET,'[',1,1170)
+LexToken(NUMBER,'1',1,1171)
+LexToken(NUMBER,'1',1,1173)
+LexToken(CLOSESQBRACKET,']',1,1174)
+LexToken(CLOSEBRACKET,')',1,1175)
+LexToken(COMMA,',',1,1176)
+LexToken(EOL,'\n',1,1177)
+LexToken(END,'end',1,1186)
+LexToken(EOL,'\n',1,1204)
+LexToken(WHILE,'while',1,1213)
+LexToken(PREVAR_BOOLEAN,'%t',1,1219)
+LexToken(DO,'do',1,1222)
+LexToken(EOL,'\n',1,1224)
+LexToken(OPENSQBRACKET,'[',1,1237)
+LexToken(VAR,'ok',1,1238)
+LexToken(COMMA,',',1,1240)
+LexToken(VAR,'typ',1,1241)
+LexToken(COMMA,',',1,1244)
+LexToken(VAR,'a',1,1245)
+LexToken(COMMA,',',1,1246)
+LexToken(VAR,'b',1,1247)
+LexToken(COMMA,',',1,1248)
+LexToken(VAR,'c',1,1249)
+LexToken(COMMA,',',1,1250)
+LexToken(VAR,'d',1,1251)
+LexToken(COMMA,',',1,1252)
+LexToken(VAR,'inp',1,1253)
+LexToken(COMMA,',',1,1256)
+LexToken(VAR,'exprs',1,1257)
+LexToken(CLOSESQBRACKET,']',1,1262)
+LexToken(ASSIGNMENT,'=',1,1263)
+LexToken(SCICOS_GETVALUE,'scicos_getvalue',1,1264)
+LexToken(OPENBRACKET,'(',1,1279)
+LexToken(DQSTRING,'"Set SUBMAT Block"',1,1297)
+LexToken(COMMA,',',1,1298)
+LexToken(OPENSQBRACKET,'[',1,1314)
+LexToken(DQSTRING,'"Datatype (1=real double 2=Complex)"',1,1351)
+LexToken(SEMICOLON,';',1,1352)
+LexToken(DQSTRING,'"Starting Row Index"',1,1372)
+LexToken(SEMICOLON,';',1,1373)
+LexToken(DQSTRING,'"Ending Row Index"',1,1391)
+LexToken(SEMICOLON,';',1,1392)
+LexToken(DQSTRING,'"Starting Column Index"',1,1415)
+LexToken(SEMICOLON,';',1,1416)
+LexToken(DQSTRING,'"Ending Column Index"',1,1437)
+LexToken(SEMICOLON,';',1,1438)
+LexToken(DQSTRING,'"Input Dimensions"',1,1456)
+LexToken(CLOSESQBRACKET,']',1,1457)
+LexToken(COMMA,',',1,1458)
+LexToken(VAR,'list',1,1459)
+LexToken(OPENBRACKET,'(',1,1463)
+LexToken(DQSTRING,'"vec"',1,1468)
+LexToken(COMMA,',',1,1469)
+LexToken(NUMBER,'1',1,1470)
+LexToken(COMMA,',',1,1471)
+LexToken(DQSTRING,'"vec"',1,1476)
+LexToken(COMMA,',',1,1477)
+LexToken(NUMBER,'1',1,1478)
+LexToken(COMMA,',',1,1479)
+LexToken(DQSTRING,'"vec"',1,1484)
+LexToken(COMMA,',',1,1485)
+LexToken(NUMBER,'1',1,1486)
+LexToken(COMMA,',',1,1487)
+LexToken(DQSTRING,'"vec"',1,1492)
+LexToken(COMMA,',',1,1493)
+LexToken(NUMBER,'1',1,1494)
+LexToken(COMMA,',',1,1495)
+LexToken(DQSTRING,'"vec"',1,1500)
+LexToken(COMMA,',',1,1501)
+LexToken(NUMBER,'1',1,1502)
+LexToken(COMMA,',',1,1503)
+LexToken(DQSTRING,'"vec"',1,1508)
+LexToken(COMMA,',',1,1509)
+LexToken(NUMBER,'2',1,1510)
+LexToken(CLOSEBRACKET,')',1,1511)
+LexToken(COMMA,',',1,1512)
+LexToken(VAR,'label',1,1513)
+LexToken(CLOSEBRACKET,')',1,1518)
+LexToken(EOL,'\n',1,1519)
+LexToken(IF,'if',1,1532)
+LexToken(NOT,'~',1,1535)
+LexToken(VAR,'ok',1,1536)
+LexToken(THEN,'then',1,1539)
+LexToken(EOL,'\n',1,1543)
+LexToken(BREAK,'break',1,1560)
+LexToken(COMMA,',',1,1565)
+LexToken(EOL,'\n',1,1566)
+LexToken(END,'end',1,1579)
+LexToken(EOL,'\n',1,1582)
+LexToken(IF,'if',1,1595)
+LexToken(OPENBRACKET,'(',1,1598)
+LexToken(VAR,'typ',1,1599)
+LexToken(COMPARISON,'==',1,1602)
+LexToken(NUMBER,'1',1,1604)
+LexToken(CLOSEBRACKET,')',1,1605)
+LexToken(THEN,'then',1,1607)
+LexToken(EOL,'\n',1,1611)
+LexToken(VAR,'function_name',1,1628)
+LexToken(ASSIGNMENT,'=',1,1641)
+LexToken(DQSTRING,'"submat"',1,1649)
+LexToken(SEMICOLON,';',1,1650)
+LexToken(EOL,'\n',1,1651)
+LexToken(VAR,'ot',1,1668)
+LexToken(ASSIGNMENT,'=',1,1670)
+LexToken(NUMBER,'1',1,1671)
+LexToken(SEMICOLON,';',1,1672)
+LexToken(EOL,'\n',1,1673)
+LexToken(VAR,'it',1,1690)
+LexToken(ASSIGNMENT,'=',1,1692)
+LexToken(NUMBER,'1',1,1693)
+LexToken(SEMICOLON,';',1,1694)
+LexToken(EOL,'\n',1,1695)
+LexToken(ELSEIF,'elseif',1,1708)
+LexToken(OPENBRACKET,'(',1,1715)
+LexToken(VAR,'typ',1,1716)
+LexToken(COMPARISON,'==',1,1719)
+LexToken(NUMBER,'2',1,1721)
+LexToken(CLOSEBRACKET,')',1,1722)
+LexToken(THEN,'then',1,1724)
+LexToken(EOL,'\n',1,1728)
+LexToken(VAR,'function_name',1,1745)
+LexToken(ASSIGNMENT,'=',1,1758)
+LexToken(DQSTRING,'"submatz"',1,1767)
+LexToken(SEMICOLON,';',1,1768)
+LexToken(EOL,'\n',1,1769)
+LexToken(VAR,'ot',1,1786)
+LexToken(ASSIGNMENT,'=',1,1788)
+LexToken(NUMBER,'2',1,1789)
+LexToken(SEMICOLON,';',1,1790)
+LexToken(EOL,'\n',1,1791)
+LexToken(VAR,'it',1,1808)
+LexToken(ASSIGNMENT,'=',1,1810)
+LexToken(NUMBER,'2',1,1811)
+LexToken(SEMICOLON,';',1,1812)
+LexToken(EOL,'\n',1,1813)
+LexToken(ELSE,'else',1,1826)
+LexToken(EOL,'\n',1,1830)
+LexToken(VAR,'message',1,1847)
+LexToken(OPENBRACKET,'(',1,1854)
+LexToken(DQSTRING,'"Datatype is not supported"',1,1881)
+LexToken(CLOSEBRACKET,')',1,1882)
+LexToken(SEMICOLON,';',1,1883)
+LexToken(EOL,'\n',1,1884)
+LexToken(VAR,'ok',1,1901)
+LexToken(ASSIGNMENT,'=',1,1903)
+LexToken(PREVAR_BOOLEAN,'%f',1,1904)
+LexToken(SEMICOLON,';',1,1906)
+LexToken(EOL,'\n',1,1907)
+LexToken(END,'end',1,1920)
+LexToken(EOL,'\n',1,1923)
+LexToken(IF,'if',1,1936)
+LexToken(OPENBRACKET,'(',1,1939)
+LexToken(VAR,'a',1,1940)
+LexToken(COMPARISON,'<=',1,1941)
+LexToken(NUMBER,'0',1,1943)
+LexToken(CLOSEBRACKET,')',1,1944)
+LexToken(LOGICAL,'|',1,1946)
+LexToken(OPENBRACKET,'(',1,1948)
+LexToken(VAR,'b',1,1949)
+LexToken(COMPARISON,'<=',1,1950)
+LexToken(NUMBER,'0',1,1952)
+LexToken(CLOSEBRACKET,')',1,1953)
+LexToken(LOGICAL,'|',1,1955)
+LexToken(OPENBRACKET,'(',1,1957)
+LexToken(VAR,'c',1,1958)
+LexToken(COMPARISON,'<=',1,1959)
+LexToken(NUMBER,'0',1,1961)
+LexToken(CLOSEBRACKET,')',1,1962)
+LexToken(LOGICAL,'|',1,1964)
+LexToken(OPENBRACKET,'(',1,1966)
+LexToken(VAR,'d',1,1967)
+LexToken(COMPARISON,'<=',1,1968)
+LexToken(NUMBER,'0',1,1970)
+LexToken(CLOSEBRACKET,')',1,1971)
+LexToken(THEN,'then',1,1973)
+LexToken(EOL,'\n',1,1977)
+LexToken(VAR,'message',1,1994)
+LexToken(OPENBRACKET,'(',1,2001)
+LexToken(DQSTRING,'"invalid index"',1,2016)
+LexToken(CLOSEBRACKET,')',1,2017)
+LexToken(SEMICOLON,';',1,2018)
+LexToken(EOL,'\n',1,2019)
+LexToken(VAR,'ok',1,2036)
+LexToken(ASSIGNMENT,'=',1,2038)
+LexToken(PREVAR_BOOLEAN,'%f',1,2039)
+LexToken(SEMICOLON,';',1,2041)
+LexToken(EOL,'\n',1,2042)
+LexToken(END,'end',1,2055)
+LexToken(EOL,'\n',1,2058)
+LexToken(IF,'if',1,2071)
+LexToken(VAR,'b',1,2074)
+LexToken(COMPARISON,'<',1,2075)
+LexToken(VAR,'a',1,2076)
+LexToken(THEN,'then',1,2078)
+LexToken(EOL,'\n',1,2082)
+LexToken(VAR,'message',1,2099)
+LexToken(OPENBRACKET,'(',1,2106)
+LexToken(DQSTRING,'"ending row must be greater than starting row"',1,2152)
+LexToken(CLOSEBRACKET,')',1,2153)
+LexToken(SEMICOLON,';',1,2154)
+LexToken(EOL,'\n',1,2155)
+LexToken(VAR,'ok',1,2172)
+LexToken(ASSIGNMENT,'=',1,2174)
+LexToken(PREVAR_BOOLEAN,'%f',1,2175)
+LexToken(SEMICOLON,';',1,2177)
+LexToken(EOL,'\n',1,2178)
+LexToken(END,'end',1,2191)
+LexToken(EOL,'\n',1,2194)
+LexToken(IF,'if',1,2207)
+LexToken(VAR,'d',1,2210)
+LexToken(COMPARISON,'<',1,2211)
+LexToken(VAR,'c',1,2212)
+LexToken(THEN,'then',1,2214)
+LexToken(EOL,'\n',1,2218)
+LexToken(VAR,'message',1,2235)
+LexToken(OPENBRACKET,'(',1,2242)
+LexToken(DQSTRING,'"ending column must be greater than starting column"',1,2294)
+LexToken(CLOSEBRACKET,')',1,2295)
+LexToken(SEMICOLON,';',1,2296)
+LexToken(EOL,'\n',1,2297)
+LexToken(VAR,'ok',1,2314)
+LexToken(ASSIGNMENT,'=',1,2316)
+LexToken(PREVAR_BOOLEAN,'%f',1,2317)
+LexToken(SEMICOLON,';',1,2319)
+LexToken(EOL,'\n',1,2320)
+LexToken(END,'end',1,2333)
+LexToken(EOL,'\n',1,2336)
+LexToken(IF,'if',1,2349)
+LexToken(VAR,'b',1,2352)
+LexToken(COMPARISON,'>',1,2353)
+LexToken(VAR,'inp',1,2354)
+LexToken(OPENBRACKET,'(',1,2357)
+LexToken(NUMBER,'1',1,2358)
+LexToken(CLOSEBRACKET,')',1,2359)
+LexToken(THEN,'then',1,2361)
+LexToken(EOL,'\n',1,2365)
+LexToken(VAR,'message',1,2382)
+LexToken(OPENBRACKET,'(',1,2390)
+LexToken(DQSTRING,'"index of ending row is out of range"',1,2427)
+LexToken(CLOSEBRACKET,')',1,2428)
+LexToken(SEMICOLON,';',1,2429)
+LexToken(EOL,'\n',1,2430)
+LexToken(VAR,'ok',1,2447)
+LexToken(ASSIGNMENT,'=',1,2449)
+LexToken(PREVAR_BOOLEAN,'%f',1,2450)
+LexToken(SEMICOLON,';',1,2452)
+LexToken(EOL,'\n',1,2453)
+LexToken(END,'end',1,2466)
+LexToken(EOL,'\n',1,2469)
+LexToken(IF,'if',1,2482)
+LexToken(VAR,'d',1,2485)
+LexToken(COMPARISON,'>',1,2486)
+LexToken(VAR,'inp',1,2487)
+LexToken(OPENBRACKET,'(',1,2490)
+LexToken(NUMBER,'2',1,2491)
+LexToken(CLOSEBRACKET,')',1,2492)
+LexToken(THEN,'then',1,2494)
+LexToken(EOL,'\n',1,2498)
+LexToken(VAR,'message',1,2515)
+LexToken(OPENBRACKET,'(',1,2523)
+LexToken(DQSTRING,'"index of ending column is out of range"',1,2563)
+LexToken(CLOSEBRACKET,')',1,2564)
+LexToken(SEMICOLON,';',1,2565)
+LexToken(EOL,'\n',1,2566)
+LexToken(VAR,'ok',1,2583)
+LexToken(ASSIGNMENT,'=',1,2585)
+LexToken(PREVAR_BOOLEAN,'%f',1,2586)
+LexToken(SEMICOLON,';',1,2588)
+LexToken(EOL,'\n',1,2589)
+LexToken(END,'end',1,2602)
+LexToken(EOL,'\n',1,2605)
+LexToken(VAR,'model',1,2618)
+LexToken(DOT,'.',1,2623)
+LexToken(VAR,'ipar',1,2624)
+LexToken(ASSIGNMENT,'=',1,2628)
+LexToken(OPENSQBRACKET,'[',1,2629)
+LexToken(VAR,'a',1,2630)
+LexToken(SEMICOLON,';',1,2631)
+LexToken(VAR,'b',1,2632)
+LexToken(SEMICOLON,';',1,2633)
+LexToken(VAR,'c',1,2634)
+LexToken(SEMICOLON,';',1,2635)
+LexToken(VAR,'d',1,2636)
+LexToken(CLOSESQBRACKET,']',1,2637)
+LexToken(SEMICOLON,';',1,2638)
+LexToken(EOL,'\n',1,2639)
+LexToken(VAR,'in',1,2652)
+LexToken(ASSIGNMENT,'=',1,2654)
+LexToken(OPENSQBRACKET,'[',1,2655)
+LexToken(VAR,'inp',1,2656)
+LexToken(OPENBRACKET,'(',1,2659)
+LexToken(NUMBER,'1',1,2660)
+LexToken(CLOSEBRACKET,')',1,2661)
+LexToken(VAR,'inp',1,2663)
+LexToken(OPENBRACKET,'(',1,2666)
+LexToken(NUMBER,'2',1,2667)
+LexToken(CLOSEBRACKET,')',1,2668)
+LexToken(CLOSESQBRACKET,']',1,2669)
+LexToken(SEMICOLON,';',1,2670)
+LexToken(EOL,'\n',1,2671)
+LexToken(VAR,'out',1,2684)
+LexToken(ASSIGNMENT,'=',1,2687)
+LexToken(OPENSQBRACKET,'[',1,2688)
+LexToken(OPENBRACKET,'(',1,2689)
+LexToken(VAR,'b',1,2690)
+LexToken(OPERATOR,'-',1,2691)
+LexToken(VAR,'a',1,2692)
+LexToken(CLOSEBRACKET,')',1,2693)
+LexToken(OPERATOR,'+',1,2694)
+LexToken(NUMBER,'1',1,2695)
+LexToken(OPENBRACKET,'(',1,2697)
+LexToken(VAR,'d',1,2698)
+LexToken(OPERATOR,'-',1,2699)
+LexToken(VAR,'c',1,2700)
+LexToken(CLOSEBRACKET,')',1,2701)
+LexToken(OPERATOR,'+',1,2702)
+LexToken(NUMBER,'1',1,2703)
+LexToken(CLOSESQBRACKET,']',1,2704)
+LexToken(SEMICOLON,';',1,2705)
+LexToken(EOL,'\n',1,2706)
+LexToken(VAR,'funtyp',1,2719)
+LexToken(ASSIGNMENT,'=',1,2725)
+LexToken(NUMBER,'4',1,2726)
+LexToken(SEMICOLON,';',1,2727)
+LexToken(EOL,'\n',1,2728)
+LexToken(VAR,'label',1,2741)
+LexToken(ASSIGNMENT,'=',1,2746)
+LexToken(VAR,'exprs',1,2747)
+LexToken(SEMICOLON,';',1,2752)
+LexToken(EOL,'\n',1,2753)
+LexToken(IF,'if',1,2766)
+LexToken(VAR,'ok',1,2769)
+LexToken(THEN,'then',1,2772)
+LexToken(EOL,'\n',1,2776)
+LexToken(EOL,'\n',1,2777)
+LexToken(OPENSQBRACKET,'[',1,2794)
+LexToken(VAR,'model',1,2795)
+LexToken(COMMA,',',1,2800)
+LexToken(VAR,'graphics',1,2801)
+LexToken(COMMA,',',1,2809)
+LexToken(VAR,'ok',1,2810)
+LexToken(CLOSESQBRACKET,']',1,2812)
+LexToken(ASSIGNMENT,'=',1,2813)
+LexToken(VAR,'set_io',1,2814)
+LexToken(OPENBRACKET,'(',1,2820)
+LexToken(VAR,'model',1,2821)
+LexToken(COMMA,',',1,2826)
+LexToken(VAR,'graphics',1,2827)
+LexToken(COMMA,',',1,2835)
+LexToken(VAR,'list',1,2836)
+LexToken(OPENBRACKET,'(',1,2840)
+LexToken(VAR,'in',1,2841)
+LexToken(COMMA,',',1,2843)
+LexToken(VAR,'it',1,2844)
+LexToken(CLOSEBRACKET,')',1,2846)
+LexToken(COMMA,',',1,2847)
+LexToken(VAR,'list',1,2848)
+LexToken(OPENBRACKET,'(',1,2852)
+LexToken(VAR,'out',1,2853)
+LexToken(COMMA,',',1,2856)
+LexToken(VAR,'ot',1,2857)
+LexToken(CLOSEBRACKET,')',1,2859)
+LexToken(COMMA,',',1,2860)
+LexToken(OPENSQBRACKET,'[',1,2861)
+LexToken(CLOSESQBRACKET,']',1,2862)
+LexToken(COMMA,',',1,2863)
+LexToken(OPENSQBRACKET,'[',1,2864)
+LexToken(CLOSESQBRACKET,']',1,2865)
+LexToken(CLOSEBRACKET,')',1,2866)
+LexToken(EOL,'\n',1,2867)
+LexToken(VAR,'model',1,2884)
+LexToken(DOT,'.',1,2889)
+LexToken(VAR,'sim',1,2890)
+LexToken(ASSIGNMENT,'=',1,2893)
+LexToken(VAR,'list',1,2894)
+LexToken(OPENBRACKET,'(',1,2898)
+LexToken(VAR,'function_name',1,2899)
+LexToken(COMMA,',',1,2912)
+LexToken(VAR,'funtyp',1,2913)
+LexToken(CLOSEBRACKET,')',1,2919)
+LexToken(SEMICOLON,';',1,2920)
+LexToken(EOL,'\n',1,2921)
+LexToken(VAR,'graphics',1,2938)
+LexToken(DOT,'.',1,2946)
+LexToken(VAR,'exprs',1,2947)
+LexToken(ASSIGNMENT,'=',1,2952)
+LexToken(VAR,'label',1,2953)
+LexToken(SEMICOLON,';',1,2958)
+LexToken(EOL,'\n',1,2959)
+LexToken(VAR,'arg1',1,2976)
+LexToken(DOT,'.',1,2980)
+LexToken(VAR,'graphics',1,2981)
+LexToken(ASSIGNMENT,'=',1,2989)
+LexToken(VAR,'graphics',1,2990)
+LexToken(SEMICOLON,';',1,2998)
+LexToken(EOL,'\n',1,2999)
+LexToken(VAR,'arg1',1,3016)
+LexToken(DOT,'.',1,3020)
+LexToken(VAR,'model',1,3021)
+LexToken(ASSIGNMENT,'=',1,3026)
+LexToken(VAR,'model',1,3027)
+LexToken(SEMICOLON,';',1,3032)
+LexToken(EOL,'\n',1,3033)
+LexToken(VAR,'x',1,3050)
+LexToken(ASSIGNMENT,'=',1,3051)
+LexToken(VAR,'arg1',1,3052)
+LexToken(EOL,'\n',1,3056)
+LexToken(BREAK,'break',1,3073)
+LexToken(EOL,'\n',1,3078)
+LexToken(END,'end',1,3091)
+LexToken(EOL,'\n',1,3094)
+LexToken(END,'end',1,3103)
+LexToken(EOL,'\n',1,3106)
+LexToken(CASE,'case',1,3111)
+LexToken(DQSTRING,'"define"',1,3123)
+LexToken(THEN,'then',1,3125)
+LexToken(EOL,'\n',1,3129)
+LexToken(VAR,'model',1,3138)
+LexToken(ASSIGNMENT,'=',1,3143)
+LexToken(SCICOS_MODEL,'scicos_model',1,3144)
+LexToken(OPENBRACKET,'(',1,3156)
+LexToken(CLOSEBRACKET,')',1,3157)
+LexToken(EOL,'\n',1,3158)
+LexToken(VAR,'function_name',1,3167)
+LexToken(ASSIGNMENT,'=',1,3180)
+LexToken(DQSTRING,'"submat"',1,3188)
+LexToken(SEMICOLON,';',1,3189)
+LexToken(EOL,'\n',1,3190)
+LexToken(VAR,'funtyp',1,3199)
+LexToken(ASSIGNMENT,'=',1,3205)
+LexToken(NUMBER,'4',1,3206)
+LexToken(SEMICOLON,';',1,3207)
+LexToken(EOL,'\n',1,3208)
+LexToken(VAR,'model',1,3217)
+LexToken(DOT,'.',1,3222)
+LexToken(VAR,'sim',1,3223)
+LexToken(ASSIGNMENT,'=',1,3226)
+LexToken(VAR,'list',1,3227)
+LexToken(OPENBRACKET,'(',1,3231)
+LexToken(VAR,'function_name',1,3232)
+LexToken(COMMA,',',1,3245)
+LexToken(VAR,'funtyp',1,3246)
+LexToken(CLOSEBRACKET,')',1,3252)
+LexToken(EOL,'\n',1,3253)
+LexToken(EOL,'\n',1,3254)
+LexToken(VAR,'model',1,3263)
+LexToken(DOT,'.',1,3268)
+LexToken(VAR,'in',1,3269)
+LexToken(ASSIGNMENT,'=',1,3271)
+LexToken(NUMBER,'-1',1,3272)
+LexToken(EOL,'\n',1,3274)
+LexToken(VAR,'model',1,3283)
+LexToken(DOT,'.',1,3288)
+LexToken(VAR,'in2',1,3289)
+LexToken(ASSIGNMENT,'=',1,3292)
+LexToken(NUMBER,'-2',1,3293)
+LexToken(EOL,'\n',1,3295)
+LexToken(VAR,'model',1,3304)
+LexToken(DOT,'.',1,3309)
+LexToken(VAR,'intyp',1,3310)
+LexToken(ASSIGNMENT,'=',1,3315)
+LexToken(NUMBER,'1',1,3316)
+LexToken(EOL,'\n',1,3317)
+LexToken(VAR,'model',1,3326)
+LexToken(DOT,'.',1,3331)
+LexToken(VAR,'out',1,3332)
+LexToken(ASSIGNMENT,'=',1,3335)
+LexToken(NUMBER,'-1',1,3336)
+LexToken(EOL,'\n',1,3338)
+LexToken(VAR,'model',1,3347)
+LexToken(DOT,'.',1,3352)
+LexToken(VAR,'out2',1,3353)
+LexToken(ASSIGNMENT,'=',1,3357)
+LexToken(NUMBER,'-2',1,3358)
+LexToken(EOL,'\n',1,3360)
+LexToken(VAR,'model',1,3369)
+LexToken(DOT,'.',1,3374)
+LexToken(VAR,'outtyp',1,3375)
+LexToken(ASSIGNMENT,'=',1,3381)
+LexToken(NUMBER,'1',1,3382)
+LexToken(EOL,'\n',1,3383)
+LexToken(VAR,'model',1,3392)
+LexToken(DOT,'.',1,3397)
+LexToken(VAR,'evtin',1,3398)
+LexToken(ASSIGNMENT,'=',1,3403)
+LexToken(OPENSQBRACKET,'[',1,3404)
+LexToken(CLOSESQBRACKET,']',1,3405)
+LexToken(EOL,'\n',1,3406)
+LexToken(VAR,'model',1,3415)
+LexToken(DOT,'.',1,3420)
+LexToken(VAR,'evtout',1,3421)
+LexToken(ASSIGNMENT,'=',1,3427)
+LexToken(OPENSQBRACKET,'[',1,3428)
+LexToken(CLOSESQBRACKET,']',1,3429)
+LexToken(EOL,'\n',1,3430)
+LexToken(VAR,'model',1,3439)
+LexToken(DOT,'.',1,3444)
+LexToken(VAR,'state',1,3445)
+LexToken(ASSIGNMENT,'=',1,3450)
+LexToken(OPENSQBRACKET,'[',1,3451)
+LexToken(CLOSESQBRACKET,']',1,3452)
+LexToken(EOL,'\n',1,3453)
+LexToken(VAR,'model',1,3462)
+LexToken(DOT,'.',1,3467)
+LexToken(VAR,'dstate',1,3468)
+LexToken(ASSIGNMENT,'=',1,3474)
+LexToken(OPENSQBRACKET,'[',1,3475)
+LexToken(CLOSESQBRACKET,']',1,3476)
+LexToken(EOL,'\n',1,3477)
+LexToken(VAR,'model',1,3486)
+LexToken(DOT,'.',1,3491)
+LexToken(VAR,'rpar',1,3492)
+LexToken(ASSIGNMENT,'=',1,3496)
+LexToken(OPENSQBRACKET,'[',1,3497)
+LexToken(CLOSESQBRACKET,']',1,3498)
+LexToken(EOL,'\n',1,3499)
+LexToken(VAR,'model',1,3508)
+LexToken(DOT,'.',1,3513)
+LexToken(VAR,'ipar',1,3514)
+LexToken(ASSIGNMENT,'=',1,3518)
+LexToken(OPENSQBRACKET,'[',1,3519)
+LexToken(NUMBER,'1',1,3520)
+LexToken(SEMICOLON,';',1,3521)
+LexToken(NUMBER,'1',1,3522)
+LexToken(SEMICOLON,';',1,3523)
+LexToken(NUMBER,'1',1,3524)
+LexToken(SEMICOLON,';',1,3525)
+LexToken(NUMBER,'1',1,3526)
+LexToken(CLOSESQBRACKET,']',1,3527)
+LexToken(EOL,'\n',1,3528)
+LexToken(VAR,'model',1,3537)
+LexToken(DOT,'.',1,3542)
+LexToken(VAR,'blocktype',1,3543)
+LexToken(ASSIGNMENT,'=',1,3552)
+LexToken(DQSTRING,'"c"',1,3555)
+LexToken(EOL,'\n',1,3556)
+LexToken(VAR,'model',1,3565)
+LexToken(DOT,'.',1,3570)
+LexToken(VAR,'firing',1,3571)
+LexToken(ASSIGNMENT,'=',1,3577)
+LexToken(OPENSQBRACKET,'[',1,3578)
+LexToken(CLOSESQBRACKET,']',1,3579)
+LexToken(EOL,'\n',1,3580)
+LexToken(VAR,'model',1,3589)
+LexToken(DOT,'.',1,3594)
+LexToken(VAR,'dep_ut',1,3595)
+LexToken(ASSIGNMENT,'=',1,3601)
+LexToken(OPENSQBRACKET,'[',1,3602)
+LexToken(PREVAR_BOOLEAN,'%t',1,3603)
+LexToken(PREVAR_BOOLEAN,'%f',1,3606)
+LexToken(CLOSESQBRACKET,']',1,3608)
+LexToken(EOL,'\n',1,3609)
+LexToken(VAR,'label',1,3618)
+LexToken(ASSIGNMENT,'=',1,3623)
+LexToken(OPENSQBRACKET,'[',1,3624)
+LexToken(VAR,'sci2exp',1,3625)
+LexToken(OPENBRACKET,'(',1,3632)
+LexToken(NUMBER,'1',1,3633)
+LexToken(CLOSEBRACKET,')',1,3634)
+LexToken(SEMICOLON,';',1,3635)
+LexToken(VAR,'sci2exp',1,3636)
+LexToken(OPENBRACKET,'(',1,3643)
+LexToken(NUMBER,'1',1,3644)
+LexToken(CLOSEBRACKET,')',1,3645)
+LexToken(SEMICOLON,';',1,3646)
+LexToken(VAR,'sci2exp',1,3647)
+LexToken(OPENBRACKET,'(',1,3654)
+LexToken(NUMBER,'1',1,3655)
+LexToken(CLOSEBRACKET,')',1,3656)
+LexToken(SEMICOLON,';',1,3657)
+LexToken(VAR,'sci2exp',1,3658)
+LexToken(OPENBRACKET,'(',1,3665)
+LexToken(NUMBER,'1',1,3666)
+LexToken(CLOSEBRACKET,')',1,3667)
+LexToken(SEMICOLON,';',1,3668)
+LexToken(VAR,'sci2exp',1,3669)
+LexToken(OPENBRACKET,'(',1,3676)
+LexToken(NUMBER,'1',1,3677)
+LexToken(CLOSEBRACKET,')',1,3678)
+LexToken(CLOSESQBRACKET,']',1,3679)
+LexToken(SEMICOLON,';',1,3680)
+LexToken(EOL,'\n',1,3681)
+LexToken(VAR,'gr_i',1,3690)
+LexToken(ASSIGNMENT,'=',1,3694)
+LexToken(OPENSQBRACKET,'[',1,3695)
+LexToken(CLOSESQBRACKET,']',1,3696)
+LexToken(EOL,'\n',1,3697)
+LexToken(VAR,'x',1,3706)
+LexToken(ASSIGNMENT,'=',1,3707)
+LexToken(VAR,'standard_define',1,3708)
+LexToken(OPENBRACKET,'(',1,3723)
+LexToken(OPENSQBRACKET,'[',1,3724)
+LexToken(NUMBER,'2.5',1,3725)
+LexToken(NUMBER,'2',1,3729)
+LexToken(CLOSESQBRACKET,']',1,3730)
+LexToken(COMMA,',',1,3731)
+LexToken(VAR,'model',1,3732)
+LexToken(COMMA,',',1,3737)
+LexToken(VAR,'label',1,3738)
+LexToken(COMMA,',',1,3743)
+LexToken(VAR,'gr_i',1,3744)
+LexToken(CLOSEBRACKET,')',1,3748)
+LexToken(EOL,'\n',1,3749)
+LexToken(END,'end',1,3754)
+LexToken(EOL,'\n',1,3757)
+LexToken(ENDFUNCTION,'endfunction',1,3758)
+LexToken(EOL,'\n',1,3769)
+LexToken(EOL,'\n',1,3770)