目前我正在开发一个解析 Haskell 语言的 JavaScript 解析器。我正在研究 Esprima.JS 并希望在它之上构建将解析 Haskell 语言。根据我的理解,我需要从一个基本部分开始,比如数字(它们在 Haskell 语言中的使用方式)运算符,然后是高级选项。我对它非常陌生,任何有关资源的帮助都对我有用
我正在遵循 Esprima.js 的这种模式
Token={
//Haskell
PosToken:10
//Should i have to declare all tokens of Haskell over here
};
TokenName={};
TokenName[Toke.PosToken]='PosToken';
//Should i have to all tokens of Haskell Overhere
FnExprTokens=[//Assignment and other operators];
Syntax={
//Haskell Expressions
HsExp:'HsExp',
HsStmt:'HsStmt',
HsFieldUpdate: 'HsFieldUpdate',
//and so on for other expression types
};
PropertyKind={};
//Error Messages
Messages={
};
Regex={};
我应该遵循这个过程还是改进其他事情。如果我想在 Esprima.js 上构建(http://esprima.org/),流程是否相同。Esprima.js 比 acorn.js 更容易理解(虽然代码行更少,速度也更快)。我想将 Haskell 解析为 Mozilla AST 格式。任何帮助将不胜感激。