Tag
parsing
- Aug 22, 2026 Operator Precedence Tables and Why They Are a Design Artifact How precedence is encoded in a grammar, why the table is not arbitrary, and what goes wrong when a new operator is fitted into an existing hierarchy. programming languages
- Jul 6, 2026 Critical Bits and Unknown-Field Handling How protocols distinguish a field that may be ignored from one that must be understood, and why the default for unknown fields decides whether a protocol can change. internet protocols
- Jun 14, 2026 SQL Injection as a Failure of the Tokenization Boundary Why a database cannot distinguish a value from a statement once they are concatenated into one string, and how separate parameter transport restores the boundary. security
- Jun 4, 2026 Unambiguous Message Framing in Cryptographic Protocols Why a byte string must decode to exactly one message structure, how length prefixes and canonical encodings achieve it, and where parsing ambiguities become key-recovery attacks. cryptography
- Mar 10, 2026 Contextual Keywords and Extending a Grammar in Place How a language adds new syntax without reserving a word, why soft keywords are resolved by the parser rather than the lexer, and what the compatibility technique costs in ambiguity. programming languages
- Feb 6, 2026 The Dangling Else and How Grammars Resolve Ambiguity Why an if-statement grammar is ambiguous, how shift-reduce parsers settle the conflict by default, and what brace-less and indentation-based designs cost instead. programming languages
- Jun 29, 2025 Tolerant Parsing and Its Limits What the robustness principle actually licenses, where lenient receivers create security and interoperability problems, and how specifications narrow the tolerance they once encouraged. internet protocols
- Nov 27, 2024 Chomsky Normal Form and the CYK Table How rewriting a grammar so every rule is A to BC or A to a makes cubic-time recognition possible, and why the table is indexed by substrings rather than by derivation prefixes. computation theory
- Oct 25, 2024 Character Encoding Determination Before the Parser Runs A byte order mark, an HTTP charset parameter, and a meta prescan of the first 1024 bytes compete to decide how bytes become characters, and a late declaration can force a reparse. web platform
- Jul 19, 2024 Why Linters Parse: Token Streams, Syntax Trees, and the Cost of Losing Layout How a linter turns source text into tokens and trees, what separates a concrete from an abstract syntax tree, and which checks become impossible once layout is discarded. developer tools
- Jul 9, 2022 Automatic Semicolon Insertion and Restricted Productions How JavaScript decides where statements end without semicolons, why the rule lives in the parser rather than the lexer, and which line breaks silently change meaning. programming languages