From 25ef0c7bb9c448ceefe7a3d8dbc6a7c22dd7be5d Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Thu, 20 Aug 2020 08:50:44 -0400 Subject: Handle escaped quotes in strings --- c.bqn | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'c.bqn') diff --git a/c.bqn b/c.bqn index 379a8ab6..a038c3cf 100755 --- a/c.bqn +++ b/c.bqn @@ -27,14 +27,15 @@ special←<˘6‿2⥊"𝕤𝕩𝕨𝕣𝕗𝕘" spd←⥊⍉3‿0↓⌜↑⟜special⌜3‿5‿6 Tokenize←{ - r←𝕩='#'⋄s←/(≠↑2⊸↓)⊸∧𝕩='''⋄d←/𝕩='"' + r←𝕩='#'⋄s←/(≠↑2⊸↓)⊸∧𝕩='''⋄d←/dm←𝕩='"' g←⍋q←∾⟨ s⋄¯1↓d⋄/r⟩ ⋄q↩g⊏q e← g⊏∾⟨2+s⋄ 1↓d⋄(⊢-¯1↓0∾⊢)∘⊏⟜(0∾+`r)⊸//(𝕩=nl)∾1⟩ Se←{(⊏˜𝕨)Se 1¨⌾((𝕩/𝕨)⊸⊏)𝕩}⍟{0=⊑⌽𝕩} st←¯1↓Se⟜(1↑˜≠)∾⟜≠q⍋e⋄b←st/q∾˘e - ToI←¯1↓·/⁼(≠𝕩)∾˜⥊⋄f←¬≠`ToI b + ToI←¯1↓·/⁼(≠𝕩)∾˜⥊ + f←¬≠`bm←ToI b⋄f∧↩¬qe←f∧bm∧(1↓0∾˜⊢)⊸∧dm cb←(¬(st/q)⊏r)/b - lu←⍷lit←𝕩⊔˜1-˜(+`ToI⊑˘cb)×≠`ToI cb + lu←⍷lit←𝕩⊔˜1-˜(+`qe-˜ToI⊑˘cb)×≠`ToI cb cl←f/ToI⊑∘⌽˘cb c←charSet⊐f/𝕩 -- cgit v1.2.3