@@ -146,3 +146,69 @@ let%expect_test "token-locations-with-missing-program-id" =
146146 WORD [x]@< prog.cob:11-20 |11-21 >
147147 .@< prog.cob:11-21 |11-22 >
148148 EOF @< prog.cob:11-22 |11-22 > |}];;
149+
150+ let % expect_test " tokens-with-tabs" =
151+ Parser_testing. show_parsed_tokens ~source_format: (SF SFFixed )
152+ ~parser_options: (Parser_testing. options ~verbose: true () )
153+ {|
154+ IDENTIFICATION DIVISION.
155+ PROGRAM - ID. prog.
156+ PROCEDURE DIVISION.
157+ STRING W - AGT " ;" W - RUBNUM (J ) " ;"
158+ W - RENVOINOTE W - DEST - NOM " ;"
159+ W - DEST - RUE1 " ;" W - DEST - RUE2 " ;"
160+ W - DEST - CP " ;" W - DEST - VILLE
161+ " ;" W - DEST - TEL1 (1 :2 ) " "
162+ W - DEST - TEL1 (3 :2 ) " "
163+ W - DEST - TEL1 (5 :2 ) " "
164+ W - DEST - TEL1 (7 :2 ) " "
165+ W - DEST - TEL1 (9 :2 )
166+ delimited by " " into LARTISAN.
167+ | };
168+ [% expect {|
169+ Tks : PROCEDURE , DIVISION , .
170+ Tks ':
171+ Tks : WORD [para-1 ], .
172+ Tks : IF
173+ Tks : WORD [X ], > , DIGITS [9 ]
174+ Tks : THEN , IF
175+ Tks : WORD [X ], > , DIGITS [6 ]
176+ Tks : THEN , DISPLAY , " 2"
177+ Incoming : {UNDERLINE , REVERSE - VIDEO , LOWLIGHT , HIGHLIGHT , FOREGROUND - COLOR ,
178+ ERASE , BLINK , BELL , BACKGROUND - COLOR }
179+ Tks ': " 2"
180+ Tks : ELSE , MOVE , DIGITS [1 ], TO
181+ Outgoing : {UNDERLINE , REVERSE - VIDEO , LOWLIGHT , HIGHLIGHT , FOREGROUND - COLOR ,
182+ ERASE , BLINK , BELL , BACKGROUND - COLOR }
183+ Tks : WORD [x]
184+ Tks : ELSE , MOVE , DIGITS [1 ], TO , WORD [x], ., EOF
185+ Tks ':
186+ PROCEDURE @< prog.cob :1-0 |1-9 >
187+ DIVISION @< prog.cob:1-10 |1-18 >
188+ .@< prog.cob:1-18 |1-19 >
189+ WORD [para-1 ]@< prog.cob:2-4 |2-10 >
190+ .@< prog.cob:2-10 |2-11 >
191+ IF @< prog.cob:3-8 |3-10 >
192+ WORD [X ]@< prog.cob:3-11 |3-12 >
193+ > @< prog.cob:3-12 |3-13 >
194+ DIGITS [9 ]@< prog.cob:3-13 |3-14 >
195+ THEN @< prog.cob:4-8 |4-12 >
196+ IF @< prog.cob:5-11 |5-13 >
197+ WORD [X ]@< prog.cob:5-14 |5-15 >
198+ > @< prog.cob:5-15 |5-16 >
199+ DIGITS [6 ]@< prog.cob:5-16 |5-17 >
200+ THEN @< prog.cob:6-11 |6-15 >
201+ DISPLAY @< prog.cob:7-14 |7-21 >
202+ "2" @< prog.cob:7-22 |7-25 >
203+ ELSE @< prog.cob:8-11 |8-15 >
204+ MOVE @< prog.cob:9-14 |9-18 >
205+ DIGITS [1 ]@< prog.cob:9-19 |9-20 >
206+ TO @< prog.cob:9-21 |9-23 >
207+ WORD [x]@< prog.cob:9-24 |9-25 >
208+ ELSE @< prog.cob:10-8 |10-12 >
209+ MOVE @< prog.cob:11-10 |11-14 >
210+ DIGITS [1 ]@< prog.cob:11-15 |11-16 >
211+ TO @< prog.cob:11-17 |11-19 >
212+ WORD [x]@< prog.cob:11-20 |11-21 >
213+ .@< prog.cob:11-21 |11-22 >
214+ EOF @< prog.cob:11-22 |11-22 > |}];;
0 commit comments