soltar
Generate Solidity Code from its Abstract Syntax Tree. (The AST must follow the Spider Monkey API for defining AST nodes).
An NPM module, solidity-parser, exists if you want to generate AST of your solidity code.
npm install solidity-parser
I've also released a clone of solidity-parser called solparse - it has a lot of bug fixes and I maintain it.
npm install solparse
Installation
npm install --save soltar
Documentation
To use Soltar in Browser, include:
You can then access the Soltar object by using window.Soltar
or simply Soltar
.
In order to access Soltar's functionality in Node.js, require()
it like:
let Soltar = ;
API
-
generate - The main function that takes 2 arguments: ast (the Solidity Code's abstract syntax tree (following the Spider monkey API) & options (optional) to confgure the output
-
version - Get version information
Example
A typical AST would look like:
The default options configuration is:
let options = format: indent: style: '\t' base: 0 newline: '\n' space: ' ' quotes: 'single' minify: false
Usage
/* AST is the solidity-parser generated Abstract Syntax Tree soltar is the require()d object*/ let options = format: indent: style: '\t' base: 0 newline: '\n\n' space: ' ' quotes: 'double' ; let sourceCode = soltar; console;
Output
contract Vote {
address public creator;
function Vote () {
creator = msg.sender;
}
}
The above solidity code corresponds to this Abstract Syntax Tree
See examples for a full contract example.
Future enhancements:
1. Commandline utility
PROBLEMS WITH solidity-parser
There are currently a few bugs in solidity-parser. I've listed them. You can instead choose to install solparse (see above).