def lex_simple_task_suffix_before_punctuation

qasim-bend-kit@0.1.0.2 · proof/JSON_SourceProof.bend:1020

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

1020def lex_simple_task_suffix_before_punctuation(+simple: SimpleValue,
1021                                              +mode: RenderMode,
1022                                              +punctuation: Char,
1023                                              +suffix: String,
1024                                              +acc: List<&2, J.Lexeme>,
1025                                              action: {J.lex_seed_action(SCon{punctuation, suffix}, J.Outside{}) == J.LexPunctuation{punctuation} : J.LexAction}) -> {J.lex_scan(render_task(simple_value(simple), mode, SCon{punctuation, SNil{}} ++ suffix), J.Outside{}, SNil{}, acc) == J.lex_scan(suffix, J.Outside{}, SNil{}, J.Punctuation{punctuation} <> List.append(&2, J.Lexeme, reverse_source_task(simple_value(simple), mode), acc)) : List<&2, J.Lexeme>}:
1026    Equal.trans(List<&2, J.Lexeme>,
1027        J.lex_scan(render_task(simple_value(simple), mode, SCon{punctuation, SNil{}} ++ suffix), J.Outside{}, SNil{}, acc),
1028        J.lex_scan(render_task(simple_value(simple), mode, SNil{}) ++ (SCon{punctuation, SNil{}} ++ suffix), J.Outside{}, SNil{}, acc),
1029        J.lex_scan(suffix, J.Outside{}, SNil{}, J.Punctuation{punctuation} <>
1030            List.append(&2, J.Lexeme, reverse_source_task(simple_value(simple), mode), acc)),
1031        Equal.cong(String, List<&2, J.Lexeme>, text => J.lex_scan(text, J.Outside{}, SNil{}, acc),
1032            render_task(simple_value(simple), mode, SCon{punctuation, SNil{}} ++ suffix),
1033            render_task(simple_value(simple), mode, SNil{}) ++ (SCon{punctuation, SNil{}} ++ suffix),
1034            Equal.sym(String,
1035                render_task(simple_value(simple), mode, SNil{}) ++ (SCon{punctuation, SNil{}} ++ suffix),
1036                render_task(simple_value(simple), mode, SCon{punctuation, SNil{}} ++ suffix),
1037                render_task_append(simple_value(simple), mode, SNil{}, SCon{punctuation, SNil{}} ++ suffix))),
1038        lex_simple_task_before_punctuation(simple, mode, punctuation, suffix, acc, action))

Uses (20)

Used by (6)