31 Commits
Author SHA1 Message Date
Dario Vladovic 3af8b5b1b0 chore: add .vscode directory to gitignore to exclude IDE project files 2020-06-06 18:42:00 +00:00
Dario Vladovic 717958190c chore: add .DS_Store entries to .gitignore for macOS system files 2020-06-06 03:09:51 +00:00
underscorediscovery 1261f974d0 chore: remove stale build artifacts and unused entries from .gitignore 2020-02-12 04:22:11 +00:00
underscorediscovery d77ca86126 chore: add /util/vs2017/wren/obj to gitignore for build artifacts 2019-09-28 19:21:45 +00:00
underscorediscovery 6ac5a397b9 fix: correct .gitignore path for object files from /util/vs2017/obj to /util/vs2017/lib/obj 2019-09-28 19:21:19 +00:00
Will Speak de15c1f14d fix: remove 32-bit macOS build target and update CI to only build 64-bit
Remove the i386 architecture from the libuv xcodebuild command in
util/build_libuv.py to eliminate deprecation warnings from XCode.
Update the Travis CI configuration to drop the ci_32 build target,
leaving only ci_64 for macOS builds. Also add XCBuildData cache
directory to .gitignore.
2018-10-06 08:02:10 +00:00
Bob Nystrom f25778d874 feat: vendor GYP and libuv dependencies directly into repository for offline builds
Remove dynamic dependency download during build by checking in libuv source and GYP build tooling. Update .gitignore to exclude intermediate build artifacts from the vendored deps directory, adjust Makefile to remove the now-unnecessary cleanall target and deps folder cleanup, and add the full libuv project tree including its own .gitignore, .mailmap, AUTHORS, CONTRIBUTING.md, ChangeLog, and LICENSE files.
2017-04-09 16:31:44 +00:00
Johann Muszynski 6ddc5c49f0 feat: add Visual Studio 2017 solution and project files for Windows builds
Add wren.sln, wren.vcxproj, and wren_lib.vcxproj with Debug/Release and Win32/x64 configurations targeting v141 toolset, along with .vcxproj.filters for source organization. Update .gitignore to exclude .vs/ and obj/ directories. Modify build_libuv_windows in util/libuv.py to accept an arch parameter and pass x86/x64 to vcbuild.bat.
2017-03-28 18:45:29 +00:00
Bob Nystrom ce2028302a fix: correct .gitignore patterns to use leading slash and add missing pygments lexer file 2015-11-27 19:22:09 +00:00
Rohan Singh 9f014948fa chore: remove Debug and Release intermediate directories from gitignore 2015-11-26 00:56:58 +00:00
Rohan Singh 67ceabaf75 feat: add MSVC 2013 project files and fix io.c for Windows build
Add Visual Studio 2013 solution and project files under util/msvc2013/ for both wren CLI and wren_lib static library, including proper source file filters and include paths. Update .gitignore to allow the new project directories while still ignoring Debug/Release outputs. Fix io.c to include <fcntl.h> on _WIN32 for O_RDONLY definition, replace S_IRUSR with 0 for cross-platform uv_fs_open compatibility, and correct uv_buf_t access to use request->fs.info.bufs for libuv API changes. Remove references to wren_io.c and wren_meta.c from the library project, replacing them with wren_opt_meta.c and wren_opt_random.c from the new optional source directory.
2015-11-18 02:54:37 +00:00
Bob Nystrom f95436f640 refactor: move libuv download to deps/ and build per-arch static libs
Move libuv download location from build/ to deps/ so that make clean does not
remove the downloaded source. Introduce per-architecture libuv static library
naming (build/libuv-32.a, build/libuv-64.a) and pass arch parameter through
build_libuv_linux and build_libuv functions. Add cleanall target to remove
deps/ separately from build artifacts.
2015-08-29 02:31:03 +00:00
Bob Nystrom a6ad88c9cd chore: remove duplicate build result patterns and reorder Xcode entries in .gitignore 2015-03-23 13:33:29 +00:00
Bryan C 1c7dfe230d feat: add wren_lib static library project and refactor VS solution to separate CLI and VM sources
Add a new wren_lib static library project to the Visual Studio 2013 solution, moving all VM source files (wren_compiler.c, wren_core.c, wren_debug.c, wren_io.c, wren_utils.c, wren_value.c, wren_vm.c) from the wren executable project into the library. The wren project now only contains CLI-specific sources (main.c, io.c, vm.c) and links against wren_static_d.lib. Update .gitignore to exclude Debug/ and Release/ build output directories.
2015-03-16 18:52:33 +00:00
Bryan C 71616093ab fix: correct source file paths in msvc2013 vcxproj and add vs cache to gitignore
Update all ClCompile and ClInclude relative paths in wren.vcxproj to reflect the new src/cli/ and src/vm/ directory structure, and append Visual Studio cache and user-specific file patterns to .gitignore to prevent committing build artifacts.
2015-03-16 13:30:16 +00:00
Bob Nystrom c4ef964f92 refactor: move benchmark directory under test and update all references
The benchmark directory is relocated from the project root into the test directory, and all scripts, documentation links, and gitignore paths are updated accordingly. The test runner is also refactored to explicitly walk subdirectories (core, io, language, limit) instead of using a single test root, and a new test/README.md is added to document the test suite structure. Additionally, the constructor test for the Foo class is updated to add a zero-arity constructor and adjust expected output strings.
2015-03-14 19:45:56 +00:00
Bob Nystrom af58528e88 chore: move gh-pages output directory under build/ and update .gitignore
The gh-pages directory is now created inside build/ instead of at the project root.
The .gitignore entry for the old gh-pages location is removed, and the Makefile
cp target is updated from gh-pages to build/gh-pages.
2015-03-14 19:19:03 +00:00
Bob Nystrom 2cdc57dda8 feat: restructure Makefile to delegate builds to script/wren.mk and output to bin/ and lib/ directories
The monolithic Makefile is replaced with a thin wrapper that invokes
script/wren.mk for each configuration. Build artifacts are now placed
in bin/ (executables) and lib/ (static/shared libraries) instead of
the project root. The .gitignore is updated accordingly, and the
getting-started documentation reflects the new output layout.
2015-02-22 18:19:23 +00:00
Bob Nystrom 6609bf2412 feat: add clang/OS X shared library support with dylib extension in Makefile
Introduce conditional detection of Darwin target to set appropriate shared library flags and extension (.dylib instead of .so). Refactor static and shared library build targets into combined `libwren` and `libwrend` phony targets that produce both .a and .dylib/.so files, and update .gitignore to exclude the new .dylib artifacts.
2015-01-29 03:50:53 +00:00
Peter Reijnders 65366b49d1 feat: add shared library build targets for libwren.so and libwrend.so
Extend the Makefile to produce both static (.a) and shared (.so) library variants for debug and release configurations, updating the clean target and .gitignore accordingly.
2015-01-27 14:05:53 +00:00
Bob Nystrom d11f24eb50 chore: move XCode project file from root to project/xcode/ directory
- Relocate wren.xcodeproj into project/xcode/ subdirectory
- Remove build_xcode/ from .gitignore as it is no longer at root level
- Update all internal PBXBuildFile references to use new file paths
2015-01-21 01:14:30 +00:00
Bob Nystrom 26fd4d2192 feat: refactor Value union to uint64_t and add C++98 compatibility for Wren VM
- Replace Value union with plain uint64_t typedef under WREN_NAN_TAGGING, removing num/bits field access
- Add wrenValueToNum and wrenNumToValue helper functions for double conversion
- Remove wrenValuesEqual function from wren_value.c as bitwise comparison is now direct
- Update Makefile with CPPFLAGS for C++98 compilation and add release-cpp build target
- Add wren-cpp and libwren-cpp.a to .gitignore for C++ build artifacts
2015-01-16 05:12:51 +00:00
Bob Nystrom 1e49dc666a chore: add shared library artifacts to gitignore and clarify makefile comment for lib build
Add libwren.a and libwrend.a to .gitignore to prevent tracking of static library build outputs, and update the Makefile comment to explain that main.c is excluded from shared library object lists.
2015-01-04 18:02:50 +00:00
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