Commit Graph

369 Commits (1a38a6f63a341f20bb8a9237bfa91e32ebfd40dc)

Author SHA1 Message Date
Doug Coleman 15b13870ae peg.ebnf: Clean up EBNF: syntax.
The syntax for an EBNF parser is now ``EBNF: identifier string``. The
inline syntax went from [EBNF ...  EBNF] to EBNF[[ ]], EBNF[=[ ]=], etc.

<EBNF looked for a main word, but this functionality is just EBNF[[ ]]
now.
2017-08-05 22:23:57 -05:00
Doug Coleman e189954ecc core: Rename iota to <iota> so we can have TUPLE: iota ... ; instead of TUPLE: iota-tuple ... ; 2017-06-02 11:57:05 -05:00
Doug Coleman 7c7bb93c55 factor: Rename GENERIC# to GENERIC#:.
Fixes #1670.
2017-06-01 13:58:58 -05:00
John Benediktsson 3a6eefcc8e using ignore-errors instead of [ drop ] recover. 2017-02-09 15:50:33 -08:00
Jon Harper ccbf1c1429 core layouts, remove hardcoded tag width
109aa88b06 showed the places were it was hardcoded
2017-01-04 07:29:08 -08:00
Björn Lindqvist e629f7b289 compiler.crossref: changes the way in which dependencies are stored on words
Previosly, they were stored in three sequences in the properties
"conditional-dependencies" "effect-dependencies" and
"definition-dependencies". It seem to better to store all three
types in one big property called "dependencies".
2016-11-30 07:29:10 +01:00
Björn Lindqvist 46105b62f6 VM: change callstack>array primitive so it doesn't reverse anymore
This fixes one part of the #452 bug.
2016-10-13 01:34:55 +02:00
Björn Lindqvist 9eab4b5652 VM: make visit_instruction_operands() skip over uninitialized blocks
It will crash otherwise when compacting the code heap.
2016-09-29 06:35:35 +02:00
Björn Lindqvist a36c0cb5ac compiler.*: moving all words only relevant for testing to compiler.test 2016-08-12 15:13:51 +02:00
Björn Lindqvist ddc5ece757 alien.*: frontend varargs support! #1677
alien-invoke gets an extra parameter indicating if the call uses varargs
or not. In 99.9% of the cases, the parameter should be f, but is t if
varargs are indicated. E.g

