Some parts are reproduced verbatim, the author did not even try to hide the traces. For example:
https://github.com/theMackabu/ant/blob/42e2fdb00d8b5ae39cd07a96caf77627e418ab8b/include/internal.h#L29
struct fs reproduces part of the fields and all constants with their values:
|
uint8_t tok; // Last parsed token value |
|
uint8_t consumed; // Indicator that last parsed token was consumed |
|
uint8_t flags; // Execution flags, see F_* constants below |
|
#define F_NOEXEC 1U // Parse code, but not execute |
|
#define F_LOOP 2U // We're inside the loop |
|
#define F_CALL 4U // We're inside a function call |
|
#define F_BREAK 8U // Exit the loop |
|
#define F_RETURN 16U // Return has been executed |
|
jsoff_t clen; // Code snippet length |
|
jsoff_t pos; // Current parsing position |
|
jsoff_t toff; // Offset of the last parsed token |
|
jsoff_t tlen; // Length of the last parsed token |
|
jsoff_t nogc; // Entity offset to exclude from GC |
|
jsval_t tval; // Holds last parsed numeric or string literal value |
|
jsval_t scope; // Current scope |
|
uint8_t *mem; // Available JS memory |
|
jsoff_t size; // Memory size |
|
jsoff_t brk; // Current mem usage boundary |
|
jsoff_t gct; // GC threshold. If brk > gct, trigger GC |
|
jsoff_t maxcss; // Maximum allowed C stack size usage |
|
void *cstk; // C stack pointer at the beginning of js_eval() |
https://github.com/theMackabu/ant/blob/42e2fdb00d8b5ae39cd07a96caf77627e418ab8b/src/ant.c
Reproduces uint8_t lookahead(struct js *js) from
|
static inline uint8_t lookahead(struct js *js) { |
|
uint8_t old = js->tok, tok = 0; |
|
jsoff_t pos = js->pos; |
|
js->consumed = 1; |
|
tok = next(js); |
|
js->pos = pos, js->tok = old; |
|
return tok; |
|
} |
And many others, lots of functions from elk.c are copied into src/ant.c with different degrees of additional modifications, for example:
— mkscope(struct js *js)
— jsval_t js_block(struct js *js, bool create_scope)`
— jsoff_t lkp(struct js *js, jsval_t obj, const char *buf, size_t len)
I'm not a copyright owner for your project, so it's for you to decide what to do.
Some parts are reproduced verbatim, the author did not even try to hide the traces. For example:
https://github.com/theMackabu/ant/blob/42e2fdb00d8b5ae39cd07a96caf77627e418ab8b/include/internal.h#L29
struct fsreproduces part of the fields and all constants with their values:elk/elk.c
Lines 47 to 67 in a9bb856
https://github.com/theMackabu/ant/blob/42e2fdb00d8b5ae39cd07a96caf77627e418ab8b/src/ant.c
Reproduces
uint8_t lookahead(struct js *js)fromelk/elk.c
Lines 547 to 554 in a9bb856
And many others, lots of functions from
elk.care copied intosrc/ant.cwith different degrees of additional modifications, for example:— mkscope(struct js *js)
— jsval_t js_block(struct js *js, bool create_scope)`
— jsoff_t lkp(struct js *js, jsval_t obj, const char *buf, size_t len)
I'm not a copyright owner for your project, so it's for you to decide what to do.