Eliminate the dedicated CODE_SUBCLASS opcode and instead push a null value to indicate implicit inheritance from Object. This simplifies the bytecode interpreter by using a single CODE_CLASS instruction that checks the top of stack for a null sentinel to determine whether to use the implicit Object superclass or a user-provided superclass. The change also consolidates argument counting and debug printing logic, removing the now-unnecessary case branches for CODE_SUBCLASS across the compiler, VM, and debug modules.
The .gitignore file now includes an entry for scratch.wren, a temporary Wren script left at the top level for quick testing purposes. This prevents accidental commits of ad-hoc experimentation files.
Add TOKEN_PIPEPIPE token for '||' syntax, implement or() parsing function with CODE_OR bytecode, and add VM interpreter logic that short-circuits on truthy left operand. Update .gitignore to exclude *.xccheckout files, extend test coverage for falsy behavior in and.wren and if.wren, and add comprehensive or.wren test suite verifying short-circuit semantics and truthiness rules.
Add the foundational source files for the Wren language implementation including the lexer (src/lexer.c, src/lexer.h), parser (src/parser.c, src/parser.h), token management (src/token.c, src/token.h), main entry point (src/main.c), a man page (src/wren.1), a .gitignore for build and Xcode artifacts, and a minimal example script (example/hello.wren). The lexer handles single-character tokens, names, numbers, strings, whitespace, and indentation; the parser implements a Pratt-style precedence climbing parser for expressions, blocks, and variable declarations; the token module provides doubly-linked list token storage and buffer management.