From 9c52542ec7b7158d87d0c864cc826a28c6789364 Mon Sep 17 00:00:00 2001 From: Hayden Date: Fri, 22 Dec 2023 19:12:29 +0800 Subject: [PATCH] Feat/range boundary (#241) * feat: unify the index, line and column in all APIs * docs: describe index, line and column --- README-zh_CN.md | 71 ++++++++++++++++++++++- README.md | 72 +++++++++++++++++++++++- docs/images/column.png | Bin 0 -> 49125 bytes docs/images/index.png | Bin 0 -> 35325 bytes docs/images/line.png | Bin 0 -> 37303 bytes docs/images/token.png | Bin 0 -> 52382 bytes src/parser/common/basic-parser-types.ts | 7 ++- src/parser/common/basicParser.ts | 6 +- src/parser/common/parseErrorListener.ts | 14 +++-- 9 files changed, 159 insertions(+), 11 deletions(-) create mode 100644 docs/images/column.png create mode 100644 docs/images/index.png create mode 100644 docs/images/line.png create mode 100644 docs/images/token.png diff --git a/README-zh_CN.md b/README-zh_CN.md index 11d30ac..a31bf92 100644 --- a/README-zh_CN.md +++ b/README-zh_CN.md @@ -282,7 +282,7 @@ console.log(sqlSlices) ### 自动补全(Code Completion) 在 sql 文本的指定位置上获取自动补全信息,以 `FlinkSQL` 为例: -调用 `getSuggestionAtCaretPosition` 方法,传入 sql 内容和指定位置的行列号。 +调用 `getSuggestionAtCaretPosition` 方法,传入 sql 内容和指定位置的行列号,下文中有一些关于[自动补全位置](#自动补全功能的-caretposition)的补充说明。 + **获取关键字候选项列表** ```javascript @@ -355,6 +355,75 @@ console.log(sqlSlices)
+## 关于文本位置和文本范围 +`dt-sql-parser` 提供的部分 API 的返回结果中包含文本信息,其中关于行号、列数以及索引的范围和起始值可能会带来一些困惑。 + +### 索引(index) +索引从 0 开始,在编程领域,索引从 0 开始更符合直觉 + +![index-image](./docs/images/index.png) + +对于一个索引范围,起始索引从 0 开始,以 n-1 结束,如上图中,一个圈定蓝色文本的索引范围应该这样表示: + +```javascript +{ + startIndex: 0, + endIndex: 3 +} +``` + +### 行号(line) +行号(line)从 1 开始 + +![line-image](./docs/images/line.png) + +对于一个圈定多行的范围,行号从 1 开始,以 n 结束,一个圈定第一行和第二行的范围这样表示: +```javascript +{ + startLine: 1, + endLine: 2 +} +``` + +### 列数(column) +列数也从 1 开始 + +![column-image](./docs/images/column.png) + +将列数类比为编辑器的光标位置会更加容易理解。对于一个圈定多列的范围,列数从 1 开始,以 n+1 结束,如上图中,一个圈定蓝色文本的列数范围这样表示: + +```javascript +{ + startColumn: 1, + endColumn: 5 +} +``` + +### 自动补全功能的 CaretPosition +dt-sql-parser 的自动补全功能在设计之初就是为了在编辑器中使用,所以 `getSuggestionAtCaretPosition` 方法的第二个参数(位置信息)的格式为行列号而不是字符位置索引。这可以让自动补全功能更容易的集成到编辑器中。对于编辑器来说,只需要在特定的时机获取编辑器内的文本内容以及光标位置即可调用 `dt-sql-parser` 的自动补全功能,而不需要任何额外的计算。 + +但是在一些其他场景下,你可能需要通过转换或者计算来得到自动补全功能所需要的位置信息,那么在此之前,有一些注意事项可能是你需要关心的。 + +dt-sql-parser 的自动补全功能依赖于 [antlr4-c3](https://github.com/mike-lischke/antlr4-c3), 这是一个很棒的库。dt-sql-parser 的自动补全功能只是基于 antlr4-c3 做了一些封装和转换,包括将行列号信息转换成 antlr4-c3 需要的 token 索引,以下图为例: + +![column-image](./docs/images/token.png) + +将图中的 column 视作为光标位置,这段文本放到编辑器中,会得到 13 个可能的光标位置,而对于 dt-sql-parser 来说,这段文本被解析后会生成 4 个 Token。自动补全功能的一个重要策略是:**当光标(自动补全位置)还没有完全离开某个 Token 时,dt-sql-parser 就认为这个 Token 还没有完成,自动补全功能将会去推断这个 Token 所在的位置可以填什么。** + +举个例子,如果想要通过自动补全功能知道 `SHOW` 后面应该填什么, 那么对应的位置信息应该是: +```javascript +{ + lineNumber: 1, + column: 6 +} +``` + +此时,dt-sql-parser 会认为 `SHOW` 已经是一个完整的 Token 了,应该去推断 `SHOW` 后面可以填什么。如果传入的位置信息中 column 是 5, 那么 dt-sql-parser 会认为 `SHOW` 还没有被完成,进而去推断 `SHOW` 的位置可以填什么。也即在上图中 `column: 5` 属于 `token: 0`,`column: 6` 属于 `token: 1`。 + +对于编辑器来说,这种策略也更符合直觉。当用户输入了 `SHOW` 以后,在没有敲击空格键之前,用户大概率还没有输入完成,也许用户想要输入的是 `SHOWS` 之类的。当用户敲击了空格键,编辑器会认为用户想要输入下一个 Token,是时候询问 dt-sql-parser 下一个 Token 位置可以填哪些东西了。 + +
+ ## 许可证 [MIT](./LICENSE) diff --git a/README.md b/README.md index 21e3895..2724a2c 100644 --- a/README.md +++ b/README.md @@ -290,7 +290,7 @@ console.log(sqlSlices) Obtaining code completion information at a specified position in SQL. We can refer to the example of using `FlinkSQL`. -Invoke the `getSuggestionAtCaretPosition` method, pass the SQL content and the row and column numbers indicating the position where code completion is desired. +Invoke the `getSuggestionAtCaretPosition` method, pass the SQL content and the row and column numbers indicating the position where code completion is desired. The following are some additional explanations about [CaretPosition](#caretposition-of-code-completion). + **keyword candidates list** ```javascript @@ -358,6 +358,76 @@ The grammar-related code completion information returns an array, where each ite
+## Position and Range +Some return results of the APIs provided by `dt-sql-parser` contain text information, among which the range and start value of line number, column number and index may cause some confusion. + +### Index +The index starts at 0. In the programming field, it is more intuitive. + +![index-image](./docs/images/index.png) + +For an index range, the start index starts from 0 and ends with n-1, as shown in the figure above, an index range of blue text should be represented as follows: + +```javascript +{ + startIndex: 0, + endIndex: 3 +} +``` + +### Line +The line starts at 1. + +![line-image](./docs/images/line.png) + +For a range of multiple lines, the line number starts from 1 and ends with n. A range of the first and second lines is represented as follows: + +```javascript +{ + startLine: 1, + endLine: 2 +} +``` + +### Column +The column also starts at 1. + +![column-image](./docs/images/column.png) + +It is easier to understand by comparing the column number with the cursor position of the editor. For a range of multiple columns, the column number starts from 1 and ends with n+1, as shown in the figure above, a range of blue text columns is represented as follows: + +```javascript +{ + startColumn: 1, + endColumn: 5 +} +``` + +### CaretPosition Of Code Completion +The code completion of `dt-sql-parser` was designed to be used in the editor, so the format of the second parameter (CaretPosition) of the `getSuggestionAtCaretPosition` method is line and column number instead of character position index. This makes it easier to integrate the code completion into the editor. For the editor, it only needs to get the text content and cursor position in the editor at a specific time to call the code completion of `dt-sql-parser`, without any additional calculation. + +But in some other scenarios, you may need to get the caret position required by the code completion through conversion or calculation. Then, there are some precautions that you may need to care about before that. + +The code completion of `dt-sql-parser` depends on [antlr4-c3](https://github.com/mike-lischke/antlr4-c3), which is a great library. The code completion of `dt-sql-parser` is just encapsulated and converted based on antlr4-c3, including converting the line and column number information into the token index required by antlr4-c3, as shown in the figure below: + +![column-image](./docs/images/token.png) + +Regard the column in the figure as the cursor position, and put this text into the editor, you will get 13 possible cursor positions, while for dt-sql-parser, this text will generate 4 Tokens after being parsed. An important strategy of the code completion is: **When the cursor (CaretPosition) has not completely left a Token, dt-sql-parser thinks that this Token has not been completed, and the code completion will infer what can be filled in the position of this Token.** + +For example, if you want to know what to fill in after `SHOW` through the code completion, the caret position should be: + +```javascript +{ + lineNumber: 1, + column: 6 +} +``` + +At this time, dt-sql-parser will think that `SHOW` is already a complete Token, and it should infer what can be filled in after `SHOW`. If the column in the passed-in caret position is 5, then dt-sql-parser will think that `SHOW` has not been completed, and then infer what can be filled in the position of `SHOW`. In other words, in the figure above, `column: 5` belongs to `token: 0`, and `column: 6` belongs to `token: 1`. + +For the editor, this strategy is also more intuitive. After the user enters `SHOW`, before pressing the space key, the user probably has not finished entering, maybe the user wants to enter something like `SHOWS`. When the user presses the space key, the editor thinks that the user wants to enter the next Token, and it is time to ask dt-sql-parser what can be filled in the next Token position. + +
## License [MIT](./LICENSE) diff --git a/docs/images/column.png b/docs/images/column.png new file mode 100644 index 0000000000000000000000000000000000000000..22cdffa2c9ba5b16122400a7639a2e126139e2ec GIT binary patch literal 49125 zcmeFZ2UJt*);5X=A|ORTP`V%;L6qJRDT;KZLl6X{_ufRLNf+rIR8SzH*N}izLq~e= zp+l$v0^G$uXYcRq^Kt%jzjMd9cZ~aO$6#ccxzJ(>}N^M`SJL&e`f}Ujl^g%9l-*-0euDOaO5_6yI%a0FOpYb0xXT#|C zmXmZu?MP$3O3G$6Eh#?foSBh++un(B_naom`gs&}^cmuReh&ZeFp+H*3#;XBT0^`; zKdGHuD_4|a+7+zT+d0Gfv3FAz>aJ_HD89Q+qU_Yq@1MNzoM6OcBkvyZ!zBY@Rr;Oq-2xu#!JKV4mfb zj5}MBl3B{^Qu&B-G1Po_NT&GY+j`--v-Mfk=P%DJOl~s;HdCDhF+Cz0g`aS&TzN>z z%1w~+>WVwU@57M>JoL_zqPVF=QpW*7Op&r7g>X|CHbX+E>NPH(U{A8G;yaXiAqW$e z4-(0bIw^Zv-}9kYT9Qg-pciOLe%CJdi2Er%VNwO^(@IOfn(mo+Hl)qQfI)Y| z@*{kJ%lPMz`F7Lk>xwdqT_k>TnIubJ=|r_S@0M=r_2hc?CRs|QPt@FH$S=o;y^oy_ zM#pX}ICO)F5;k5v9GCJ44xrk;7SOJMce8ze&(_pb~ZSBQ+&^&bIy{p$&$m1*J^r`IN`_qPXcH;Kzo& zSMy1zgQui3Ur{`N_pO-K=6X-aod@K^Z<}UW9LS)w-NDW?whnv-xC{X_v%A}_X!;34 z`1>|BES8X*Y!|g9_G<|8Tkk)}vE(%8SLBPoxcQynWwez{Meb&nmpXI4>KpEqcVBb6 z`numpx!|M(8buj}PkrE#V|Xl-!<(~}b<&%=Y=8Tq{8iIn#~;NH`jYN-5F!m0q>q{U`17@FshCJYn#`0um<7Zr#p3@duU)^rY@udnZJ}d< zX3@R_uEEHDoBhG91kTr76dY-4)!!cED5~+l*n9Ds3;dE>Q~b+FuJG3<>ZKY48qYMx zzPsqGeD9BWs4}WHs-Ii{e2pR>nVQUZIm_ze9JB~l#1#Y!0_&ENKu&4?&jFuRbt^X4 z7jn8SS}Yo7U!El+?!+5We=t`x?bEOvw`{YVEbnpVM?OGqFWDq(N+A!@NWMG2oP6o| z-Sa!q_rn)b1$~3iL5%^o?*iW>)D;R+zlY>Q)TZy!LqCBNrp&*w1@ej8XBxHBx!AK5#ZKc02+Bs#yXS80H2!1@=>;P4PAAFc;iInTb* z`1VzU(1>ZT-F9Pd`vZhS*{itOnAq<(JJ`qbyO&G&Mn}3lY8>NHhUA6#P4`+}Lw?@Z z92w~TWUpuL_3MUUnGku>hQL}%NHS7bRTyGr6fN>I%`(H%$YRPurtEt8$eX^`C@a_* zX5>f=S=DoHZfTKh<=LmKUP?!Np=?M`DvQ3O}iZ3U7x*Qh)?DUnezGhsUS zI-k6PMieUbH(>9hM)-kps zmLUh4Ly+T@i&TJw!RT}8nL{n3T3X~=hnl1A9~eQsQPOFK26hIAWVtL{i3Wz>Vf?Nu z$z}u{BONNurgOP-ByIk$@Jb3sOz{if@4Q!!VzVGYvJ9u|x6>`vY!i3{hVg{qhRHtV zd0O`|_{a{!bQap6smAG%zMg0hi@D3fzG#eiV)epGmRj<@ ze(AL`-%@{rAfp!D!Ad=g{op}g>m+N=;m6kGLzP9p^b^bMjO(|KWobfbGz2F`-qe&B z&(|rdr|LQJI}aiE{E;VyhF~ACaFs>b?$U>?zG*_()`Usfm)9Lt;&xLNJ{_1G46nY3 zKIGJRUlv6|K2BEUYF9N4v&VA_aZor^sY(wa_(V`jcpr?__6t=Wg!r!~%A@w#tq_->x8a`AKRa7k`at;0bp z`lC8#Ixk;D7Ihc;`7!QDpF~G6SX&QR?^wg=Dd^WFD7=BPHx9m zGgn1<(b#|gY4If*MvQrHd}wHoOHLQ5(}l; zi%eOq==HiDRE}@#x&vIr&BrJhLblZ554ESytbUTNF)?}w~t>fHK7#N7)`JMuJX$9wkbIIYaiER;!y>e=MLw&ru<$mGZpCl=F}ql!6|wlixaRdx5xU*N%`SC z!;a*4U-7*#)VEXT0c0cU7RUkg0iNPxdqlatfqF95{66%)xoQPA`|F0VFf6D@=w2Hi zmYUraX#?>|kSad^DQgnbcBV%yUM870)^~5L>mXd|86vD_&telOQINM#!goJIr*1X~ z3YMaHWABaWsGcz0t!G$TX>Qj4Owzi6J+l@S7KZvB76utqERDYM=9bFgeq4?Rj^|Hq zV=rAiw=E*<^G_=o=ez=E&e!7ZjJ)&j_Q&Q3pn2P``aKr_yf$V!PtBE;u{eR_>sUBf zsIhQ?qbtCl|-(In^uzx=T?_Ji_ z-;c5NE>3;R6fpw4;5#VlI%8oGl3)B?!AeQHjfEwR_4J9%3y&-7lXyNXFGq!qbFRFS z@zV8*?e2F=ochcxMs^+K48;}PQ_?566gTD6DPoyk8V3Zu{Ge!| zep4-ly7Sx>(k+ynoH}vOf+u<5C&_&BBa11K-Oka}g?ePh%F5PO<|B*lg`aWAr>BF% z!&G;@y}dQ@GV;P=uLd{^lC9PSraf91%GkJC8IL6#oxw9<%{uyL;c=|EcVisf>7M$XMktqoX!^$M-vpRf7-E{sKQ z`Car>`!2T{zkSQUheb^DPapXAi(|B;sYQ$O-dt{dAT3Spg%v{d&)@cM7b|ix5~UAm z@?UPf&B#b3@wVyOe;ev=7k|DL6RfhvL4CRP25C$%eZ#B3-$(f83F{|Nl+D|xh`ii- z?Yg2Y$xN}#pRf6SZY*&>XaDm0Ab+{_D$eI@Jcp4>*8nS^9J{~QQbLaTvh~9XxB^(O z3fuf?RsZ;ge=YAnI?2CV-o1nU{r$tkw!?BqW<5GS{d60Xg=G<>O~jx(o`^-e`pg6! z(ci<(G&d|(wza3x#$(`rZe#T$P9aKXxQn>l`(t#ngkWA?UUS}a4d+B`JN_(7vuWz( z1Ok!3rxRiyb*0D~rsaHXZ*@L9aQrRz;RayLl_9SCk+sK6-oD)=H@YYLW;$yaW2X0x z(=0uFyV>=EQd)r|`P+%PJSys%ujfVlPpn)8X=1R{faw0l zL3z2A0*Ep~M#0N7A>$X|#?O>X{utk%4zhrxVu)4p^z!iK0D@c7>Vw?nR$L&5VuvdK zqa*%Tuqtu@xlBWo`*JHgkW;9nZOAT74ARel8-GeMxjc1C%Scn#VwwE4w2adK&z9Ef zt z_6*3)Hx5e%r0w=YdwSZ_`31bC!$?fS-_jS5K$Iap$-%?Oh@6-CmNtJsk$-iLLI8jq zyHyY^i?VFOfxqGe$RdBGz(1VvuN3&lh7_ZbRRw`S;BYBeUWBNS)?ZNJuQ>TDPW}jw zKMrF4LVXeD2R4**FA(}XF*Nvp%U}bhFu#rU8kO+=fF>c4d1sP(eu;?JmF`@j^?TSzl~3~1 z!Mn>uVqpz6B$6ZeoQ>XT&x%BjM+s?nZncw50;onei z()J(_$lu@JN0mk>=aRA{NH4vN{ELLr*c)9o>%n|T&;C9fCMm@C5P6KV6T7=uK7Y@) z{P=h@y?sAD$azW-q{0;^sONjSuCj34{X@h)l{YW`DNPZ~&yCH=*J3uUsw?pq;&Y@H zNUDy!23F?KJ-*aoY1S`a0Lh#TGnm#DM%w1mda47J1M9!69Hi}i_V@Oh4?n3pmptiy zAZ$TV^jO(6(Ahn$tZcxMVJ%d5EkAr_f4>HnF+7Z9m0y}5%kRnFL@U#}Uc7mt1IkRj zo$Ne$4ql6zZdTU@Wkw=v+w><w=arK$Co;$g6=m73 z-HN*0x&yEgoWYPP)_1u`#1 zTAAa^X}X29y9xo$?)<`kV|gPZS>=iENa2;us{hYz$!L)`f-ZjV|4M<9ft<@xQ1#0jYiny;ThUvV^YZ1Q zCY7S2fCl5-J$k#~Z#s)wfwNmqxy4hO`)jX@s4r5)+28VpL8i2%6D-Xw?f;yxfGqgX zGIwyeXY&boi#u(%^2kXqxx8<6&BC2&*qyT5bKFOy==s>2{rxhr*flXiB-Hj3Gq07P zOXI&LAeSQ{85tSqjE7b{3GH{T{Z6uMMmf7Bh;EwF@mbTk-h{#=hlh8Mk0+Yj)AX_T zMF!~LVYy)7O?QU1HD_{WXYk3i>m({wcy)EH3}tZWQ6T2$dqFw>J>UJa!7-K@WC6rJ zl;bb>^KWB6D-RC$?@kkmV^i%OX5~2C-xu6=6z4P+5caJXV$XFw$%SEHPrvEf-wUK4H4(1=NaN6pw!P3Kof_fm$!G^ zlMXyfKwOnVuCosP&jr-~lkoa)#nrz^guhohF;vT4_7~Mc7I}bdG~C6mY}&P7Csm!$ zfnMO1!WCinX8u+AGzH}mnYU{^$J?${>3uS?%KxB?qN}9+{iQ-{alMe8$-4uZsx5~L z7FLt+j12l%eeATdSheYqP)(pc$Jvb%_n&Jd>0I28dGc!=z5;ws5s~e~`znBoWX*f; zl=K5m!sqS%OSRh0WFc!NEwbeAnbcJ@wI?Z2i}eqJ@oxvz+%e(;dLWgrVX>yKpBVA` zMpZX5s|@3l-u~K9cQ9?9r0_=aMgTd?S*}0;`6{2NY^9=Xv)*mUH!b9+;QCTph_YbL z)t&Al4l-tf`K-G*QKGB)%+cbdgQ2^mI=LfVo)jKU!k=~@6wCL0+GXDkc4SAsGLFpQ zK&sCW&8u}cHBcM=64i3NZ5Z9U+efc1oUsMAzO-4RVV8%I=oC7QO?N3t)!+eeWAr`l z!xfj(R5P9c!{s++A3#j{=3~P*XL!nhsV~bv&BgT_oTQ^sGKb^IKnsoNl^oJPab$m- z+^Yhp!|4%T|GX%F^9)5m?M}y1zka#(4I3lTq>8-6?@Yy?>*jlawy*M*9p`duIeAR5 z9b0b3pRf5{4krWTZZ>I(cb8ko@D*jN;?!0DM8EwpJbXahCub!17wtD2fOY(5KHDD? z@Q()pI6#e$Pa1UTqF@EM0oIMz1OEb9V*}|NC-m{}L->d20B$EO23Xx5uKtUbg8-oA z0Q{hgob~VU2>j_5z!U_q z5|sDTDX)759@_}I1llElFKso*@&u-!tIopfQie3(8n7@z%jPSbm#%rrg}Xq#zqbAJ zhyQl=o0$J1vZhupukp^F{5L{4V2R+KYW6*nq)|aWCl|?`9CKLZ8iwZTBSh(Maho!#TRmxkp0Cnlwmx$#2m*2U7(<-58%fJAj|k!C`E>d^e0gsT$k= z{A7ApWI2p*7IBFyMmz?(?I=8m>9(-7LB9JQ@F&BUklk5sfG>}QrDtVhqn@`D@or9hm2dpS?Dm|$qq^bIWZWl5Wjj6=^#mK4>3>G9Djv(8^x%>& z%?bvb{_5tbhSL50c!{djIP4 zsk*JR(~YX0jKSJomIMQ@eSu+J+sF!SqeYff+lo^!8XIwyEB&A$(D^Z1>e)FDtFm5k zT<00wf8%7Ap~F|trLV;snO_$Qm`bP^Ts8r1|PFgQOf!_0;Z9{0~Ucb^I(8Wq37In3oqj<%SzDOJ` z#HmW`4;24sE%5Sr;bH_=zoBGnH;>*$_V}MUA62s?=;REiPM9U$9NYs+^Rn@(27Lv!d$nH4}ix>5p&S{BrrV(M*rO*TTZQ)PB(~6@<3=qGE8X z|FDs(Zh?8*q|wosGBd$6W^W@)X3+xAU}z z`uWI@BBAN+?~{TMC`SKmd-#Yd=|#=j4#;qCNNC-#W^HWL`Pxs8t=d7aMStd-7BS8* zGvrtTUf~-6V@b2u~Ges0y}!JPd~! zK+JKlEi!!%Xr{J)21UPYmQ?KzC%GE-#9ycpo-GB1eBM)>{Qrpe?4QLTt#1GQ7c%(oyGgFL0@m z+4W|Rv)*jHdh_U_Ydtblg(l#=n_K>C-Kh}YllAjXG&_HiS}Lk9#BJDntxKqKT)=y% z)2+@A_|Jx$#NLc=yvTCJkRjXkBI1Rp#m8YgTFHNs?>d@O87C#)^0Ag5NmiQ zbw1j+HN{LQNgU;Mypkt%x}vI@AzouhTENv z5#N@ova8=8!ej7xuw*6TT?~{d2kAE$Mji{B#rSz5d9f16A)H@RZQ5 zuE{PDv{SZY)(xFqT}ib!1V^Xn+gqk)XSnX}>)X|tE~*Pndl;IXM%BTfrA91Qu;=9& z$=raXG>li1R@N=b^>vxJzX7~}U1rfU<%vv>mONf&juK|_bhrY*=2Yz1z$mJ5E(p{K zXYyp~5O!FWdAg32I`^bwct9=VPrKuT|D@KmHR4XsFfh-aU$SW&a+%FAqdk5Hz-MR= z4GRn#?B2KcRH{tAr6RKUDG4{mmZy5=9gv);^ioNrFb+PeoRW`{qT?ze9)AwYQ%Wr>ozL&9b0aVS8xnVovfE3GraAxn`rEz zsN*#V$ga@*9U=5Q-JVvLxOS1UgSxr=7sKh!HA0u?+X4KPJm)2F%+Wq%;%lS^9v#QX65lbS4IyXj zy&iCtSlIZr$nwx&3ma$Uh)Fm)tsGaB+Of{Hv<5&_MAh!7q$t3Fxu^S1HtTrd$?@|< z4TZEp78#zbFa_$vAHXg<^Nw(*4zc*=AaxqUYUDPJigIsGIbFOKF91K8+?sP=dwhtv zZ%XMVe#i?G9JeVuJ)DL&Sq}3Rh!S%s#0B%DKHp9O8F=_%guLEILl5sGjXWyYppixz z?{5+|L(g=QJoZGEweXk*j^NdPllwx{j{YfrGYR7_RE?s(l$&Ckic1wc1OQ2S7EvLf z*LBSk!j%!GcYSbd;?4ISofkjy?>+FtF)7`Rq1uhh#JryNJ)|p5zV;K>^qUMdkf5A!bs8n>T66^TM zmN{XUcwEBVJ3Z~cuFhaJoQX^2g;H`K^F6wy<%jw~D1}1L`&XYt>5$YK&g)#A#hVt} z9fX`@x)BYK=j+eJF?jonCpc`EahELg(|#;3dcw?KEhwBOjoVFjS>kupr498|$27H-MWST5gS#zyrPyJ;#&p+@5l{r1;PeMfu_frQuABfS5f7XWZah(ez! z5er3G3u*#G%IedqvTl)G>%cVrU>EMvlFrf&3)>98)t@>Y==P?mQ62`m6&8?Z2zkh^>L+O$5Z>N`3}~U%C!wxgH=J1 z+sLaBBB!YypQT6f-gr`0MHNHe#h;nU%;bdgeCTnc;_OI`-SOD#Q%KY?c?VrHyyH6;#s=)JU?txA^2vU76xLIqBRjpTgpstTS>JW=WypA3Q5D#) zw8ddQqU?aLZ)3BrAhGOZRU1wn?%Hhie)13qS2QL5fb7bC~{cp)9L z(aBz64mt)V6*iF#0RF6f730_MJG^sQ{W8NXI|8|T81R>6oO+dbYF-y!p|gl?yVW{R z%B6bK89Xoa!^7*2*vl-AM591QW=C0avZPlNp zfZFnQ67^c!xySRr8O~Iz(ob#D@_jihm==dap{)QC9&-t|g}cwbWbo@rIPiSh5z&To#0*d?x8*Bx=4w+C|$lnYi(n1>*| z;&I3b0LJbJa5=hr#+@|m=Z^H6P1mHXV&1wf;)*5{Ojl$ToaIw>^uTDw=IJF$4nNm~6fkd^Qt&Tom5GLn%tMQ@&<0Gl{ znJuyMff{hbF+1@jx#6xd^No5BZfT<>9V5<6pAp)!(Dol#f!F>*z>SA_fI_3T#_%#CoVncV6Lm&K1?=aebvt>I~&X zD*)h%?d?F4PvfeSE*%J3m!Ta2Jm})FwZHG#AuN9Ib&&U&Ln6P+*X&+_05L!JwJ%g4 z9nV@|bEYJrF|a|ga2?8y5Ig51!+w68hGSOfXmEPfTWx?sM{R`ha{B^;Z zqi09&i&}*y)lgVXG~fac))P)%UFV?qV2O@z6D$D8h|mo{JGd`Gn&ast=OZ3{&gL@v z_@WgggtCzH89Ec2K2i}ee*H;HC%ZaBqb8Xe8;6?H;r#S4(Hl0XrT=m%t1O{JPFbL=+7h~LS^1=49F$1bCFad}Agi`REWiEH|5 zgat{fXx}1XSTww)3D&W%`StnHK%V5Si}LUd!H)0zHOD}(PNXwWt|lf&^g*PIzc=3+?04O^BG80@@SzwN5l$BuopE<=xpd2P=7FH-6Ijs zz|>9sJXO#ZsK9y7S?Sg+3ri84x@B5-%~jhpXo3*RLX$4rM|2(BWzWU=8Cf|f&b*|y zpu0mL|I^3iHjgL|Lj}s1Q0aqDUPTHFwcB%&=TjtkHVMf3VL5l$x=*-;Od>)Osr>F& zsmn6fNY}9lm{`v5=+VYo_`kB>5}Wo$C+EqW57>F@+fu zswwi*WT^^nw{=FOyMsM&L%;o6#EokE(y3F&u9@97M%TxHZAe;uyjl=~@pi~dck>$U z;LKQHNrJ?)}neD|CiECX?#ny{uMTiWKDhE~l zcH*!{p}XBDwZrvbHQgx#uaz&%c|HfD7D)G&_sbsTinC!?bOQl3mCk*FZ~O(L8b|R$ ze_Y4@A?7TKgwCrs502hHTJl!+v@c*yK%5@C`%TzEys#%J&>gw{DXzcv<1KuU-qHDm zkiv=GTPNw;HMyJ&V|SG9!Z9yTwCM#lx#lJE5Y`ba!aJ7B(^FoW*`wEJ?00&v9!|M+ zyhT!WX9zsX431Kuql~h$RhhOaxX5MKBS-?!H_$-opaDw&@R2{@5rRJ|K?6)M{Gw*6staWs$3X2?1K< zVuq(pN9^dW6-t>ktpp+T@g!S|caGkdEcIXrUH0NiNGE_NsFZICA5J)P)lrj}B-_J| zjP}24#~-#@5ELnBn?Kbc_phV{c3vt22N{vE%{p!I;@XMlL|3r8ZoLum6rl_US$>J1 zdo+rgDUkFh5j?!Mc7!H-K;z{z+0#E*SiAbY1k2@HZH~#eFA1EVlR7Myoe;vT54FMm z+K%r$m%hF(2ikv;IXJ{k)}}%_K03h&dby@?tfQwtaDh?YaCfI?7e+9S5$*KF4*bv z^R;Yg8m*cvF=@=ir~|Ykzu^o3^?5;$KR^Del1{xJ8v(Ws5vr7Cr@nYvD=i961E{Zx`mf>s+AtI4iNA@f@5!TbrPkF*vAAy zkCRLfCu>0JQ3DDKxmDwKbr-XCyti^jPutwZgZ&ei8xfo4VuNeoHfkoeuI3rA^rP$w zb9cJ?lx`>`?_p3%qfkd?B8Swr!}j$9GWP4u)7}dHn_NK%89`=Sub(~sK0pC6=6-m; zYRaKS6$5t%xgPNrjq!yh85)u%?e+%7Tj;vgym}sIDW_vTy2vFfah!*r9z6BB!vk@h;RG;oM*cQU}=~czMVA~>^S2qzHQiLCxsWMJ3T|m+6V5j zY4n!_t3qpTsrKjtDTP>KuQ!|*Hu9Y=FmzOoG5hUkFFs$JN&XHk(yiX6Yw}H%&?+<6 zY3HLJ3hL$#_g8Mt*)p$oGtV&=*{t;HI{76}jjORym=bsB;dWf~`GNyUgk{9E=*DNX zJ-~DxEwjPPTLi^!2pul4c>n%e0PhX}tcE!qohz{BTEE`ki_+=V!K)FMa|Z~`dn;D5 zf!xsT928%uHKew%_uRv2K0;QKBEHO?OES|T*D_VXm$n+AG!&7Su|xv39qJtN;t(##OQBvnfIr@aeo?^JfdV@Q%2fwkidjOQbTROmIO zv2j|zO8Z<}3yi&Mdv-dC)-Cieu&1skpF5xh3c;MaC*p#9p zQR*!6L0WgF2ARR7E#Jiy&ZDO*PtY=3qV3Fo1&+SYb%~v>4@Gx82XYQH9)f z6(IlI6=b@z{MksdbEd}aj;C$?{YS@Io^f4O9DmOo%`Qs_>rsI6+}TIPY6*uKM6C_7OJg)rNDIwqM};z7Vnitbh{U?QVCNbF{=ks8A*hv&b7=SOxr= z!|F8}8&XGkH#Clv6{P+kWd@rEP989&bA|2WTi3!sO@+=O7C?pGgRUE7oKb29c4%wc zC6L71GwcV|8Qm%F{aT@$5pN)T08k8t;tqT9d_AJCYQ>`;9m8%hHP^QXQXNFuJo0QP zq}iA2R^b~Wh%G(=A_X1LBz31l;(RVo3c8*sb-xFn4%)+)>4muV%S3skF?DpDEEK=; zgaKW7S6~x*TB*bfb7(gwuW1Ba2^cI22TCM3_1Q_g4q=hu_kE`(wnRgrPL@^iG-a(2 zRAcb8a0}XxC}>e&+9BqvOa#4J)avr0dET}4!Rd7-KolpB+trk)F{Gy2*PlM-HL5m% z0GJwemsE9Ia<}tQ$1oX}Q!{mL(6J7EZCY@Y;Pg?qJMeh4maLs!#h_NaExq@8$;lR6 z>f=egckaUs{5wJ>h);97=HnIGs#(_9sM@}xngj! zYDF&kYgb?dY9|%oh?Zx);h43Oi5^_m`_=PyywT@#0-G7r(;~aU1@@S(!C^yR&so#` z4W3!qt>es0kVxI6(Y|LulK5F;w4W$QQ#Z<$hkD# zs(w66r&xhc4)+BXR@Iz~}jhVd#Qs6xz6aJ^HE}8 z*zu~4>IxtTggdbf`vKa>6i~~hmk*ey;R9Oj{CZC7*dm~3`aBbY4G%oJP&1v6ss_=_ zHQZWuTEv5*-!TDe!j-fS)-+%-pic11>DA|M=pTgI&$m9bb%0A+sgH!yKk09czm63X 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

*xG!Q=eAUtXwh=a-}`A9qsiIK{p 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 literal 0 HcmV?d00001 diff --git a/docs/images/index.png b/docs/images/index.png new file mode 100644 index 0000000000000000000000000000000000000000..8a259e2185b6fa7fd50ed60cd891718b7dbbe315 GIT binary patch literal 35325 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 eu0Z}pV@)4bw9_#nR{O`s6Jt7AZh?AgX-#<@1 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 { export interface TextSlice { /** start at 0 */ readonly startIndex: number; + /** end at ..n-1 */ readonly endIndex: number; /** start at 1 */ readonly startLine: number; + /** end at ..n */ readonly endLine: number; /** start at 1 */ readonly startColumn: number; + /** end at ..n + 1 */ readonly endColumn: number; readonly text: string; } diff --git a/src/parser/common/basicParser.ts b/src/parser/common/basicParser.ts index de1d7da..0d609d7 100644 --- a/src/parser/common/basicParser.ts +++ b/src/parser/common/basicParser.ts @@ -244,7 +244,7 @@ export default abstract class BasicParser< startLine: start.line, endLine: stop.line, startColumn: start.charPositionInLine + 1, - endColumn: stop.charPositionInLine + stop.text.length, + endColumn: stop.charPositionInLine + 1 + stop.text.length, text: this._parsedInput.slice(start.startIndex, stop.stopIndex + 1), }; }); @@ -364,10 +364,10 @@ export default abstract class BasicParser< return { text: this._parsedInput.slice(token.startIndex, token.stopIndex + 1), startIndex: token.startIndex, - stopIndex: token.stopIndex, + endIndex: token.stopIndex, line: token.line, startColumn: token.charPositionInLine + 1, - stopColumn: token.charPositionInLine + token.text.length, + stopColumn: token.charPositionInLine + 1 + token.text.length, }; }); return { diff --git a/src/parser/common/parseErrorListener.ts b/src/parser/common/parseErrorListener.ts index 3876767..a3e976a 100644 --- a/src/parser/common/parseErrorListener.ts +++ b/src/parser/common/parseErrorListener.ts @@ -5,10 +5,14 @@ import { ATNSimulator } from 'antlr4ts/atn/ATNSimulator'; * Converted from {@link SyntaxError}. */ export interface ParseError { + /** start at 1 */ readonly startLine: number; + /** end at ..n */ readonly endLine: number; - readonly startCol: number; - readonly endCol: number; + /** start at 1 */ + readonly startColumn: number; + /** end at ..n + 1 */ + readonly endColumn: number; readonly message: string; } @@ -31,7 +35,7 @@ export interface SyntaxError { export type ErrorListener = (parseError: ParseError, originalError: SyntaxError) => void; export default class ParseErrorListener implements ANTLRErrorListener { - private _errorListener; + private _errorListener: ErrorListener; constructor(errorListener: ErrorListener) { this._errorListener = errorListener; @@ -54,8 +58,8 @@ export default class ParseErrorListener implements ANTLRErrorListener { { startLine: line, endLine: line, - startCol: charPositionInLine, - endCol: endCol, + startColumn: charPositionInLine + 1, + endColumn: endCol + 1, message: msg, }, {