@@ -293,13 +293,13 @@ rule reference_paren_content input start depth_paren depth_curly buffer = parse
293
293
| ')'
294
294
{
295
295
buffer_add_lexeme buffer lexbuf ;
296
- if depth_paren = 0 then false
296
+ if depth_paren = 0 then
297
+ reference_content input start buffer lexbuf
297
298
else
298
- ( reference_paren_content input start (depth_paren - 1 ) depth_curly
299
- buffer lexbuf ) }
299
+ reference_paren_content input start (depth_paren - 1 ) depth_curly
300
+ buffer lexbuf }
300
301
| '}'
301
302
{
302
- buffer_add_lexeme buffer lexbuf ;
303
303
if depth_curly = 0 then (
304
304
warning
305
305
input
@@ -308,13 +308,15 @@ rule reference_paren_content input start depth_paren depth_curly buffer = parse
308
308
~what: " '}' (end of reference)"
309
309
~in_what: (
310
310
Printf. sprintf " '%s' (custom operator)"
311
- (Buffer. sub buffer 0 (( Buffer. length buffer) - 1 ) ))) ;
312
- true )
311
+ (Buffer. contents buffer ))) ;
312
+ Buffer. contents buffer )
313
313
else
314
- ( reference_paren_content input start depth_paren (depth_curly - 1 )
314
+ (
315
+ buffer_add_lexeme buffer lexbuf ;
316
+ reference_paren_content input start depth_paren (depth_curly - 1 )
315
317
buffer lexbuf ) }
316
318
| eof
317
- { false }
319
+ { reference_content input start buffer lexbuf }
318
320
| _
319
321
{
320
322
buffer_add_lexeme buffer lexbuf ;
@@ -328,11 +330,7 @@ and reference_content input start buffer = parse
328
330
| '('
329
331
{
330
332
buffer_add_lexeme buffer lexbuf ;
331
- let ref_closed = reference_paren_content input start 0 0 buffer lexbuf in
332
- if ref_closed then
333
- Buffer. contents buffer
334
- else
335
- reference_content input start buffer lexbuf
333
+ reference_paren_content input start 0 0 buffer lexbuf
336
334
}
337
335
| '"' [^ '"' ]* '"'
338
336
{
0 commit comments