def scan_escape_char

qasim-bend-kit@0.1.0.2 · proof/JSON_LexWhitespaceProof.bend:216

import qasim-bend-kit@0.1.0.2/proof/JSON_LexWhitespaceProof.bend as JSONLexWhitespaceProof
import Base
import qasim-bend-kit@0.1.0.2/libs/JSON.bend as J

216def scan_escape_char(+character: Char,
217                     +tail: String,
218                     +reversed: String,
219                     +acc: List<&2, J.Lexeme>,
220                     +class: J.EscapeClass,
221                     classifier: {class == J.escape_class(character) : J.EscapeClass}) -> {J.lex_scan(J.escape_char_from_class(character, class) ++ tail, J.Quoted{}, reversed, acc) == J.lex_scan(tail, J.Quoted{}, String.reverse(J.escape_char_from_class(character, class)) ++ reversed, acc) : List<&2, J.Lexeme>}:
222    match class:
223        case J.Raw{}:
224            Equal.trans(List<&2, J.Lexeme>, J.lex_scan(J.escape_char_from_class(character, J.Raw{}) ++ tail, J.Quoted{}, reversed, acc),
225                J.lex_scan(SCon{character, tail}, J.Quoted{}, reversed, acc),
226                J.lex_scan(tail, J.Quoted{}, SCon{character, reversed}, acc),
227                Equal.cong(String, List<&2, J.Lexeme>, text => J.lex_scan(text, J.Quoted{}, reversed, acc),
228                    J.escape_char_from_class(character, J.Raw{}) ++ tail, SCon{character, tail}, {==}),
229                scan_raw_string_char(character, tail, reversed, acc, classifier))
230        case J.Backslash{}: {==}
231        case J.Quote{}: {==}
232        case J.Control0{}: {==}
233        case J.Control1{}: {==}
234        case J.Control2{}: {==}
235        case J.Control3{}: {==}
236        case J.Control4{}: {==}
237        case J.Control5{}: {==}
238        case J.Control6{}: {==}
239        case J.Control7{}: {==}
240        case J.Control8{}: {==}
241        case J.Control9{}: {==}
242        case J.Control10{}: {==}
243        case J.Control11{}: {==}
244        case J.Control12{}: {==}
245        case J.Control13{}: {==}
246        case J.Control14{}: {==}
247        case J.Control15{}: {==}
248        case J.Control16{}: {==}
249        case J.Control17{}: {==}
250        case J.Control18{}: {==}
251        case J.Control19{}: {==}
252        case J.Control20{}: {==}
253        case J.Control21{}: {==}
254        case J.Control22{}: {==}
255        case J.Control23{}: {==}
256        case J.Control24{}: {==}
257        case J.Control25{}: {==}
258        case J.Control26{}: {==}
259        case J.Control27{}: {==}
260        case J.Control28{}: {==}
261        case J.Control29{}: {==}
262        case J.Control30{}: {==}
263        case J.Control31{}: {==}

Uses (14)

Used by (1)