現在、私は JavaScript で 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 形式に解析したいと考えています。