News for hackers. Stuff that matters.
Re:mJS – A new approach to embedded scripting by drozd on Wednesday January 25, 2017 @05:05PM (#13486683)
There is no yacc code in either V7 or mJS.

V7 uses hand-written recursive-descent parser. Initially, it was using ordinary C functions, and that created a problem on systems with low stack size. E.g. each '(' starts statement parsing from the top, so 1 + (2 + (3 + (4 + 5))) consumed stack, and sometimes resulted in stack overflow in e.g. interrupt handlers or network callbacks.

Therefore we have rewritten recursive descent using C coroutines, and that is extremely sophisticated piece of work. See https://raw.githubusercontent.com/cesanta/v7/master/v7.c , search for #line 1 "v7/src/parser.c"

mJS on the other hand uses lemon parser generator - the one from sqlite project. It generates a LALR parser which is quite efficient in terms of memory.

Re:mJS – A new approach to embedded scripting by oso2k on Wednesday January 25, 2017 @05:46PM (#13486994)
So it is API compatible with V7?
Re:mJS – A new approach to embedded scripting by drozd on Wednesday January 25, 2017 @06:35PM (#13487303)
Nope. It's similar though, cause some of the concepts, and the code, were reused. mJS does not need an embedding API, really. The intent is that FFI is used.