Commit graph

15 commits

Author SHA1 Message Date
Daniel Kochmański
8c39ee9b50 [7] lcl_env as a vector: precise vector size
With this commit we allocate a correctly sized vector at the beginning and avoid
unnecessary resizing later.
2025-04-28 10:11:31 +02:00
Daniel Kochmański
92772b1afd bytecmp: implement flat closures
This commit replaces capturing whole LEX with an explicit vector of closed
variables. We introduce a set of additional opcodes that deal with closed
entities. Locals are referred as lcl and closed variables as lex.
2025-03-27 22:45:34 +01:00
Daniel Kochmański
295dfc0cd8 printer: fix the write_ugly method for bclosure
We've made an implicit cast from bclosure to bytecodes, so instead of a name
we've printed bytecodes itself.

Except from thsi fix we also write the closure address to make it possible to
distinguish two different closures over the same function.
2024-12-18 10:47:17 +01:00
Marius Gerbershagen
741a01da09 reader: fix reading of bclosures
The syntax had been changed in commit
    991bc3ab78, but the reader macro
    became broken in the process and commit
    835e85bc99 removed the broken
    parts. Since the reason for the change in the syntax is unclear,
    go back to the old syntax.
2018-09-01 17:31:19 +02:00
Daniel Kochmański
ca0962cdb3 Printer addresses 2018-05-04 08:38:33 +00:00
Daniel Kochmański
5e8ec11bdd cosmetic: fix indent (rest of C) 2016-05-06 08:41:52 +02:00
Matthew Mondor
8f07cd58d8 The ECL code no longer uses tabulator characters, they were replaced
by spaces.

A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Daniel Kochmański
4d19a27424 cosmetic: untabify
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-21 14:38:20 +02:00
Juan Jose Garcia Ripoll
825fc8cbd3 Cnil and Ct are now part of legacy 2012-06-30 23:01:40 +02:00
Juan Jose Garcia Ripoll
64a9168434 CHARACTERP, BASE_CHAR_P, BASE_CHAR_CODE_P, CODE_CHAR, CHAR_CODE, REAL_TYPE, IMMEDIATE, IMMEDIATE_TAG, FIXNUM_TAG, FIXNUM_MINUSP, FIXNUM_PLUSP, FIXNUMP and fix get the ecl_ prefix 2012-06-06 11:19:55 +02:00
Juan Jose Garcia Ripoll
036cb55928 Fixes to remove warnings about unused variables. Replaced some uses of @(return) with ecl_return*() 2012-04-10 23:20:40 +02:00
Juan Jose Garcia Ripoll
991bc3ab78 Changed reader/writer syntax for bytecodes so that shared constants remain shared. 2012-02-09 23:02:29 +01:00
Juanjo Garcia-Ripoll
a3726a2ecc Changed the bytecodes compiler so that constants are stored in a vector and are shared by the main form and all its children (functions) 2012-02-06 17:06:14 +01:00
Juan Jose Garcia Ripoll
6b00c54dd3 Save locations also in bytecompiled code 2011-06-05 15:20:55 +02:00
Juan Jose Garcia Ripoll
79d8e9b569 Split printer into separate files, factorizing those for unreadable printing 2010-10-28 23:05:25 +02:00