NiL.JS icon indicating copy to clipboard operation
NiL.JS copied to clipboard

Question: how to check javascript code syntax (or expression syntax)?

Open lafar6502 opened this issue 5 years ago • 2 comments

What is the best way to check if block of code is syntactically correct javascript? or if an expression is correct? Without providing all variables etc, just syntax check.

And as a bonus: when parsing, is it possible to identify names of variables that the code is referring to?

And another question: is it possible to provide values of unresolved variables via some callback function from C# (variableName => value)?

BTW i really like the performance of Nil.JS, it's insanely fast compared to even simple expression evaluators in .Net

lafar6502 avatar Feb 01 '20 20:02 lafar6502

I think, the best way is using of Script.Parse with passing value for messageCallback (but be careful, some messages contains grammar mistakes due my mediocre knowledge of English language, corrections are welcome).

Yes, it's possible. Script.Parse returns root of AST of script. You can get all variables, all functions, everything. Also, all variables contains link to VariableDescriptor, which contains links to all instances of every variable.

Yes. You can make you own implementation of NiL.JS.Core.Context and override some methods. See NiL.JS.Core.WithContext for example

nilproject avatar Feb 03 '20 15:02 nilproject

An alternative if you are using a JavaScript editor like codemirror is that there are plugins that will check syntax and highlight these in the editor. It works well if this is how you are using Nil.JS

Also callout to nilproject for a reliable and fast JavaScript engine, its an important part of our solution and works well.

deandob avatar Feb 23 '20 05:02 deandob