Cut core/model, reclaim, json, util comment bloat ~26% (comments only, zero code change)
This commit is contained in:
+4
-11
@@ -1,6 +1,5 @@
|
||||
// core/json implementation — see json.h. The bodies are the (previously
|
||||
// quintuplicated) bank_model / view_mode_model lexical layer, verbatim; any
|
||||
// behavioral change here changes five persisted-blob parsers at once.
|
||||
// core/json implementation — see json.h. Any behavioral change here changes
|
||||
// every persisted-blob parser that shares this lexical layer at once.
|
||||
|
||||
#include "core/json/json.h"
|
||||
|
||||
@@ -11,9 +10,7 @@
|
||||
|
||||
namespace reasampler::json {
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// emit helpers
|
||||
// ---------------------------------------------------------------------------
|
||||
// -- emit helpers -------------------------------------------------------
|
||||
|
||||
void writeEscaped(std::string& out, const std::string& s) {
|
||||
out += '"';
|
||||
@@ -75,9 +72,7 @@ void writeIntArray(std::string& out, const std::vector<int>& v) {
|
||||
out += ']';
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Reader
|
||||
// ---------------------------------------------------------------------------
|
||||
// -- Reader ---------------------------------------------------------------
|
||||
|
||||
void Reader::skipWs() {
|
||||
while (!eof()) {
|
||||
@@ -117,7 +112,6 @@ bool Reader::parseString(std::string& out) {
|
||||
case 'r': out += '\r'; break;
|
||||
case 't': out += '\t'; break;
|
||||
case 'u': {
|
||||
// Decode a \uXXXX escape to its code point.
|
||||
auto readHex4 = [&](unsigned int& cp) -> bool {
|
||||
if (pos_ + 4 > s_.size()) return false;
|
||||
cp = 0;
|
||||
@@ -149,7 +143,6 @@ bool Reader::parseString(std::string& out) {
|
||||
return false; // unpaired low surrogate — malformed
|
||||
}
|
||||
|
||||
// Encode codePoint as UTF-8.
|
||||
if (codePoint <= 0x7F) {
|
||||
out += static_cast<char>(codePoint);
|
||||
} else if (codePoint <= 0x7FF) {
|
||||
|
||||
+16
-23
@@ -1,22 +1,19 @@
|
||||
// core/json — the ONE hand-rolled JSON lexical layer (Q-W1; audit T2-02 / §2
|
||||
// "Parser ×4"). Pure: standard library only — NO REAPER, NO SWELL, NO VST3.
|
||||
// core/json — the ONE hand-rolled JSON lexical layer. Pure: standard library only
|
||||
// — NO REAPER, NO SWELL, NO VST3.
|
||||
//
|
||||
// This module owns the lexical half of the house JSON dialect: the escape-aware
|
||||
// string literal (incl. \uXXXX + surrogate pairs re-encoded as UTF-8), the bare
|
||||
// scalar tokens, the number parses (strtod/strtoll with full-token + ERANGE
|
||||
// rejection), key+':' consumption, unknown-value skipping, and the emit side
|
||||
// (escaping, %.17g / %d / %lld number rendering, the scoped object writer).
|
||||
// The DOMAIN grammars — which keys exist, what shape each value takes, what is
|
||||
// rejected at the model boundary — stay in the consumers (bank_model, bank_book,
|
||||
// view_mode_model, owned_manifest, tail_control). One lexical definition means
|
||||
// the five decoders can no longer drift on tolerance or escaping.
|
||||
// Owns the lexical half of the house JSON dialect: escape-aware string literals
|
||||
// (incl. \uXXXX + surrogate pairs re-encoded as UTF-8), bare scalar tokens, number
|
||||
// parsing (strtod/strtoll, full-token + ERANGE rejection), key+':' consumption,
|
||||
// unknown-value skipping, and the emit side (escaping, %.17g/%d/%lld rendering,
|
||||
// the scoped object writer). Domain grammars — which keys exist, what shape each
|
||||
// value takes — stay in the consumers (bank_model, bank_book, view_mode_model,
|
||||
// owned_manifest, tail_control).
|
||||
//
|
||||
// Byte-compatibility contract (load-bearing): the emit helpers reproduce the
|
||||
// prior per-module writers EXACTLY — writeEscaped's escape set, %.17g for
|
||||
// doubles (shortest form that round-trips every IEEE-754 double bit-for-bit),
|
||||
// plain decimal for ints — so a re-serialized blob is byte-identical to what
|
||||
// the pre-extraction writers produced. This was a structural dedupe, not a
|
||||
// format change; persisted .rpp ext-state must not shift by a byte.
|
||||
// Byte-compatibility contract (load-bearing): the emit helpers reproduce the prior
|
||||
// per-module writers EXACTLY — writeEscaped's escape set, %.17g for doubles
|
||||
// (shortest form that round-trips every IEEE-754 double bit-for-bit), plain
|
||||
// decimal for ints — so a re-serialized blob is byte-identical to what the
|
||||
// pre-extraction writers produced. Persisted .rpp ext-state must not shift by a byte.
|
||||
|
||||
#pragma once
|
||||
|
||||
@@ -26,9 +23,7 @@
|
||||
|
||||
namespace reasampler::json {
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// emit helpers (writer side)
|
||||
// ---------------------------------------------------------------------------
|
||||
// -- emit helpers (writer side) ----------------------------------------------
|
||||
|
||||
// Appends `s` as a quoted JSON string literal: the seven short escapes, \uXXXX
|
||||
// for remaining control chars, everything else verbatim (UTF-8 passes through).
|
||||
@@ -88,9 +83,7 @@ private:
|
||||
bool first_ = true;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Reader — the lexical cursor (parser side)
|
||||
// ---------------------------------------------------------------------------
|
||||
// -- Reader — the lexical cursor (parser side) -------------------------------
|
||||
//
|
||||
// Every method returns false on malformed input and never reads out of bounds.
|
||||
// Only the subset the house writers emit is supported. The reader borrows the
|
||||
|
||||
Reference in New Issue
Block a user