def empty_array_lex

qasim-bend-kit@0.1.0.2 · proof/JSON_RenderLexProof.bend:350

import qasim-bend-kit@0.1.0.2/proof/JSON_RenderLexProof.bend as JSONRenderLexProof
import Base
import qasim-bend-kit@0.1.0.2/libs/JSON.bend as J
import qasim-bend-kit@0.1.0.2/proof/JSON_SourceProof.bend as SP

350def empty_array_lex(+mode: SP.RenderMode,
351                    +boundary: Boundary,
352                    +acc: List<&2, J.Lexeme>) -> {J.lex_scan(SP.render_task(J.Arr{Nil{}}, mode, boundary_text(boundary)), J.Outside{}, SNil{}, acc) == finish(boundary, push(J.Arr{Nil{}}, mode, acc)) : List<&2, J.Lexeme>}:
353    match boundary:
354        case End{}: empty_array_end(mode, acc)
355        case Delimited{mark, suffix}:
356            Equal.trans(List<&2, J.Lexeme>,
357                J.lex_scan(SP.render_task(J.Arr{Nil{}}, mode, boundary_text(Delimited{mark, suffix})), J.Outside{}, SNil{}, acc),
358                finish(Delimited{mark, suffix}, List.append(&2, J.Lexeme, SP.reverse_source_task(J.Arr{Nil{}}, mode), acc)),
359                finish(Delimited{mark, suffix}, push(J.Arr{Nil{}}, mode, acc)),
360                SP.lex_simple_task_suffix_before_punctuation(SP.SimpleEmptyArray{}, mode, SP.punctuation_char(mark), suffix, acc, SP.punctuation_action(mark, suffix)),
361                Equal.cong(List<&2, J.Lexeme>, List<&2, J.Lexeme>,
362                    x => finish(Delimited{mark, suffix}, x),
363                    List.append(&2, J.Lexeme, SP.reverse_source_task(J.Arr{Nil{}}, mode), acc),
364                    push(J.Arr{Nil{}}, mode, acc),
365                    Equal.sym(List<&2, J.Lexeme>,
366                        push(J.Arr{Nil{}}, mode, acc),
367                        List.append(&2, J.Lexeme, SP.reverse_source_task(J.Arr{Nil{}}, mode), acc),
368                        push_append(J.Arr{Nil{}}, mode, acc))))

Uses (23)

Used by (1)