Changeset f33851b5 in OpenModelica


Ignore:
Timestamp:
2021-04-06T15:14:54+02:00 (3 years ago)
Author:
Martin Sjölund <martin@…>
Children:
1c28ff5
Parents:
0c81a03
git-author:
Martin Sjölund <martin@…> (03/16/21 15:16:56)
git-committer:
Martin Sjölund <martin@…> (04/06/21 15:14:54)
Message:

Updated lexer to not have a fixed maximum state size

Also: Modelica does not have "results" as a token

Location:
OMCompiler/Compiler/Lexers
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • OMCompiler/Compiler/Lexers/LexerModelicaDiff.mo

    r83be5f2b rf33851b5  
    301301    case (56) // #line 91 "lexerModelicaDiff.l"
    302302      algorithm
    303         tok := TOKEN(fileNm,TokenId.RESULTS,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     303        tok := TOKEN(fileNm,TokenId.THEN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    304304      then tok;
    305305    case (57) // #line 92 "lexerModelicaDiff.l"
    306306      algorithm
    307         tok := TOKEN(fileNm,TokenId.THEN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     307        tok := TOKEN(fileNm,TokenId.TRUE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    308308      then tok;
    309309    case (58) // #line 93 "lexerModelicaDiff.l"
    310310      algorithm
    311         tok := TOKEN(fileNm,TokenId.TRUE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     311        tok := TOKEN(fileNm,TokenId.TYPE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    312312      then tok;
    313313    case (59) // #line 94 "lexerModelicaDiff.l"
    314314      algorithm
    315         tok := TOKEN(fileNm,TokenId.TYPE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     315        tok := TOKEN(fileNm,TokenId.WHEN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    316316      then tok;
    317317    case (60) // #line 95 "lexerModelicaDiff.l"
    318318      algorithm
    319         tok := TOKEN(fileNm,TokenId.WHEN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     319        tok := TOKEN(fileNm,TokenId.WHILE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    320320      then tok;
    321321    case (61) // #line 96 "lexerModelicaDiff.l"
    322322      algorithm
    323         tok := TOKEN(fileNm,TokenId.WHILE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     323        tok := TOKEN(fileNm,TokenId.WITHIN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    324324      then tok;
    325325    case (62) // #line 97 "lexerModelicaDiff.l"
    326326      algorithm
    327         tok := TOKEN(fileNm,TokenId.WITHIN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     327        tok := TOKEN(fileNm,TokenId.RETURN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    328328      then tok;
    329329    case (63) // #line 98 "lexerModelicaDiff.l"
    330330      algorithm
    331         tok := TOKEN(fileNm,TokenId.RETURN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    332       then tok;
    333     case (64) // #line 99 "lexerModelicaDiff.l"
    334       algorithm
    335331        tok := TOKEN(fileNm,TokenId.BREAK,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    336332      then tok;
     333    case (64) // #line 100 "lexerModelicaDiff.l"
     334      algorithm
     335        tok := TOKEN(fileNm,TokenId.LPAR,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     336      then tok;
    337337    case (65) // #line 101 "lexerModelicaDiff.l"
    338338      algorithm
    339         tok := TOKEN(fileNm,TokenId.LPAR,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     339        tok := TOKEN(fileNm,TokenId.RPAR,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    340340      then tok;
    341341    case (66) // #line 102 "lexerModelicaDiff.l"
    342342      algorithm
    343         tok := TOKEN(fileNm,TokenId.RPAR,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     343        tok := TOKEN(fileNm,TokenId.LBRACK,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    344344      then tok;
    345345    case (67) // #line 103 "lexerModelicaDiff.l"
    346346      algorithm
    347         tok := TOKEN(fileNm,TokenId.LBRACK,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     347        tok := TOKEN(fileNm,TokenId.RBRACK,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    348348      then tok;
    349349    case (68) // #line 104 "lexerModelicaDiff.l"
    350350      algorithm
    351         tok := TOKEN(fileNm,TokenId.RBRACK,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     351        tok := TOKEN(fileNm,TokenId.LBRACE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    352352      then tok;
    353353    case (69) // #line 105 "lexerModelicaDiff.l"
    354354      algorithm
    355         tok := TOKEN(fileNm,TokenId.LBRACE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     355        tok := TOKEN(fileNm,TokenId.RBRACE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    356356      then tok;
    357357    case (70) // #line 106 "lexerModelicaDiff.l"
    358358      algorithm
    359         tok := TOKEN(fileNm,TokenId.RBRACE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     359        tok := TOKEN(fileNm,TokenId.EQEQ,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    360360      then tok;
    361361    case (71) // #line 107 "lexerModelicaDiff.l"
    362362      algorithm
    363         tok := TOKEN(fileNm,TokenId.EQEQ,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     363        tok := TOKEN(fileNm,TokenId.EQUALS,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    364364      then tok;
    365365    case (72) // #line 108 "lexerModelicaDiff.l"
    366366      algorithm
    367         tok := TOKEN(fileNm,TokenId.EQUALS,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     367        tok := TOKEN(fileNm,TokenId.COMMA,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    368368      then tok;
    369369    case (73) // #line 109 "lexerModelicaDiff.l"
    370370      algorithm
    371         tok := TOKEN(fileNm,TokenId.COMMA,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     371        tok := TOKEN(fileNm,TokenId.ASSIGN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    372372      then tok;
    373373    case (74) // #line 110 "lexerModelicaDiff.l"
    374374      algorithm
    375         tok := TOKEN(fileNm,TokenId.ASSIGN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     375        tok := TOKEN(fileNm,TokenId.COLONCOLON,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    376376      then tok;
    377377    case (75) // #line 111 "lexerModelicaDiff.l"
    378378      algorithm
    379         tok := TOKEN(fileNm,TokenId.COLONCOLON,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     379        tok := TOKEN(fileNm,TokenId.COLON,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    380380      then tok;
    381381    case (76) // #line 112 "lexerModelicaDiff.l"
    382382      algorithm
    383         tok := TOKEN(fileNm,TokenId.COLON,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    384       then tok;
    385     case (77) // #line 113 "lexerModelicaDiff.l"
    386       algorithm
    387383        tok := TOKEN(fileNm,TokenId.SEMICOLON,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    388384      then tok;
     385    case (77) // #line 114 "lexerModelicaDiff.l"
     386      algorithm
     387        tok := TOKEN(fileNm,TokenId.PURE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     388      then tok;
    389389    case (78) // #line 115 "lexerModelicaDiff.l"
    390390      algorithm
    391         tok := TOKEN(fileNm,TokenId.PURE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     391        tok := TOKEN(fileNm,TokenId.IMPURE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    392392      then tok;
    393393    case (79) // #line 116 "lexerModelicaDiff.l"
    394394      algorithm
    395         tok := TOKEN(fileNm,TokenId.IMPURE,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    396       then tok;
    397     case (80) // #line 117 "lexerModelicaDiff.l"
    398       algorithm
    399395        tok := TOKEN(fileNm,TokenId.OPTIMIZATION,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    400396      then tok;
     397    case (80) // #line 118 "lexerModelicaDiff.l"
     398      algorithm
     399        tok := TOKEN(fileNm,TokenId.PLUS_EW,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     400      then tok;
    401401    case (81) // #line 119 "lexerModelicaDiff.l"
    402402      algorithm
    403         tok := TOKEN(fileNm,TokenId.PLUS_EW,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     403        tok := TOKEN(fileNm,TokenId.MINUS_EW,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    404404      then tok;
    405405    case (82) // #line 120 "lexerModelicaDiff.l"
    406406      algorithm
    407         tok := TOKEN(fileNm,TokenId.MINUS_EW,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     407        tok := TOKEN(fileNm,TokenId.STAR_EW,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    408408      then tok;
    409409    case (83) // #line 121 "lexerModelicaDiff.l"
    410410      algorithm
    411         tok := TOKEN(fileNm,TokenId.STAR_EW,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     411        tok := TOKEN(fileNm,TokenId.SLASH_EW,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    412412      then tok;
    413413    case (84) // #line 122 "lexerModelicaDiff.l"
    414414      algorithm
    415         tok := TOKEN(fileNm,TokenId.SLASH_EW,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    416       then tok;
    417     case (85) // #line 123 "lexerModelicaDiff.l"
    418       algorithm
    419415        tok := TOKEN(fileNm,TokenId.POWER_EW,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    420416      then tok;
     417    case (85) // #line 124 "lexerModelicaDiff.l"
     418      algorithm
     419        tok := TOKEN(fileNm,TokenId.STAR,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     420      then tok;
    421421    case (86) // #line 125 "lexerModelicaDiff.l"
    422422      algorithm
    423         tok := TOKEN(fileNm,TokenId.STAR,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     423        tok := TOKEN(fileNm,TokenId.MINUS,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    424424      then tok;
    425425    case (87) // #line 126 "lexerModelicaDiff.l"
    426426      algorithm
    427         tok := TOKEN(fileNm,TokenId.MINUS,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     427        tok := TOKEN(fileNm,TokenId.PLUS,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    428428      then tok;
    429429    case (88) // #line 127 "lexerModelicaDiff.l"
    430430      algorithm
    431         tok := TOKEN(fileNm,TokenId.PLUS,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     431        tok := TOKEN(fileNm,TokenId.LESSEQ,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    432432      then tok;
    433433    case (89) // #line 128 "lexerModelicaDiff.l"
    434434      algorithm
    435         tok := TOKEN(fileNm,TokenId.LESSEQ,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     435        tok := TOKEN(fileNm,TokenId.LESSGT,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    436436      then tok;
    437437    case (90) // #line 129 "lexerModelicaDiff.l"
    438438      algorithm
    439         tok := TOKEN(fileNm,TokenId.LESSGT,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     439        tok := TOKEN(fileNm,TokenId.LESS,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    440440      then tok;
    441441    case (91) // #line 130 "lexerModelicaDiff.l"
    442442      algorithm
    443         tok := TOKEN(fileNm,TokenId.LESS,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     443        tok := TOKEN(fileNm,TokenId.GREATER,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    444444      then tok;
    445445    case (92) // #line 131 "lexerModelicaDiff.l"
    446446      algorithm
    447         tok := TOKEN(fileNm,TokenId.GREATER,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    448       then tok;
    449     case (93) // #line 132 "lexerModelicaDiff.l"
    450       algorithm
    451447        tok := TOKEN(fileNm,TokenId.GREATEREQ,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    452448      then tok;
     449    case (93) // #line 133 "lexerModelicaDiff.l"
     450      algorithm
     451        tok := TOKEN(fileNm,TokenId.POWER,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     452      then tok;
    453453    case (94) // #line 134 "lexerModelicaDiff.l"
    454454      algorithm
    455         tok := TOKEN(fileNm,TokenId.POWER,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    456       then tok;
    457     case (95) // #line 135 "lexerModelicaDiff.l"
    458       algorithm
    459455        tok := TOKEN(fileNm,TokenId.SLASH,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    460456      then tok;
    461     case (96) // #line 137 "lexerModelicaDiff.l"
     457    case (95) // #line 136 "lexerModelicaDiff.l"
    462458      algorithm
    463459        tok := TOKEN(fileNm,TokenId.SUBTYPEOF,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    464460      then tok;
    465     case (97) // #line 139 "lexerModelicaDiff.l"
     461    case (96) // #line 138 "lexerModelicaDiff.l"
    466462      algorithm
    467463        tok := TOKEN(fileNm,TokenId.STREAM,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    468464      then tok;
    469     case (98) // #line 141 "lexerModelicaDiff.l"
     465    case (97) // #line 140 "lexerModelicaDiff.l"
    470466      algorithm
    471467        tok := TOKEN(fileNm,TokenId.DOT,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    472468      then tok;
    473     case (99) // #line 143 "lexerModelicaDiff.l"
     469    case (98) // #line 142 "lexerModelicaDiff.l"
    474470      algorithm
    475471        tok := TOKEN(fileNm,TokenId.IDENT,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    476472      then tok;
    477     case (100) // #line 145 "lexerModelicaDiff.l"
     473    case (99) // #line 144 "lexerModelicaDiff.l"
    478474      algorithm
    479475        tok := TOKEN(fileNm,TokenId.IDENT,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    480476      then tok;
    481     case (101) // #line 147 "lexerModelicaDiff.l"
     477    case (100) // #line 146 "lexerModelicaDiff.l"
    482478      algorithm
    483479        tok := TOKEN(fileNm,TokenId.UNSIGNED_INTEGER,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    484480      then tok;
    485     case (102) // #line 149 "lexerModelicaDiff.l"
     481    case (101) // #line 148 "lexerModelicaDiff.l"
    486482      algorithm
    487483        mm_startSt := 7;
    488484        bufferRet := buffer;
    489485      then noToken;
     486    case (102) // #line 153 "lexerModelicaDiff.l"
     487      algorithm
     488        bufferRet := buffer;
     489      then noToken;
    490490    case (103) // #line 154 "lexerModelicaDiff.l"
    491491      algorithm
     
    494494    case (104) // #line 155 "lexerModelicaDiff.l"
    495495      algorithm
     496        mm_startSt := 1;
     497        tok := TOKEN(fileNm,TokenId.STRING,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     498      then tok;
     499    case (105) // #line 156 "lexerModelicaDiff.l"
     500      algorithm
    496501        bufferRet := buffer;
    497502      then noToken;
    498     case (105) // #line 156 "lexerModelicaDiff.l"
    499       algorithm
    500         mm_startSt := 1;
    501         tok := TOKEN(fileNm,TokenId.STRING,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    502       then tok;
    503503    case (106) // #line 157 "lexerModelicaDiff.l"
    504504      algorithm
    505505        bufferRet := buffer;
    506506      then noToken;
    507     case (107) // #line 158 "lexerModelicaDiff.l"
    508       algorithm
    509         bufferRet := buffer;
    510       then noToken;
    511     case (108) // #line 161 "lexerModelicaDiff.l"
     507    case (107) // #line 160 "lexerModelicaDiff.l"
    512508      algorithm
    513509        mm_startSt := 3;
    514510        bufferRet := buffer;
    515511      then noToken;
    516     case (109) // #line 166 "lexerModelicaDiff.l"
     512    case (108) // #line 165 "lexerModelicaDiff.l"
    517513      algorithm
    518514        mm_startSt := 1;
    519515        tok := TOKEN(fileNm,TokenId.BLOCK_COMMENT,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    520516      then tok;
    521     case (110) // #line 167 "lexerModelicaDiff.l"
     517    case (109) // #line 166 "lexerModelicaDiff.l"
    522518      algorithm
    523519        bufferRet := buffer;
    524520      then noToken;
    525     case (111) // #line 168 "lexerModelicaDiff.l"
     521    case (110) // #line 167 "lexerModelicaDiff.l"
    526522      algorithm
    527523        bufferRet := buffer;
    528524      then noToken;
    529     case (112) // #line 175 "lexerModelicaDiff.l"
     525    case (111) // #line 174 "lexerModelicaDiff.l"
    530526      algorithm
    531527        mm_startSt := 5;
    532528        bufferRet := buffer;
    533529      then noToken;
    534     case (113) // #line 181 "lexerModelicaDiff.l"
     530    case (112) // #line 180 "lexerModelicaDiff.l"
    535531      algorithm
    536532        mm_startSt := 1;
    537533        tok := TOKEN(fileNm,TokenId.LINE_COMMENT,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
    538534      then tok;
    539     case (114) // #line 182 "lexerModelicaDiff.l"
     535    case (113) // #line 181 "lexerModelicaDiff.l"
    540536      algorithm
    541537        bufferRet := buffer;
    542538      then noToken;
    543     case (115) // #line 185 "lexerModelicaDiff.l"
     539    case (114) // #line 184 "lexerModelicaDiff.l"
    544540      algorithm
    545541        tok := TOKEN(fileNm,TokenId._NO_TOKEN,fileContents,mm_pos-buffer,buffer,lineNrStart,mm_ePos+1,mm_linenr,mm_sPos+1);
     
    640636  REDECLARE,
    641637  REPLACEABLE,
    642   RESULTS,
    643638  RETURN,
    644639  RPAR,
     
    730725  output list<Token> errorTokens={};
    731726protected
    732   Integer startSt,numStates,i,r,cTok,cTok2,currSt,pos,sPos,ePos,linenr,contentLen,numBacktrack,buffer,lineNrStart;
     727  Integer startSt,i,r,cTok,cTok2,currSt,pos,sPos,ePos,linenr,contentLen,numBacktrack,buffer,lineNrStart;
    733728  list<Integer> cProg,cProg2;
    734729  list<String> chars;
    735   array<Integer> states;
     730  list<Integer> states;
    736731  String s1,s2;
    737732  import MetaModelica.Dangerous.listReverseInPlace;
     
    750745  buffer := 0;
    751746
    752   states := arrayCreate(128,1);
    753   numStates := 1;
     747  states := {};
    754748
    755749  if (debug==true) then
     
    767761  while i <= contentLen loop
    768762     cTok := stringGet(contents,i);
    769      (tokens,numBacktrack,startSt,currSt,pos,sPos,ePos,linenr,lineNrStart,buffer,states,numStates,errorTokens) := consume(cTok,tokens,contents,startSt,currSt,pos,sPos,ePos,linenr,lineNrStart,buffer,states,numStates,fileName,errorTokens);
     763     (tokens,numBacktrack,startSt,currSt,pos,sPos,ePos,linenr,lineNrStart,buffer,states,errorTokens) := consume(cTok,tokens,contents,startSt,currSt,pos,sPos,ePos,linenr,lineNrStart,buffer,states,fileName,errorTokens);
    770764     i := i - numBacktrack + 1;
    771765  end while;
     
    781775  input Integer currSt,pos,sPos,ePos,linenr,inLineNrStart;
    782776  input Integer inBuffer;
    783   input array<Integer> inStates;
    784   input Integer inNumStates;
     777  input list<Integer> inStates;
    785778  input String fileName;
    786779  input list<Token> inErrorTokens;
     
    790783  output Integer mm_currSt,mm_pos,mm_sPos,mm_ePos,mm_linenr,lineNrStart;
    791784  output Integer buffer;
    792   output array<Integer> states;
    793   output Integer numStates;
     785  output list<Integer> states;
    794786  output list<Token> errorTokens=inErrorTokens;
    795787protected
     
    807799  buffer := inBuffer;
    808800  states := inStates;
    809   numStates := inNumStates;
    810801
    811802  baseCond := LexTable.yy_base[mm_currSt];
     
    845836    mm_currSt := LexTable.yy_nxt[c];
    846837  end if;
    847   numStates := numStates+1; // TODO: BAD BAD BAD. At least arrayUpdate should be a safe operation... We need to grow the number of states on demand though.
    848   arrayUpdate(states,numStates,mm_currSt);
     838  states := mm_currSt::states;
    849839
    850840  baseCond := LexTable.yy_base[mm_currSt];
     
    854844    end if;
    855845
    856     (act, mm_currSt, mm_pos, mm_sPos, mm_linenr, buffer, bkBuffer, states, numStates) := findRule(fileContents, mm_currSt, mm_pos, mm_sPos, mm_ePos, mm_linenr, buffer, bkBuffer, states, numStates);
     846    (act, mm_currSt, mm_pos, mm_sPos, mm_linenr, buffer, bkBuffer, states) := findRule(fileContents, mm_currSt, mm_pos, mm_sPos, mm_ePos, mm_linenr, buffer, bkBuffer, states);
    857847
    858848    if (debug==true) then
     
    867857
    868858    mm_currSt := mm_startSt;
    869     arrayUpdate(states,1,mm_startSt);
    870     numStates := 1;
     859    states := {};
    871860
    872861    /* Either a token was output (get new positions for next token). Or a whitespace was emitted. */
     
    901890  input Integer inBuffer;
    902891  input Integer inBkBuffer;
    903   input array<Integer> inStates;
    904   input Integer inNumStates;
     892  input list<Integer> inStates;
    905893  output Integer action;
    906894  output Integer mm_currSt;
     
    910898  output Integer buffer;
    911899  output Integer bkBuffer;
    912   output array<Integer> states;
    913   output Integer numStates;
     900  output list<Integer> states;
    914901protected
    915902  array<Integer> mm_accept,mm_ec,mm_meta,mm_base,mm_def,mm_nxt,mm_chk,mm_acclist;
    916   Integer lp,lp1,stCmp;
     903  Integer lp,lp1,stCmp,cp;
    917904  Boolean st;
    918905  import arrayGet = MetaModelica.Dangerous.arrayGetNoBoundsChecking; // Bounds checked with debug=true
     
    926913  bkBuffer := inBkBuffer;
    927914  states := inStates;
    928   numStates := inNumStates;
    929 
    930   stCmp := arrayGet(states,numStates);
     915
     916  stCmp := listGet(states, 1);
    931917  lp := LexTable.yy_accept[stCmp];
    932918  lp1 := LexTable.yy_accept[stCmp+1];
    933919
    934920  st := intGt(lp,0) and intLt(lp,lp1);
    935   (action, mm_currSt, mm_pos, mm_sPos, mm_linenr, buffer, bkBuffer, states, numStates) := match(numStates,st)
    936     local
    937       Integer act,cp;
    938       list<Integer> restBuff;
    939     case (_,true)
    940       algorithm
    941         if debug then
    942           checkArrayModelica(LexTable.yy_accept,stCmp,sourceInfo());
    943           checkArrayModelica(LexTable.yy_acclist,lp,sourceInfo());
    944         end if;
    945         lp := LexTable.yy_accept[stCmp];
    946         act := LexTable.yy_acclist[lp];
    947       then (act, mm_currSt, mm_pos, mm_sPos, mm_linenr, buffer, bkBuffer, states, numStates);
    948     case (_,false)
    949       algorithm
    950         cp := stringGet(fileContents,mm_pos-1);
    951         buffer := buffer-1;
    952         bkBuffer := bkBuffer+1;
    953         mm_pos := mm_pos - 1;
    954         mm_sPos := mm_sPos -1;
    955         if (cp==10) then
    956           mm_sPos := mm_ePos;
    957           mm_linenr := mm_linenr-1;
    958         end if;
    959         if debug then
    960           checkArray(states,numStates,sourceInfo());
    961         end if;
    962         mm_currSt := arrayGet(states,numStates);
    963         numStates := numStates - 1;
    964         (act, mm_currSt, mm_pos, mm_sPos, mm_linenr, buffer, bkBuffer, states, numStates) := findRule(fileContents, mm_currSt, mm_pos, mm_sPos, mm_ePos, mm_linenr, buffer, bkBuffer, states, numStates);
    965       then (act, mm_currSt, mm_pos, mm_sPos, mm_linenr, buffer, bkBuffer, states, numStates);
    966 
    967   end match;
     921  if st then
     922    if debug then
     923      checkArrayModelica(LexTable.yy_accept,stCmp,sourceInfo());
     924      checkArrayModelica(LexTable.yy_acclist,lp,sourceInfo());
     925    end if;
     926    lp := LexTable.yy_accept[stCmp];
     927    action := LexTable.yy_acclist[lp];
     928  else
     929    cp := stringGet(fileContents,mm_pos-1);
     930    buffer := buffer-1;
     931    bkBuffer := bkBuffer+1;
     932    mm_pos := mm_pos - 1;
     933    mm_sPos := mm_sPos -1;
     934    if (cp==10) then
     935      mm_sPos := mm_ePos;
     936      mm_linenr := mm_linenr-1;
     937    end if;
     938    mm_currSt::states := states;
     939    (action, mm_currSt, mm_pos, mm_sPos, mm_linenr, buffer, bkBuffer, states) := findRule(fileContents, mm_currSt, mm_pos, mm_sPos, mm_ePos, mm_linenr, buffer, bkBuffer, states);
     940  end if;
    968941end findRule;
    969942
     
    1026999
    10271000package LexTable
    1028   constant Integer yy_limit = 400;
    1029   constant Integer yy_finish = 458;
     1001  constant Integer yy_limit = 395;
     1002  constant Integer yy_finish = 453;
    10301003  constant Integer yy_acclist[:] = array(
    1031       116,  115,    1,  115,    2,  115,  115,  102,  115,  115,
    1032        65,  115,   66,  115,   86,  115,   88,  115,   73,  115,
    1033        87,  115,   98,  115,   95,  115,  101,  115,   76,  115,
    1034        77,  115,   91,  115,   72,  115,   92,  115,   99,  115,
    1035        67,  115,   68,  115,   94,  115,   99,  115,   99,  115,
    1036        99,  115,   99,  115,   99,  115,   99,  115,   99,  115,
    1037        99,  115,   99,  115,   99,  115,   99,  115,   99,  115,
    1038        99,  115,   99,  115,   99,  115,   99,  115,   69,  115,
    1039        70,  115,  110,  115,  111,  115,  110,  115,  114,  115,
    1040       113,  115,  106,  115,  107,  115,  105,  106,  115,  106,
    1041 
    1042       115,    1,    2,   83,   81,   82,   84,    5,   85,  108,
    1043       112,    3,  101,   75,   74,   89,   90,   71,   93,   99,
    1044        99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    1045        99,   99,   99,   99,   99,   99,   99,   99,   34,   99,
    1046        99,   36,   99,   99,   99,   99,   99,   46,   99,   99,
    1047        99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    1048        99,   99,  109,  103,  104,  100,    3,    4,   99,    7,
    1049        99,   99,   99,   99,   99,   99,   99,   15,   99,   99,
    1050        99,   99,   99,   21,   99,   99,   99,   99,   99,   99,
    1051        99,   99,   32,   99,   99,   99,   99,   99,   99,   99,
    1052 
    1053        99,   42,   99,   99,   99,   99,   99,   99,   99,   99,
    1054        99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    1055        99,   99,   99,   99,   99,    5,    3,   99,   99,   99,
    1056        99,   99,   99,   99,   99,   99,   17,   99,   18,   99,
    1057        99,   99,   99,   99,   99,   99,   99,   31,   99,   99,
    1058        99,   99,   99,   99,   99,   40,   99,   99,   99,   99,
    1059        99,   99,   99,   99,   99,   99,   99,   99,   78,   99,
    1060        99,   99,   99,   99,   99,   99,   99,   57,   99,   58,
    1061        99,   59,   99,   60,   99,   99,   99,   99,   99,    9,
    1062        99,   64,   99,   10,   99,   99,   99,   99,   99,   99,
    1063 
    1064        99,   99,   99,   99,   99,   99,   99,   29,   99,   30,
    1065        99,   99,   99,   99,   99,   38,   99,   39,   99,   41,
    1066        99,   99,   99,   43,   99,   99,   99,   99,   99,   99,
    1067        99,   99,   99,   99,   99,   99,   99,   99,   99,   61,
    1068        99,   99,   99,   99,   99,   99,   99,   99,   99,   19,
    1069        99,   99,   99,   99,   99,   99,   99,   99,   99,   35,
    1070        99,   79,   99,   99,   99,   99,   47,   99,   99,   99,
    1071        99,   99,   99,   52,   99,   53,   99,   99,   99,   99,
    1072        63,   99,   97,   99,   99,   62,   99,   99,   99,   11,
    1073        99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    1074 
    1075        26,   99,   99,   99,   37,   99,   99,   99,   99,   48,
    1076        99,   99,   50,   99,   99,   99,   99,   56,   99,   99,
    1077        99,   99,   99,   13,   99,   99,   99,   14,   99,   20,
    1078        99,   99,   99,   23,   99,   99,   28,   99,   33,   99,
    1079        44,   99,   99,   45,   99,   99,   99,   99,   99,   99,
    1080         6,   99,   99,   12,   99,   99,   99,   99,   99,   99,
    1081        99,   49,   99,   51,   99,   54,   99,   99,   96,   99,
    1082         8,   99,   99,   16,   99,   99,   99,   25,   99,   99,
    1083        99,   99,   99,   22,   99,   99,   55,   99,   99,   24,
    1084        99,   80,   99,   27,   99
    1085 
     1004      115,  114,    1,  114,    2,  114,  114,  101,  114,  114,
     1005       64,  114,   65,  114,   85,  114,   87,  114,   72,  114,
     1006       86,  114,   97,  114,   94,  114,  100,  114,   75,  114,
     1007       76,  114,   90,  114,   71,  114,   91,  114,   98,  114,
     1008       66,  114,   67,  114,   93,  114,   98,  114,   98,  114,
     1009       98,  114,   98,  114,   98,  114,   98,  114,   98,  114,
     1010       98,  114,   98,  114,   98,  114,   98,  114,   98,  114,
     1011       98,  114,   98,  114,   98,  114,   98,  114,   68,  114,
     1012       69,  114,  109,  114,  110,  114,  109,  114,  113,  114,
     1013      112,  114,  105,  114,  106,  114,  104,  105,  114,  105,
     1014
     1015      114,    1,    2,   82,   80,   81,   83,    5,   84,  107,
     1016      111,    3,  100,   74,   73,   88,   89,   70,   92,   98,
     1017       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
     1018       98,   98,   98,   98,   98,   98,   98,   98,   34,   98,
     1019       98,   36,   98,   98,   98,   98,   98,   46,   98,   98,
     1020       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
     1021       98,   98,  108,  102,  103,   99,    3,    4,   98,    7,
     1022       98,   98,   98,   98,   98,   98,   98,   15,   98,   98,
     1023       98,   98,   98,   21,   98,   98,   98,   98,   98,   98,
     1024       98,   98,   32,   98,   98,   98,   98,   98,   98,   98,
     1025
     1026       98,   42,   98,   98,   98,   98,   98,   98,   98,   98,
     1027       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
     1028       98,   98,   98,   98,    5,    3,   98,   98,   98,   98,
     1029       98,   98,   98,   98,   98,   17,   98,   18,   98,   98,
     1030       98,   98,   98,   98,   98,   98,   31,   98,   98,   98,
     1031       98,   98,   98,   98,   40,   98,   98,   98,   98,   98,
     1032       98,   98,   98,   98,   98,   98,   98,   77,   98,   98,
     1033       98,   98,   98,   98,   98,   56,   98,   57,   98,   58,
     1034       98,   59,   98,   98,   98,   98,   98,    9,   98,   63,
     1035       98,   10,   98,   98,   98,   98,   98,   98,   98,   98,
     1036
     1037       98,   98,   98,   98,   98,   29,   98,   30,   98,   98,
     1038       98,   98,   98,   38,   98,   39,   98,   41,   98,   98,
     1039       98,   43,   98,   98,   98,   98,   98,   98,   98,   98,
     1040       98,   98,   98,   98,   98,   98,   60,   98,   98,   98,
     1041       98,   98,   98,   98,   98,   98,   19,   98,   98,   98,
     1042       98,   98,   98,   98,   98,   98,   35,   98,   78,   98,
     1043       98,   98,   98,   47,   98,   98,   98,   98,   98,   98,
     1044       52,   98,   53,   98,   98,   98,   62,   98,   96,   98,
     1045       98,   61,   98,   98,   98,   11,   98,   98,   98,   98,
     1046       98,   98,   98,   98,   98,   98,   26,   98,   98,   98,
     1047
     1048       37,   98,   98,   98,   98,   48,   98,   98,   50,   98,
     1049       98,   98,   98,   98,   98,   98,   98,   13,   98,   98,
     1050       98,   14,   98,   20,   98,   98,   98,   23,   98,   98,
     1051       28,   98,   33,   98,   44,   98,   98,   45,   98,   98,
     1052       98,   98,   98,   98,    6,   98,   98,   12,   98,   98,
     1053       98,   98,   98,   98,   98,   49,   98,   51,   98,   54,
     1054       98,   98,   95,   98,    8,   98,   98,   16,   98,   98,
     1055       98,   25,   98,   98,   98,   98,   98,   22,   98,   98,
     1056       55,   98,   98,   24,   98,   79,   98,   27,   98
    10861057   );
    10871058  constant Integer yy_accept[:] = array(
     
    11051076      204,  205,  206,  207,  208,  209,  210,  211,  212,  213,
    11061077      214,  215,  216,  217,  218,  219,  220,  221,  222,  223,
    1107       224,  225,  226,  226,  227,  227,  228,  229,  230,  231,
    1108       232,  233,  234,  235,  236,  237,  239,  241,  242,  243,
    1109 
    1110       244,  245,  246,  247,  248,  250,  251,  252,  253,  254,
    1111       255,  256,  258,  259,  260,  261,  262,  263,  264,  265,
    1112       266,  267,  268,  269,  271,  272,  273,  274,  275,  276,
    1113       277,  278,  280,  282,  284,  286,  287,  288,  289,  290,
    1114       292,  294,  296,  297,  298,  299,  300,  301,  302,  303,
    1115       304,  305,  306,  307,  308,  310,  312,  313,  314,  315,
    1116       316,  318,  320,  322,  323,  324,  326,  327,  328,  329,
    1117       330,  331,  332,  333,  334,  335,  336,  337,  338,  339,
    1118       340,  342,  343,  344,  345,  346,  347,  348,  349,  350,
    1119       352,  353,  354,  355,  356,  357,  358,  359,  360,  362,
    1120 
    1121       364,  365,  366,  367,  369,  370,  371,  372,  373,  374,
    1122       376,  378,  379,  380,  381,  383,  385,  386,  388,  389,
    1123       390,  392,  393,  394,  395,  396,  397,  398,  399,  400,
    1124       401,  403,  404,  405,  407,  408,  409,  410,  412,  413,
    1125       415,  416,  417,  418,  420,  421,  422,  423,  424,  426,
    1126       427,  428,  430,  432,  433,  434,  436,  437,  439,  441,
    1127       443,  444,  446,  447,  448,  449,  450,  451,  453,  454,
    1128       456,  457,  458,  459,  460,  461,  462,  464,  466,  468,
    1129       469,  471,  473,  474,  476,  477,  478,  480,  481,  482,
    1130       483,  484,  486,  487,  489,  490,  492,  494,  496,  496
     1078      224,  225,  225,  226,  226,  227,  228,  229,  230,  231,
     1079      232,  233,  234,  235,  236,  238,  240,  241,  242,  243,
     1080
     1081      244,  245,  246,  247,  249,  250,  251,  252,  253,  254,
     1082      255,  257,  258,  259,  260,  261,  262,  263,  264,  265,
     1083      266,  267,  268,  270,  271,  272,  273,  274,  275,  276,
     1084      278,  280,  282,  284,  285,  286,  287,  288,  290,  292,
     1085      294,  295,  296,  297,  298,  299,  300,  301,  302,  303,
     1086      304,  305,  306,  308,  310,  311,  312,  313,  314,  316,
     1087      318,  320,  321,  322,  324,  325,  326,  327,  328,  329,
     1088      330,  331,  332,  333,  334,  335,  336,  337,  339,  340,
     1089      341,  342,  343,  344,  345,  346,  347,  349,  350,  351,
     1090      352,  353,  354,  355,  356,  357,  359,  361,  362,  363,
     1091
     1092      364,  366,  367,  368,  369,  370,  371,  373,  375,  376,
     1093      377,  379,  381,  382,  384,  385,  386,  388,  389,  390,
     1094      391,  392,  393,  394,  395,  396,  397,  399,  400,  401,
     1095      403,  404,  405,  406,  408,  409,  411,  412,  413,  414,
     1096      415,  416,  417,  418,  420,  421,  422,  424,  426,  427,
     1097      428,  430,  431,  433,  435,  437,  438,  440,  441,  442,
     1098      443,  444,  445,  447,  448,  450,  451,  452,  453,  454,
     1099      455,  456,  458,  460,  462,  463,  465,  467,  468,  470,
     1100      471,  472,  474,  475,  476,  477,  478,  480,  481,  483,
     1101      484,  486,  488,  490,  490
    11311102
    11321103   );
     
    11701141   );
    11711142  constant Integer yy_base[:] = array(
    1172         0,    0,   53,   54,  454,  453,   55,   56,  455,  458,
    1173        64,  458,  451,  458,  427,  458,  458,  458,  458,  458,
    1174       458,   56,   60,   62,   57,  458,   39,  431,  430,    0,
    1175       458,  458,  458,   44,   35,   48,   55,   60,   68,   62,
    1176       408,  407,  406,   69,   77,  414,   46,   79,   72,  458,
    1177       458,  458,  458,  430,  458,  458,  458,  458,  458,   93,
    1178       118,  458,  113,    0,  458,  458,  458,  458,  109,  458,
    1179       458,  458,  110,  113,  124,  458,  458,  458,  458,  458,
    1180       458,    0,  410,  103,  402,  410,  413,  400,   95,  394,
    1181       408,  392,  116,  389,  102,  397,  394,  392,  388,  391,
    1182 
    1183         0,  388,  113,  388,  397,  381,  118,    0,  380,  393,
    1184       121,  383,   68,  126,  379,  393,  389,  373,  377,  122,
    1185       372,  458,  458,  153,  458,  163,  150,  164,  401,  400,
    1186       374,    0,  373,  383,  384,  366,  122,  374,    0,  379,
    1187       373,  375,  378,    0,  366,  376,  375,  370,  356,  372,
    1188       350,    0,  368,  140,  351,  364,  348,  352,  361,    0,
    1189       348,  355,  128,  346,  352,  155,  342,  349,  354,  344,
    1190       352,  345,  335,  334,  348,  333,  338,  345,  344,  335,
    1191       336,  338,  356,  355,  354,  353,  324,  321,  329,  328,
    1192       319,  331,  316,  321,  316,    0,  148,  317,  326,  311,
    1193 
    1194       316,  145,  323,  316,    0,  307,  308,  307,  314,  305,
    1195       302,    0,  309,  318,  306,  300,  296,  304,  313,  301,
    1196       303,  306,  301,    0,  292,  305,  306,  295,  288,  303,
    1197       279,    0,    0,    0,    0,  297,  292,  291,  298,    0,
    1198         0,    0,  295,  158,  292,  291,  289,  286,  275,  275,
    1199       282,  286,  285,  275,    0,    0,  278,  267,  280,  283,
    1200         0,    0,    0,  264,  273,    0,  262,  266,  272,  273,
    1201       276,  273,  272,  270,  262,  269,  252,  257,  257,  253,
    1202         0,  254,  247,  246,  245,  250,  261,  241,  241,    0,
    1203       254,  238,  256,  242,  254,  236,  252,  238,    0,    0,
    1204 
    1205       240,  236,  224,    0,  247,  242,  227,  234,  225,    0,
    1206         0,  242,  237,  223,    0,    0,  235,    0,  231,  229,
    1207       223,  217,  226,  221,  228,  219,  220,  211,  216,  226,
    1208         0,  216,  213,    0,  208,  223,  219,    0,  217,    0,
    1209       216,  203,  218,    0,  204,  205,  202,  198,    0,  201,
    1210       204,    0,    0,  211,  202,    0,  199,    0,    0,    0,
    1211       190,    0,  191,  203,  201,  201,  194,    0,  182,    0,
    1212       168,  153,  152,  155,  163,  158,    0,    0,    0,  155,
    1213         0,    0,  161,    0,  159,  150,    0,  147,  137,  132,
    1214       121,    0,   91,    0,   39,    0,    0,    0,  458,  203,
    1215 
    1216       209,  215,  220,  223,  227
     1143        0,    0,   53,   54,  449,  448,   55,   56,  450,  453,
     1144       64,  453,  446,  453,  422,  453,  453,  453,  453,  453,
     1145      453,   56,   60,   62,   57,  453,   39,  426,  425,    0,
     1146      453,  453,  453,   44,   35,   48,   55,   60,   68,   62,
     1147      403,  402,  401,   69,   77,  409,   46,   79,   72,  453,
     1148      453,  453,  453,  425,  453,  453,  453,  453,  453,   93,
     1149      118,  453,  113,    0,  453,  453,  453,  453,  109,  453,
     1150      453,  453,  110,  113,  124,  453,  453,  453,  453,  453,
     1151      453,    0,  405,  103,  397,  405,  408,  395,   95,  389,
     1152      403,  387,  116,  384,  102,  392,  389,  387,  383,  386,
     1153
     1154        0,  383,  113,  383,  392,  376,  118,    0,  375,  388,
     1155      121,  378,   68,  126,  374,  388,  384,  368,  372,  122,
     1156      367,  453,  453,  146,  453,  162,  144,  166,  396,  395,
     1157      369,    0,  368,  378,  379,  361,  121,  369,    0,  374,
     1158      368,  370,  373,    0,  361,  371,  370,  365,  351,  367,
     1159      345,    0,  363,  133,  346,  359,  343,  347,  356,    0,
     1160      343,  350,  127,  341,  347,  142,  337,  344,  349,  339,
     1161      347,  340,  330,  344,  329,  334,  341,  340,  331,  332,
     1162      334,  352,  351,  350,  349,  320,  317,  325,  324,  315,
     1163      327,  312,  317,  312,    0,  145,  313,  322,  307,  312,
     1164
     1165      143,  319,  312,    0,  303,  304,  303,  310,  301,  298,
     1166        0,  305,  314,  302,  296,  292,  300,  309,  297,  299,
     1167      302,  297,    0,  288,  301,  302,  285,  300,  276,    0,
     1168        0,    0,    0,  294,  289,  288,  295,    0,    0,    0,
     1169      292,  156,  289,  288,  286,  283,  272,  272,  279,  283,
     1170      282,  272,    0,    0,  275,  264,  277,  280,    0,    0,
     1171        0,  261,  270,    0,  259,  263,  269,  270,  273,  270,
     1172      269,  267,  259,  266,  255,  255,  251,    0,  252,  245,
     1173      244,  243,  248,  259,  239,  239,    0,  252,  236,  254,
     1174      240,  252,  234,  250,  236,    0,    0,  238,  234,  222,
     1175
     1176        0,  245,  240,  225,  232,  223,    0,    0,  240,  235,
     1177        0,    0,  234,    0,  230,  228,  222,  216,  225,  220,
     1178      227,  218,  219,  210,  215,  225,    0,  215,  212,    0,
     1179      207,  222,  218,    0,  216,    0,  215,  202,  217,  203,
     1180      204,  201,  197,    0,  200,  203,    0,    0,  210,  201,
     1181        0,  198,    0,    0,    0,  189,    0,  190,  202,  200,
     1182      202,  195,    0,  185,    0,  188,  153,  152,  156,  164,
     1183      159,    0,    0,    0,  155,    0,    0,  161,    0,  159,
     1184      150,    0,  148,  154,  156,  131,    0,   91,    0,   39,
     1185        0,    0,    0,  453,  201,  207,  213,  218,  221,  225
     1186
    12171187   );
    12181188  constant Integer yy_def[:] = array(
    1219       399,    1,  400,  400,  401,  401,  402,  402,  399,  399,
    1220       399,  399,  399,  399,  403,  399,  399,  399,  399,  399,
    1221       399,  399,  399,  399,  399,  399,  399,  399,  399,  404,
    1222       399,  399,  399,  404,  404,  404,  404,  404,  404,  404,
    1223       404,  404,  404,  404,  404,  404,  404,  404,  404,  399,
    1224       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1225       399,  399,  403,  405,  399,  399,  399,  399,  399,  399,
    1226       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1227       399,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1228       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1229 
    1230       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1231       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1232       404,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1233       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1234       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1235       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1236       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1237       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1238       404,  404,  399,  399,  399,  399,  404,  404,  404,  404,
    1239       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1240 
    1241       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1242       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1243       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1244       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1245       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1246       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1247       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1248       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1249       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1250       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1251 
    1252       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1253       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1254       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1255       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1256       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1257       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1258       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1259       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1260       404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
    1261       404,  404,  404,  404,  404,  404,  404,  404,    0,  399,
    1262 
    1263       399,  399,  399,  399,  399
     1189      394,    1,  395,  395,  396,  396,  397,  397,  394,  394,
     1190      394,  394,  394,  394,  398,  394,  394,  394,  394,  394,
     1191      394,  394,  394,  394,  394,  394,  394,  394,  394,  399,
     1192      394,  394,  394,  399,  399,  399,  399,  399,  399,  399,
     1193      399,  399,  399,  399,  399,  399,  399,  399,  399,  394,
     1194      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1195      394,  394,  398,  400,  394,  394,  394,  394,  394,  394,
     1196      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1197      394,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1198      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1199
     1200      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1201      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1202      399,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1203      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1204      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1205      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1206      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1207      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1208      399,  394,  394,  394,  394,  399,  399,  399,  399,  399,
     1209      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1210
     1211      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1212      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1213      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1214      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1215      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1216      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1217      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1218      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1219      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1220      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1221
     1222      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1223      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1224      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1225      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1226      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1227      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1228      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1229      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1230      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
     1231      399,  399,  399,    0,  394,  394,  394,  394,  394,  394
     1232
    12641233   );
    12651234  constant Integer yy_nxt[:] = array(
     
    12731242       71,   68,   69,   85,   76,   72,   73,   77,   74,   86,
    12741243       60,   60,   83,   70,   84,   75,   87,   89,   91,   88,
    1275       398,   90,  115,  116,   75,  101,   96,  168,   92,  123,
     1244      393,   90,  115,  116,   75,  101,   96,  168,   92,  123,
    12761245
    12771246       93,  102,  103,   94,   97,  111,   98,  120,  121,   99,
    12781247       95,  107,  169,  108,  117,  100,  109,  110,  124,   61,
    12791248      125,  112,   61,  118,  113,   69,  127,   73,  138,   74,
    1280       119,  397,  126,  128,  132,  129,   75,  129,   64,  139,
     1249      119,  392,  126,  128,  132,  129,   75,  129,   64,  139,
    12811250      130,  126,  128,  133,  147,   75,  143,  144,  148,  155,
    1282       161,  165,  396,  156,  180,  157,  170,  171,  181,  123,
    1283       216,  395,  192,  145,  162,  166,  127,  193,  172,  394,
    1284       217,  173,  174,  128,  183,  185,  183,  185,  124,  184,
    1285       186,  207,  128,  220,  247,  253,  286,  208,  393,  254,
    1286       392,  391,  390,  389,  388,  387,  386,  248,  385,  384,
    1287 
    1288       383,  221,  287,   52,   52,   52,   52,   52,   52,   55,
    1289        55,   55,   55,   55,   55,   57,   57,   57,   57,   57,
    1290        57,   63,  382,   63,   63,   63,   82,  381,   82,   63,
    1291       380,   63,   63,  379,  378,  377,  376,  375,  374,  373,
    1292       372,  371,  370,  369,  368,  367,  366,  365,  364,  363,
    1293       362,  361,  360,  359,  358,  357,  356,  355,  354,  353,
    1294       352,  351,  350,  349,  348,  347,  346,  345,  344,  343,
    1295       342,  341,  340,  339,  338,  337,  336,  335,  334,  333,
    1296       332,  331,  330,  329,  328,  327,  326,  325,  324,  323,
    1297       322,  321,  320,  319,  318,  317,  316,  315,  314,  313,
    1298 
    1299       312,  311,  310,  309,  308,  307,  306,  305,  304,  303,
    1300       302,  301,  300,  299,  298,  297,  296,  295,  294,  293,
    1301       292,  291,  290,  289,  288,  285,  284,  283,  282,  281,
    1302       280,  279,  278,  277,  276,  275,  274,  273,  272,  271,
    1303       270,  269,  268,  267,  266,  265,  264,  263,  262,  261,
    1304       260,  259,  258,  257,  256,  255,  252,  251,  250,  249,
    1305       246,  245,  244,  243,  242,  241,  240,  239,  238,  186,
    1306       186,  184,  184,  237,  236,  235,  234,  233,  232,  231,
    1307       230,  229,  228,  227,  226,  225,  224,  223,  222,  219,
    1308       218,  215,  214,  213,  212,  211,  210,  209,  206,  205,
    1309 
    1310       204,  203,  202,  201,  200,  199,  198,  197,  196,  195,
    1311       194,  191,  190,  189,  188,  187,  130,  130,  182,  179,
    1312       178,  177,  176,  175,  167,  164,  163,  160,  159,  158,
    1313       154,  153,  152,  151,  150,  149,  146,  142,  141,  140,
    1314       137,  136,  135,  134,  131,  122,  114,  106,  105,  104,
    1315        81,   80,   64,   62,  399,   56,   56,    9,  399,  399,
    1316       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1317       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1318       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1319       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1320 
    1321       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1322       399,  399,  399
     1251      161,  165,  123,  156,  179,  157,  170,  171,  180,  215,
     1252      127,  191,  391,  145,  162,  166,  192,  128,  172,  216,
     1253      219,  124,  173,  182,  206,  182,  128,  184,  183,  184,
     1254      207,  245,  185,  251,  283,  390,  389,  252,  220,  388,
     1255      387,  386,  385,  384,  246,  383,  382,  381,  380,  379,
     1256
     1257      284,   52,   52,   52,   52,   52,   52,   55,   55,   55,
     1258       55,   55,   55,   57,   57,   57,   57,   57,   57,   63,
     1259      378,   63,   63,   63,   82,  377,   82,   63,  376,   63,
     1260       63,  375,  374,  373,  372,  371,  370,  369,  368,  367,
     1261      366,  365,  364,  363,  362,  361,  360,  359,  358,  357,
     1262      356,  355,  354,  353,  352,  351,  350,  349,  348,  347,
     1263      346,  345,  344,  343,  342,  341,  340,  339,  338,  337,
     1264      336,  335,  334,  333,  332,  331,  330,  329,  328,  327,
     1265      326,  325,  324,  323,  322,  321,  320,  319,  318,  317,
     1266      316,  315,  314,  313,  312,  311,  310,  309,  308,  307,
     1267
     1268      306,  305,  304,  303,  302,  301,  300,  299,  298,  297,
     1269      296,  295,  294,  293,  292,  291,  290,  289,  288,  287,
     1270      286,  285,  282,  281,  280,  279,  278,  277,  276,  275,
     1271      274,  273,  272,  271,  270,  269,  268,  267,  266,  265,
     1272      264,  263,  262,  261,  260,  259,  258,  257,  256,  255,
     1273      254,  253,  250,  249,  248,  247,  244,  243,  242,  241,
     1274      240,  239,  238,  237,  236,  185,  185,  183,  183,  235,
     1275      234,  233,  232,  231,  230,  229,  228,  227,  226,  225,
     1276      224,  223,  222,  221,  218,  217,  214,  213,  212,  211,
     1277      210,  209,  208,  205,  204,  203,  202,  201,  200,  199,
     1278
     1279      198,  197,  196,  195,  194,  193,  190,  189,  188,  187,
     1280      186,  130,  130,  181,  178,  177,  176,  175,  174,  167,
     1281      164,  163,  160,  159,  158,  154,  153,  152,  151,  150,
     1282      149,  146,  142,  141,  140,  137,  136,  135,  134,  131,
     1283      122,  114,  106,  105,  104,   81,   80,   64,   62,  394,
     1284       56,   56,    9,  394,  394,  394,  394,  394,  394,  394,
     1285      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1286      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1287      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1288      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1289
     1290      394,  394,  394,  394,  394,  394,  394,  394
    13231291   );
    13241292  constant Integer yy_chk[:] = array(
     
    13321300       23,   22,   22,   35,   25,   23,   24,   25,   24,   35,
    13331301        7,    8,   34,   22,   34,   24,   36,   37,   38,   36,
    1334       395,   37,   47,   47,   24,   40,   39,  113,   38,   60,
     1302      390,   37,   47,   47,   24,   40,   39,  113,   38,   60,
    13351303
    13361304       38,   40,   40,   38,   39,   45,   39,   49,   49,   39,
    13371305       38,   44,  113,   44,   48,   39,   44,   44,   60,   61,
    13381306       63,   45,   61,   48,   45,   69,   73,   74,   89,   74,
    1339        48,  393,   69,   73,   84,   75,   74,   75,   63,   89,
     1307       48,  388,   69,   73,   84,   75,   74,   75,   63,   89,
    13401308       75,   69,   73,   84,   95,   74,   93,   93,   95,  103,
    1341       107,  111,  391,  103,  120,  103,  114,  114,  120,  124,
    1342       163,  390,  137,   93,  107,  111,  127,  137,  114,  389,
    1343       163,  114,  114,  127,  126,  128,  126,  128,  124,  126,
    1344       128,  154,  127,  166,  197,  202,  244,  154,  388,  202,
    1345       386,  385,  383,  380,  376,  375,  374,  197,  373,  372,
    1346 
    1347       371,  166,  244,  400,  400,  400,  400,  400,  400,  401,
    1348       401,  401,  401,  401,  401,  402,  402,  402,  402,  402,
    1349       402,  403,  369,  403,  403,  403,  404,  367,  404,  405,
    1350       366,  405,  405,  365,  364,  363,  361,  357,  355,  354,
    1351       351,  350,  348,  347,  346,  345,  343,  342,  341,  339,
    1352       337,  336,  335,  333,  332,  330,  329,  328,  327,  326,
    1353       325,  324,  323,  322,  321,  320,  319,  317,  314,  313,
    1354       312,  309,  308,  307,  306,  305,  303,  302,  301,  298,
    1355       297,  296,  295,  294,  293,  292,  291,  289,  288,  287,
    1356       286,  285,  284,  283,  282,  280,  279,  278,  277,  276,
    1357 
    1358       275,  274,  273,  272,  271,  270,  269,  268,  267,  265,
    1359       264,  260,  259,  258,  257,  254,  253,  252,  251,  250,
    1360       249,  248,  247,  246,  245,  243,  239,  238,  237,  236,
    1361       231,  230,  229,  228,  227,  226,  225,  223,  222,  221,
    1362       220,  219,  218,  217,  216,  215,  214,  213,  211,  210,
    1363       209,  208,  207,  206,  204,  203,  201,  200,  199,  198,
    1364       195,  194,  193,  192,  191,  190,  189,  188,  187,  186,
    1365       185,  184,  183,  182,  181,  180,  179,  178,  177,  176,
    1366       175,  174,  173,  172,  171,  170,  169,  168,  167,  165,
    1367       164,  162,  161,  159,  158,  157,  156,  155,  153,  151,
    1368 
    1369       150,  149,  148,  147,  146,  145,  143,  142,  141,  140,
    1370       138,  136,  135,  134,  133,  131,  130,  129,  121,  119,
    1371       118,  117,  116,  115,  112,  110,  109,  106,  105,  104,
    1372       102,  100,   99,   98,   97,   96,   94,   92,   91,   90,
    1373        88,   87,   86,   85,   83,   54,   46,   43,   42,   41,
    1374        29,   28,   15,   13,    9,    6,    5,  399,  399,  399,
    1375       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1376       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1377       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1378       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1379 
    1380       399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
    1381       399,  399,  399
     1309      107,  111,  124,  103,  120,  103,  114,  114,  120,  163,
     1310      127,  137,  386,   93,  107,  111,  137,  127,  114,  163,
     1311      166,  124,  114,  126,  154,  126,  127,  128,  126,  128,
     1312      154,  196,  128,  201,  242,  385,  384,  201,  166,  383,
     1313      381,  380,  378,  375,  196,  371,  370,  369,  368,  367,
     1314
     1315      242,  395,  395,  395,  395,  395,  395,  396,  396,  396,
     1316      396,  396,  396,  397,  397,  397,  397,  397,  397,  398,
     1317      366,  398,  398,  398,  399,  364,  399,  400,  362,  400,
     1318      400,  361,  360,  359,  358,  356,  352,  350,  349,  346,
     1319      345,  343,  342,  341,  340,  339,  338,  337,  335,  333,
     1320      332,  331,  329,  328,  326,  325,  324,  323,  322,  321,
     1321      320,  319,  318,  317,  316,  315,  313,  310,  309,  306,
     1322      305,  304,  303,  302,  300,  299,  298,  295,  294,  293,
     1323      292,  291,  290,  289,  288,  286,  285,  284,  283,  282,
     1324      281,  280,  279,  277,  276,  275,  274,  273,  272,  271,
     1325
     1326      270,  269,  268,  267,  266,  265,  263,  262,  258,  257,
     1327      256,  255,  252,  251,  250,  249,  248,  247,  246,  245,
     1328      244,  243,  241,  237,  236,  235,  234,  229,  228,  227,
     1329      226,  225,  224,  222,  221,  220,  219,  218,  217,  216,
     1330      215,  214,  213,  212,  210,  209,  208,  207,  206,  205,
     1331      203,  202,  200,  199,  198,  197,  194,  193,  192,  191,
     1332      190,  189,  188,  187,  186,  185,  184,  183,  182,  181,
     1333      180,  179,  178,  177,  176,  175,  174,  173,  172,  171,
     1334      170,  169,  168,  167,  165,  164,  162,  161,  159,  158,
     1335      157,  156,  155,  153,  151,  150,  149,  148,  147,  146,
     1336
     1337      145,  143,  142,  141,  140,  138,  136,  135,  134,  133,
     1338      131,  130,  129,  121,  119,  118,  117,  116,  115,  112,
     1339      110,  109,  106,  105,  104,  102,  100,   99,   98,   97,
     1340       96,   94,   92,   91,   90,   88,   87,   86,   85,   83,
     1341       54,   46,   43,   42,   41,   29,   28,   15,   13,    9,
     1342        6,    5,  394,  394,  394,  394,  394,  394,  394,  394,
     1343      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1344      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1345      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1346      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
     1347
     1348      394,  394,  394,  394,  394,  394,  394,  394
    13821349   );
    13831350
  • OMCompiler/Compiler/Lexers/lexerModelicaDiff.l

    r83be5f2b rf33851b5  
    8989"redeclare" return REDECLARE;
    9090"replaceable" return REPLACEABLE;
    91 "results" return RESULTS;
    9291"then" return THEN;
    9392"true" return TRUE;
Note: See TracChangeset for help on using the changeset viewer.