1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-21 02:27:10 +03:00
Commit Graph

20 Commits

Author SHA1 Message Date
Joel Martin
5c99a323e9 C++: add Makefile stats targets. 2015-03-28 11:53:30 -05:00
Stephen Thirlwall
0997015d97 Split ASSERT into ASSERT and MAL_CHECK/MAL_FAIL
* ASSERT is to check for internal errors
* MAL_CHECK / MAL_FAIL is to check mal code errors
2015-03-28 22:54:26 +11:00
Stephen Thirlwall
208abaae43 Fix bugs introduced in reader hash-map/{} change
Only apparent in double-self-hosting mode.

eg. ../cpp/stepA_mal ./stepA_mal.mal ./stepA_mal.mal

Throws an error that MACROEXPAND is not defined.

TODO: figure out why modifying he hash in-place doesn't work.
2015-03-28 16:31:06 +11:00
Stephen Thirlwall
50263ccae3 Fix *host-language* 2015-03-28 15:41:19 +11:00
Stephen Thirlwall
86eae5ec38 Revert { X } -> ( hash-map X ) reader macro
The macro breaks the step 2 tests.
2015-03-28 15:20:04 +11:00
Stephen Thirlwall
f01c26838d Replace table iterations with new for-loop syntax
Didn't even know this existed!
2015-03-28 12:41:54 +11:00
Stephen Thirlwall
778f6278b7 Use g++-4.9 instead of clang-3.5 on Linux
Using the linker fix from @kanaka
2015-03-28 12:17:25 +11:00
Stephen Thirlwall
fc9009e076 Fix Reader issues on Linux
* use regex_search rather than regex_iterator

* use multiple individual whitespace and token regexes,
  rather than one giant regex

This appears to work on 14.10 and 15.04
2015-03-28 11:47:00 +11:00
Stephen Thirlwall
e78c38d020 Add README.md 2015-03-27 20:44:43 +11:00
Stephen Thirlwall
cb25284585 c++11: step A 2015-03-27 20:44:43 +11:00
Stephen Thirlwall
2f61492a1e c++11: step 9 2015-03-27 20:44:43 +11:00
Stephen Thirlwall
3a8e11b85b c++11: step 8 2015-03-27 20:44:43 +11:00
Stephen Thirlwall
5f8f337a42 c++11: step 7 2015-03-27 20:44:43 +11:00
Stephen Thirlwall
ad50bab2e5 c++11: step 6 2015-03-27 20:44:42 +11:00
Stephen Thirlwall
ff15fb140a c++11: step 5 2015-03-27 20:44:42 +11:00
Stephen Thirlwall
ad0fc149de c++11: step 4 2015-03-27 20:44:42 +11:00
Stephen Thirlwall
dc9b184b66 c++11: step 3 2015-03-27 20:44:42 +11:00
Stephen Thirlwall
179e8eafe4 c++11: step 2
Note that the optional tests for step 1 now fail because I no longer create a
hash directly in the reader, rather handle this as a reader macro:

    { LIST } -> ( hash-map LIST )

This way, once the constructor has built the hash-map, the hash is now evaluated,
and its evaluation procedure is a no-op.

I'd like to do the same with vectors, but this isn't so easy, as we use vectors
as parameter lists in fn* later on.

ie. we'd have this situation, which is incorrect (and I don't see an obvious workaround)

    (fn* [params] body) -> (fn* (vector params) body)
2015-03-27 20:44:42 +11:00
Stephen Thirlwall
8bd091e3ad c++11: step 1 2015-03-27 20:44:42 +11:00
Stephen Thirlwall
9ddaa0b91b c++11: step 0 2015-03-27 20:44:42 +11:00