我想使用像V8或Rhino这样的JS引擎来执行语法检查,而不实际执行代码。是否可以使用命令行版本或相应的库实现?有没有相关的文档可以帮助我?
我想使用像V8或Rhino这样的JS引擎来执行语法检查,而不实际执行代码。是否可以使用命令行版本或相应的库实现?有没有相关的文档可以帮助我?
我在v8方面取得了一些有限的成功:
/*
* main.cpp
*
* Created on: Aug 22, 2013
* Author: kallikanzarid
*/
#include <v8.h>
#include <iostream>
int main() {
using namespace std;
using namespace v8;
//
// See https://developers.google.com/v8/get_started
//
// Create a stack-allocated handle scope.
HandleScope handle_scope;
// Create a new context.
Handle<Context> context = Context::New();
// Here's how you could create a Persistent handle to the context, if needed.
Persistent<Context> persistent_context(context);
// Enter the created context for compiling and
// running the hello world script.
Context::Scope context_scope(context);
Local<String> source = String::New("function foo(x { console.log(x); }; foo('bar')");
Local<Script> script = Script::New(source);
persistent_context.Dispose();
return 0;
}
希望你们能够打败这个基本上是二进制语法检查器。如果没有更好的方法,我可能会尝试通过捕获异常并尝试使输出可机读来改进它。