-1
我創建了一個語法並使用IntelliJ生成了適當的JavaScript目標文件。JavaScript中的監聽器未執行目標
解析過程似乎工作正常,因爲我得到錯誤(或沒有錯誤),由於附加的錯誤偵聽器。
但我無法讓我的自定義偵聽器正常運行。我想語言轉換到另一個,但聽者被忽略:
var chars = new antlr4.InputStream(this.test);
var lexer = new dnpMDLexer.dnpMDLexer(chars);
var tokens = new antlr4.CommonTokenStream(lexer);
var parser = new dnpMDParser.dnpMDParser(tokens);
parser.buildParseTrees = true;
parser.removeErrorListeners();
var errors = [];
var errorListener = new ErrorListener(errors);
parser.addErrorListener(errorListener);
var tree = parser.dnpMD();
var listener = new DnpMDListener();
antlr4.tree.ParseTreeWalker.DEFAULT.walk(listener, tree);
而這裏的(實現的,現在只是一些功能)爲監聽器代碼:我缺少的是正確的
var dnpMDParserListener = require('./lib/dnpMD/dnpMDParserListener.js').dnpMDParserListener;
var DnpMDListener = function() {
dnpMDParserListener.call(this);
return this;
};
DnpMDListener.prototype = Object.create(dnpMDParserListener.prototype);
DnpMDListener.prototype.constructor = DnpMDListener;
DnpMDListener.prototype.enterDnpMD = function(ctx) {
console.log("dnp: " + ctx);
}
DnpMDListener.prototype.enterHead = function(ctx) {
console.log("Head: " + ctx);
}
DnpMDListener.prototype.enterHeadline = function(ctx) {
console.log("Headline: " + ctx);
}
現在?