Skip to content

Commit

Permalink
add new Erlang decimal format, fix #1010
Browse files Browse the repository at this point in the history
  • Loading branch information
Sergei Elin authored and ignatov committed Jul 11, 2023
1 parent bdc8368 commit fe76839
Show file tree
Hide file tree
Showing 5 changed files with 206 additions and 126 deletions.
252 changes: 127 additions & 125 deletions gen/org/intellij/erlang/parser/_ErlangLexer.java
Original file line number Diff line number Diff line change
Expand Up @@ -110,19 +110,19 @@ private static int zzUnpackcmap_blocks(String packed, int offset, int [] result)
"\1\27\1\30\1\31\17\32\1\33\1\34\1\35\1\32"+
"\1\36\1\2\1\0\1\37\1\0\1\40\2\5\1\6"+
"\1\41\1\32\1\42\1\43\1\44\1\45\1\46\2\0"+
"\1\20\1\47\1\50\1\51\1\52\1\53\2\0\1\54"+
"\1\55\1\56\1\57\1\60\1\61\15\32\1\62\2\32"+
"\1\63\1\64\4\32\1\65\2\0\1\5\1\0\1\41"+
"\1\66\1\67\1\20\1\70\1\20\1\71\1\72\1\32"+
"\1\73\3\32\1\74\1\75\1\76\3\32\1\77\1\32"+
"\1\100\1\101\1\32\1\102\2\32\1\103\1\104\1\32"+
"\1\105\1\5\1\0\2\32\1\106\1\32\1\107\1\110"+
"\1\111\1\32\1\112\3\32\1\113\1\0\1\70\1\114"+
"\1\32\1\115\1\116\1\117\3\32\1\120\1\32\1\121"+
"\1\122";
"\1\20\1\0\1\47\1\50\1\51\1\52\1\53\2\0"+
"\1\54\1\55\1\56\1\57\1\60\1\61\15\32\1\62"+
"\2\32\1\63\1\64\4\32\1\65\2\0\1\5\1\0"+
"\1\41\1\66\1\67\1\20\1\70\1\20\1\71\1\72"+
"\1\32\1\73\3\32\1\74\1\75\1\76\3\32\1\77"+
"\1\32\1\100\1\101\1\32\1\102\2\32\1\103\1\104"+
"\1\32\1\105\1\5\1\0\2\32\1\106\1\32\1\107"+
"\1\110\1\111\1\32\1\112\3\32\1\113\1\0\1\70"+
"\1\114\1\32\1\115\1\116\1\117\3\32\1\120\1\32"+
"\1\121\1\122";