: do-printf ( fmt d -- st ) int f "printf" { c-string double } t alien-invoke ;
2016-08-10 21:34:37 +02:00
Björn Lindqvist 00d15b66a6 compiler.tests.alien: tests for varargs calls 2016-08-02 23:36:02 +02:00
John Benediktsson 4bfcc86cc4 compiler.tests.stack-trace: use with-test-file. 2016-04-04 15:00:04 -07:00
Doug Coleman 46f781a56f compiler.tests.stack-trace: remove temp-file usage. 2016-03-31 07:37:50 -07:00
John Benediktsson 6e035c3640 compiler.tests: fix a few KERNEL-ERROR. 2016-03-22 15:22:15 -07:00
Björn Lindqvist 24db8a5d7f compiler.tests.callstack-overflow: disable test for os x 64, see #1478 2015-12-08 02:16:51 +01:00
Björn Lindqvist bc7f9ee669 VM: always use undecorated names when loading ffi functions
For win32, Factor tries four different function names when loading
stdcall and fastcall functions, in case decorated names are used in the
dll. It seems to not be necessary because a dll meant for 3rd party use
will always export undecorated
names (http://blogs.msdn.com/b/oldnewthing/archive/2004/01/12/57833.aspx).
2015-09-02 21:54:41 +02:00
Björn Lindqvist 883f65d0e4 VM: fix one callstack overflow problem by "unlocking" the callstacks
border pages

Also a new vocab compiler.tests.callstack-overflow which is supposed to
contain all tests for callstack overflow-related problems.
2015-08-14 20:19:58 -07:00
John Benediktsson 0216f9f6d1 namespaces: rename namestack* to (get-namestack) for consistency. 2015-08-13 17:53:07 -07:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07:00
Doug Coleman ce046b77c8 compiler: rename D to D: because it wants a token. Same for R -> R: 2015-08-13 15:23:10 -07:00
Doug Coleman c21a154056 core: callstack is a builtin type and a class name. rename the *stack words that grab the current stack get-foostack to avoid the callstack builtin conflict and for better symmetry with set-foostack. 2015-08-13 10:11:59 -07:00
Doug Coleman b6be8685c3 basis: ERROR: changes. 2015-08-13 03:20:39 -07:00
Doug Coleman e3ddd337e0 compiler, alien: fix some duplication in ERROR: definitions. hope this doesnt trigger more failing builds than it fixed... 2015-08-12 13:58:38 -05:00
Doug Coleman 46587f8457 factor: arch -> arch-name. fix breakage caused by other patch. 2015-08-12 11:08:24 -05:00
Doug Coleman 330c7ba156 factor: Removing SLOT: nth/at/global in favor of using change: at for tuple slots named ``at`` and change-at for hashtables.
Redo many FROM: and QUALIFIED: and using lists.
2015-08-12 08:49:02 -05:00
John Benediktsson 136d793c6e compiler.tests: remove some tests that can't work now.
check-combination-effect raises an error at parse-time.
2015-08-05 18:01:16 -07:00
Doug Coleman 1fcf96cada factor: remove """ string syntax for now. there are HEREDOC:, STRING:, escaping \", and something else soon. 2015-07-25 22:59:56 -07:00
Doug Coleman bcc78ab220 basis: whitespace. 2015-07-20 17:13:52 -07:00
Doug Coleman 618330b31e factor: rename system:vm -> vm-path to differentiate it from vm:vm (which is a STRUCT:) 2015-07-20 00:10:29 -07:00
Doug Coleman 1e22e9b814 factor: all FUNCTION: rename complete 2015-07-19 22:55:24 -07:00
Doug Coleman b3e8ecf738 factor: more function messups 2015-07-19 20:09:21 -07:00
Doug Coleman 6f6007570a factor: Fix rename issues. 2015-07-19 19:56:16 -07:00
John Benediktsson c25fb5f55e update some more MACRO: effects. 2015-07-19 11:42:46 -07:00
John Benediktsson 8a3c5c2634 Fix some tests broken by optimized? rename. 2015-07-15 11:47:03 -07:00
Doug Coleman 352e5de16a core, basis, extra: Remove DOS line endings from files.
Remove whitespace from end of lines.
Add a newline to the end of each file.
2015-06-29 17:25:40 -07:00
John Benediktsson d68175f48f Some more general fixes for recent refactors. 2015-06-08 19:15:29 -07:00
Björn Lindqvist 4390561a6e compiler.cfg.*: new word reset-vreg-counter, useful for making test writing more convenient 2015-04-29 09:31:55 -07:00
Björn Lindqvist ded3760d46 compiler.*: merge of ##inc-r and ##inc-d into one instruction ##inc with a loc slot
this is nice because it leads to simpler code and matches how ##peek and ##replace instructions work
2015-04-29 09:31:53 -07:00
Doug Coleman edf1bddd67 compiler.tests.optimizer: Re-enable the minor-gc test case that was
failing until bjourne's latest commits.
2015-01-22 13:03:28 -08:00
Doug Coleman b4e9334d04 compiler.tests.stack-trace: Fix unit test. 2015-01-17 13:57:56 -08:00
Doug Coleman c4fbeccfa8 compiler.tests.optimizer: Disable minor-gc test case for now. #1187. 2015-01-17 11:02:05 -08:00
Björn Lindqvist b6d25ba090 compiler.tests.stack-trace: unit tests against the #1265 bugs 2015-01-15 09:29:14 +00:00
Björn Lindqvist 79d294e4bf compiler.cfg.*: docs and more tests 2014-12-31 03:37:16 +01:00
John Benediktsson 068ddd6c7b compiler: cleanup cfg passes to have stack effect ( cfg -- ) 2014-12-11 12:48:43 -08:00
Doug Coleman cd8b686639 compiler.tests.alien: Test demonstrates padding bytes breaking struct= on linux32. Disable for now. 2014-11-24 08:20:28 -08:00
Björn Lindqvist 96396cb3ad compiler.*: use block>cfg and insns>block in many tests instead of wordier code 2014-11-22 17:31:38 -08:00
Björn Lindqvist 18d7be2c05 compiler.tests.alien: tests to make sure #1021 stays dead 2014-11-12 19:41:32 -08:00
Doug Coleman 466fe4559d ffi_test: Can actually test 62 and 63 on windows. 2014-11-10 10:30:35 -08:00
Doug Coleman 564a67ce7e compiler.tests.alien: Don't test ffi calls 61-63 on Windows. 2014-11-09 10:52:16 -08:00
Doug Coleman 1b5711cc42 compiler.tests.alien: Add structs with uint and ulonglong pairs and return them from an FFI call. macosx32 seems to be working, hopefully this will break it or confirm that it's working. Linux32 is broken, hopefully this will show how. 2014-11-08 13:39:47 -08:00