Commit Graph
8 Commits
Author SHA1 Message Date
Bob Nystrom 5c867fbc49 feat: add gh-pages make target to build docs and copy to gh-pages directory
Add a new `gh-pages` make target that depends on the `docs` target and copies the generated documentation from `build/docs/` into a local `gh-pages/` directory. Also update `.gitignore` to exclude the `gh-pages/` directory, which is intended to be a separate checkout of the repository for pushing to GitHub Pages.
2015-01-02 04:58:36 +00:00
Bob Nystrom e8d31eddaf feat: replace hand-written CSS with Sass compilation and update site design with new fonts and layout
- Delete doc/site/style.css and add doc/site/style.scss with Sass variables, Dosis header font, box-sizing, absolute header positioning, and link hover effects
- Update template.html to reference Dosis font, lowercase nav headings, and change tagline to "a classy little scripting language"
- Add .sass-cache/ to .gitignore and rename Makefile phony target from docs to builtin
- Modify generate_docs.py to compile style.scss via sass subprocess instead of copying static CSS
- Tweak performance.markdown and qa.markdown for minor wording improvements
2014-04-05 22:39:02 +00:00
Bob Nystrom 74b67eae67 refactor: remove separate CODE_SUBCLASS instruction, unify class creation with null sentinel
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.
2014-01-27 01:25:38 +00:00
Bob Nystrom f62ae5174e feat: restructure Makefile with debug/release builds and move scripts to subdirectory 2014-01-24 07:29:50 +00:00
Bob Nystrom 6695580df4 feat: add baseline comparison tracking to benchmark script with color-coded regression/improvement output 2013-12-08 06:14:56 +00:00
Bob Nystrom f0db2cbacd chore: add scratch.wren to gitignore for temporary Wren script testing
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.
2013-11-30 00:20:44 +00:00
Bob Nystrom 643a7c4f97 feat: add logical OR operator with short-circuit evaluation and token support
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.
2013-11-20 02:24:58 +00:00
Bob Nystrom f69250f217 feat: add initial project scaffold with lexer, parser, tokenizer, and example source
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.
2013-10-22 18:22:22 +00:00