private static int [] zzUnpackAction() {
int [] result = new int[166];
int [] result = new int[167];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
Expand Down Expand Up @@ -155,22 +155,22 @@ private static int zzUnpackAction(String packed, int offset, int [] result) {
"\0\u0780\0\u07bc\0\u07f8\0\264\0\u0834\0\264\0\u0870\0\264"+
"\0\u08ac\0\360\0\264\0\u08e8\0\u0924\0\264\0\u0960\0\u099c"+
"\0\u09d8\0\264\0\264\0\264\0\264\0\u0a14\0\264\0\u0a50"+
"\0\u0a8c\0\u0ac8\0\264\0\264\0\264\0\264\0\264\0\u0b04"+
"\0\u0b40\0\264\0\264\0\264\0\264\0\264\0\264\0\u0b7c"+
"\0\u0a8c\0\u0ac8\0\u0b04\0\264\0\264\0\264\0\264\0\264"+
"\0\u0b40\0\u0b7c\0\264\0\264\0\264\0\264\0\264\0\264"+
"\0\u0bb8\0\u0bf4\0\u0c30\0\u0c6c\0\u0ca8\0\u0ce4\0\u0d20\0\u0d5c"+
"\0\u0d98\0\u0dd4\0\u0e10\0\u0e4c\0\u0618\0\u0e88\0\u0ec4\0\u0618"+
"\0\u0f00\0\u0f3c\0\u0f78\0\u0fb4\0\u0ff0\0\264\0\u08ac\0\u102c"+
"\0\u1068\0\u10a4\0\u10e0\0\u111c\0\264\0\u0a50\0\u1158\0\u1194"+
"\0\264\0\264\0\u11d0\0\u120c\0\u1248\0\u1284\0\u12c0\0\u0618"+
"\0\u0618\0\u0618\0\u12fc\0\u1338\0\u1374\0\u0618\0\u13b0\0\u0618"+
"\0\u0618\0\u13ec\0\u0618\0\u1428\0\u1464\0\u0618\0\u0618\0\u14a0"+
"\0\u0618\0\u14dc\0\u1518\0\u1554\0\u1590\0\u0618\0\u15cc\0\u0618"+
"\0\u0618\0\u0618\0\u1608\0\u0618\0\u1644\0\u1680\0\u16bc\0\u0618"+
"\0\u16f8\0\u16f8\0\u0618\0\u1734\0\u0618\0\u0618\0\u0618\0\u1770"+
"\0\u17ac\0\u17e8\0\u0618\0\u1824\0\u0618\0\u0618";
"\0\u0d98\0\u0dd4\0\u0e10\0\u0e4c\0\u0e88\0\u0618\0\u0ec4\0\u0f00"+
"\0\u0618\0\u0f3c\0\u0f78\0\u0fb4\0\u0ff0\0\u102c\0\264\0\u08ac"+
"\0\u1068\0\u10a4\0\u10e0\0\u111c\0\u1158\0\264\0\u0a50\0\u1194"+
"\0\u11d0\0\264\0\264\0\u120c\0\u1248\0\u1284\0\u12c0\0\u12fc"+
"\0\u0618\0\u0618\0\u0618\0\u1338\0\u1374\0\u13b0\0\u0618\0\u13ec"+
"\0\u0618\0\u0618\0\u1428\0\u0618\0\u1464\0\u14a0\0\u0618\0\u0618"+
"\0\u14dc\0\u0618\0\u1518\0\u1554\0\u1590\0\u15cc\0\u0618\0\u1608"+
"\0\u0618\0\u0618\0\u0618\0\u1644\0\u0618\0\u1680\0\u16bc\0\u16f8"+
"\0\u0618\0\u1734\0\u1770\0\u0618\0\u17ac\0\u0618\0\u0618\0\u0618"+
"\0\u17e8\0\u1824\0\u1860\0\u0618\0\u189c\0\u0618\0\u0618";

private static int [] zzUnpackRowMap() {
int [] result = new int[166];
int [] result = new int[167];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
Expand Down Expand Up @@ -205,107 +205,109 @@ private static int zzUnpackRowMap(String packed, int offset, int [] result) {
"\2\66\1\0\33\66\1\67\35\66\2\70\2\0\4\70"+
"\1\71\63\70\11\0\1\72\77\0\1\73\75\0\1\74"+
"\10\0\1\75\63\0\1\76\102\0\1\77\52\0\1\100"+
"\11\0\1\101\1\0\2\102\74\0\1\103\2\0\1\104"+
"\63\0\1\105\6\0\1\106\1\107\65\0\1\110\2\0"+
"\1\111\1\0\1\112\1\113\1\114\72\0\1\115\1\116"+
"\72\0\1\117\66\0\2\32\6\0\3\32\4\0\1\32"+
"\1\0\26\32\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\5\43\1\120\6\43\1\121\11\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\1\122\3\43\1\123"+
"\7\43\1\124\1\125\1\43\1\126\4\43\1\127\1\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\1\130"+
"\25\43\25\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\10\43\1\131\15\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\12\43\1\132\1\43\1\133\11\43\25\0"+
"\2\43\6\0\3\43\4\0\1\43\1\0\21\43\1\134"+
"\4\43\25\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\26\43\25\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\5\43\1\135\20\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\1\136\25\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\15\43\1\137\10\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\5\43\1\140\10\43"+
"\1\141\7\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\4\43\1\142\21\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\16\43\1\143\7\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\7\43\1\144\16\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\15\43"+
"\1\145\10\43\75\0\1\146\1\0\11\57\1\0\24\57"+
"\1\147\35\57\5\0\1\57\1\0\3\57\4\0\1\57"+
"\1\0\1\57\1\0\1\57\4\0\1\57\5\0\3\57"+
"\1\150\2\57\1\0\1\57\1\0\3\57\6\0\1\57"+
"\1\0\3\57\1\0\1\57\3\0\1\57\1\0\1\57"+
"\74\62\2\65\2\0\70\65\1\66\1\0\1\66\2\0"+
"\1\66\1\0\3\66\4\0\1\66\1\0\1\66\1\0"+
"\1\151\4\0\1\66\5\0\3\66\1\152\2\66\1\0"+
"\1\66\1\0\3\66\6\0\1\66\1\0\3\66\1\0"+
"\1\66\3\0\1\66\1\0\1\66\2\70\2\0\70\70"+
"\2\153\2\0\4\153\1\154\63\153\20\0\1\155\75\0"+
"\2\156\7\0\2\156\6\0\26\156\25\0\2\157\56\0"+
"\1\100\11\0\1\101\1\0\2\160\77\0\1\161\73\0"+
"\1\162\66\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\20\43\1\163\5\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\3\43\1\164\22\43\25\0\2\43\6\0"+
"\3\43\4\0\1\43\1\0\14\43\1\165\11\43\25\0"+
"\2\43\6\0\3\43\4\0\1\43\1\0\6\43\1\166"+
"\17\43\25\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\15\43\1\167\10\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\16\43\1\170\7\43\25\0\2\43\6\0"+
"\3\43\4\0\1\43\1\0\12\43\1\171\3\43\1\172"+
"\7\43\25\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\15\43\1\173\10\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\17\43\1\174\1\175\5\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\22\43\1\176\3\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\17\43"+
"\1\177\6\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\3\43\1\200\22\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\14\43\1\201\11\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\25\43\1\202\25\0"+
"\2\43\6\0\3\43\4\0\1\43\1\0\20\43\1\203"+
"\11\0\1\101\1\0\2\102\15\0\1\103\56\0\1\104"+
"\2\0\1\105\63\0\1\106\6\0\1\107\1\110\65\0"+
"\1\111\2\0\1\112\1\0\1\113\1\114\1\115\72\0"+
"\1\116\1\117\72\0\1\120\66\0\2\32\6\0\3\32"+
"\4\0\1\32\1\0\26\32\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\5\43\1\121\6\43\1\122\11\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\1\123"+
"\3\43\1\124\7\43\1\125\1\126\1\43\1\127\4\43"+
"\1\130\1\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\1\131\25\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\10\43\1\132\15\43\25\0\2\43\6\0"+
"\3\43\4\0\1\43\1\0\12\43\1\133\1\43\1\134"+
"\11\43\25\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\21\43\1\135\4\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\26\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\5\43\1\136\20\43\25\0\2\43\6\0"+
"\3\43\4\0\1\43\1\0\1\137\25\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\15\43\1\140\10\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\5\43"+
"\1\141\10\43\1\142\7\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\4\43\1\143\21\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\16\43\1\144\7\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\7\43"+
"\1\145\16\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\15\43\1\146\10\43\75\0\1\147\1\0\11\57"+
"\1\0\24\57\1\150\35\57\5\0\1\57\1\0\3\57"+
"\4\0\1\57\1\0\1\57\1\0\1\57\4\0\1\57"+
"\5\0\3\57\1\151\2\57\1\0\1\57\1\0\3\57"+
"\6\0\1\57\1\0\3\57\1\0\1\57\3\0\1\57"+
"\1\0\1\57\74\62\2\65\2\0\70\65\1\66\1\0"+
"\1\66\2\0\1\66\1\0\3\66\4\0\1\66\1\0"+
"\1\66\1\0\1\152\4\0\1\66\5\0\3\66\1\153"+
"\2\66\1\0\1\66\1\0\3\66\6\0\1\66\1\0"+
"\3\66\1\0\1\66\3\0\1\66\1\0\1\66\2\70"+
"\2\0\70\70\2\154\2\0\4\154\1\155\63\154\20\0"+
"\1\156\75\0\2\157\7\0\2\157\6\0\26\157\25\0"+
"\2\160\56\0\1\100\11\0\1\101\1\0\2\161\15\0"+
"\1\103\54\0\2\161\77\0\1\162\73\0\1\163\66\0"+
"\2\43\6\0\3\43\4\0\1\43\1\0\20\43\1\164"+
"\5\43\25\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\4\43\1\204\21\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\2\43\1\205\10\43\1\206\12\43\25\0"+
"\2\43\6\0\3\43\4\0\1\43\1\0\25\43\1\207"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\4\43"+
"\1\210\21\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\16\43\1\211\7\43\35\0\10\57\54\0\1\212"+
"\103\0\10\66\32\0\2\153\2\0\70\153\2\154\2\0"+
"\70\154\22\0\2\157\10\0\1\213\12\0\1\213\44\0"+
"\1\101\1\0\2\160\72\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\4\43\1\214\21\43\25\0\2\43\6\0"+
"\3\43\4\0\1\43\1\0\1\215\25\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\3\43\1\216\22\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\10\43"+
"\1\217\15\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\20\43\1\220\5\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\16\43\1\221\7\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\4\43\1\222\21\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\2\43"+
"\1\223\23\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\4\43\1\224\21\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\1\43\1\225\24\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\12\43\1\226\13\43"+
"\3\43\1\165\22\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\14\43\1\166\11\43\25\0\2\43\6\0"+
"\3\43\4\0\1\43\1\0\6\43\1\167\17\43\25\0"+
"\2\43\6\0\3\43\4\0\1\43\1\0\15\43\1\170"+
"\10\43\25\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\16\43\1\171\7\43\25\0\2\43\6\0\3\43\4\0"+
"\1\43\1\0\12\43\1\172\3\43\1\173\7\43\25\0"+
"\2\43\6\0\3\43\4\0\1\43\1\0\15\43\1\174"+
"\10\43\25\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\17\43\1\175\1\176\5\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\22\43\1\177\3\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\17\43\1\200\6\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\3\43"+
"\1\201\22\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\14\43\1\202\11\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\25\43\1\203\25\0\2\43\6\0"+
"\3\43\4\0\1\43\1\0\20\43\1\204\5\43\25\0"+
"\2\43\6\0\3\43\4\0\1\43\1\0\4\43\1\205"+
"\21\43\25\0\2\43\6\0\3\43\4\0\1\43\1\0"+
"\2\43\1\206\10\43\1\207\12\43\25\0\2\43\6\0"+
"\3\43\4\0\1\43\1\0\25\43\1\210\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\4\43\1\211\21\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\16\43"+
"\1\212\7\43\35\0\10\57\54\0\1\213\103\0\10\66"+
"\32\0\2\154\2\0\70\154\2\155\2\0\70\155\22\0"+
"\2\160\10\0\1\214\4\0\1\101\5\0\1\214\44\0"+
"\1\101\1\0\2\161\15\0\1\103\54\0\2\43\6\0"+
"\3\43\4\0\1\43\1\0\4\43\1\215\21\43\25\0"+
"\2\43\6\0\3\43\4\0\1\43\1\0\1\216\25\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\3\43"+
"\1\217\22\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\10\43\1\220\15\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\20\43\1\221\5\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\16\43\1\222\7\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\4\43"+
"\1\227\21\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\14\43\1\230\11\43\25\0\1\66\66\0\1\231"+
"\1\0\1\231\2\0\2\232\72\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\16\43\1\233\7\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\12\43\1\234\13\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\14\43"+
"\1\235\11\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\7\43\1\236\16\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\4\43\1\237\21\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\17\43\1\240\6\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\10\43"+
"\1\241\15\43\25\0\2\232\72\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\17\43\1\242\6\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\4\43\1\243\21\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\22\43"+
"\1\244\3\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\15\43\1\245\10\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\4\43\1\246\21\43\3\0";
"\1\223\21\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\2\43\1\224\23\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\4\43\1\225\21\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\1\43\1\226\24\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\12\43"+
"\1\227\13\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\4\43\1\230\21\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\14\43\1\231\11\43\25\0\1\66"+
"\66\0\1\232\1\0\1\232\2\0\2\233\72\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\16\43\1\234\7\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\12\43"+
"\1\235\13\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\14\43\1\236\11\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\7\43\1\237\16\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\4\43\1\240\21\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\17\43"+
"\1\241\6\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\10\43\1\242\15\43\25\0\2\233\72\0\2\233"+
"\15\0\1\232\54\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\17\43\1\243\6\43\25\0\2\43\6\0\3\43"+
"\4\0\1\43\1\0\4\43\1\244\21\43\25\0\2\43"+
"\6\0\3\43\4\0\1\43\1\0\22\43\1\245\3\43"+
"\25\0\2\43\6\0\3\43\4\0\1\43\1\0\15\43"+
"\1\246\10\43\25\0\2\43\6\0\3\43\4\0\1\43"+
"\1\0\4\43\1\247\21\43\3\0";

private static int [] zzUnpacktrans() {
int [] result = new int[6240];
int [] result = new int[6360];
int offset = 0;
offset = zzUnpacktrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
Expand Down Expand Up @@ -346,12 +348,12 @@ private static int zzUnpacktrans(String packed, int offset, int [] result) {
"\2\0\1\1\2\11\5\1\3\11\1\1\1\11\5\1"+
"\1\11\5\1\2\11\17\1\1\11\1\1\1\11\1\1"+
"\1\11\1\1\1\0\1\11\1\0\1\1\1\11\3\1"+
"\4\11\1\1\1\11\2\0\1\1\5\11\2\0\6\11"+
"\26\1\1\11\2\0\1\1\1\0\2\1\1\11\3\1"+
"\2\11\30\1\1\0\15\1\1\0\15\1";
"\4\11\1\1\1\11\2\0\1\1\1\0\5\11\2\0"+
"\6\11\26\1\1\11\2\0\1\1\1\0\2\1\1\11"+
"\3\1\2\11\30\1\1\0\15\1\1\0\15\1";

private static int [] zzUnpackAttribute() {
int [] result = new int[166];
int [] result = new int[167];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
Expand Down
2 changes: 1 addition & 1 deletion src/org/intellij/erlang/parser/Erlang.flex
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ ErlangLetter = {ErlangUppercase} | {ErlangLowercase}
ErlangDigit = [0-9]
InputCharacter = [^\n]

DecimalLiteral = [0-9]+
DecimalLiteral = [0-9]+ ( _[0-9]+ )*
ExplicitRadixLiteral = [0-9]{1,2} "#" [0-9a-zA-Z]+

IntegerLiteral = {DecimalLiteral} | {ExplicitRadixLiteral}
Expand Down
12 changes: 12 additions & 0 deletions testData/parser/NewNumbers.erl
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
-export([test/0_0]).

test() ->
10_000.0_1,
10_000_000,
1.0E1_00,
1.0E-1_00.

test_errors() ->
1_000._01,
1.0E_10,
-1_.01.
65 changes: 65 additions & 0 deletions testData/parser/NewNumbers.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
ERL_FILE
ERL_ATTRIBUTE
PsiElement(-)('-')
ERL_EXPORT
PsiElement(atom_name)('export')
PsiElement(()('(')
ERL_EXPORT_FUNCTIONS
PsiElement([)('[')
ERL_EXPORT_FUNCTION
ERL_Q_ATOM
ERL_ATOM
PsiElement(atom_name)('test')
PsiElement(/)('/')
PsiElement(integer)('0_0')
PsiElement(])(']')
PsiElement())(')')
PsiElement(.)('.')
ERL_FUNCTION
ERL_FUNCTION_CLAUSE
ERL_Q_ATOM
ERL_ATOM
PsiElement(atom_name)('test')
ERL_ARGUMENT_DEFINITION_LIST
PsiElement(()('(')
PsiElement())(')')
ERL_CLAUSE_BODY
PsiElement(->)('->')
ERL_MAX_EXPRESSION
PsiElement(float)('10_000.0_1')
PsiElement(,)(',')
ERL_MAX_EXPRESSION
PsiElement(integer)('10_000_000')
PsiElement(,)(',')
ERL_MAX_EXPRESSION
PsiElement(float)('1.0E1_00')
PsiElement(,)(',')
ERL_MAX_EXPRESSION
PsiElement(float)('1.0E-1_00')
PsiElement(.)('.')
ERL_FUNCTION
ERL_FUNCTION_CLAUSE
ERL_Q_ATOM
ERL_ATOM
PsiElement(atom_name)('test_errors')
ERL_ARGUMENT_DEFINITION_LIST
PsiElement(()('(')
PsiElement())(')')
ERL_CLAUSE_BODY
PsiElement(->)('->')
ERL_MAX_EXPRESSION
PsiElement(integer)('1_000')
PsiElement(.)('.')
PsiErrorElement:'-', <attribute>, <function clause> or '?' expected, got '_01'
PsiElement(var)('_01')
PsiElement(,)(',')
PsiElement(float)('1.0')
PsiElement(var)('E_10')
PsiElement(,)(',')
PsiElement(-)('-')
PsiElement(integer)('1')
PsiElement(var)('_')
PsiElement(.)('.')
PsiElement(integer)('01')
PsiErrorElement:<q atom> expected, got '.'
PsiElement(ERROR_ELEMENT)('.')
1 change: 1 addition & 0 deletions tests/org/intellij/erlang/parser/ErlangParserTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -97,4 +97,5 @@ public ErlangParserTest() {
public void testWhitespaceEscapeInCharLiterals() { doTest(false); }
public void testMacroCallsInCompoundStringLiterals() { doTest(false); }
public void testTypo() { doTest(true); }
public void testNewNumbers() { doTest(true); }
}

0 comments on commit fe76839

Please sign in to comment.