readme
This commit is contained in:
parent
28350b6258
commit
3a8974c334
@ -1,3 +1,6 @@
|
|||||||
|
## Requires
|
||||||
|
- node
|
||||||
|
- npm
|
||||||
|
|
||||||
## Compile lemon-js
|
## Compile lemon-js
|
||||||
```bash
|
```bash
|
||||||
|
@ -13,7 +13,9 @@
|
|||||||
%code {
|
%code {
|
||||||
&&REPLACER{parsers/filters/test_code_environment.js}&&
|
&&REPLACER{parsers/filters/test_code_environment.js}&&
|
||||||
|
|
||||||
var _result = {};
|
var _result = {
|
||||||
|
error: false
|
||||||
|
};
|
||||||
var LemonJS = function(_input) {
|
var LemonJS = function(_input) {
|
||||||
_result = Object.create(null);
|
_result = Object.create(null);
|
||||||
var parser = new Parser();
|
var parser = new Parser();
|
||||||
@ -21,6 +23,10 @@
|
|||||||
var token;
|
var token;
|
||||||
var lexemes = [];
|
var lexemes = [];
|
||||||
while (token = lexer.next()) {
|
while (token = lexer.next()) {
|
||||||
|
if(_result.error) {
|
||||||
|
return { success: false }
|
||||||
|
}
|
||||||
|
|
||||||
if (token.error === 0) {
|
if (token.error === 0) {
|
||||||
console.log("PARSE", token.lexeme);
|
console.log("PARSE", token.lexeme);
|
||||||
parser.parse(parser["TOKEN_" + token.lexeme], token);
|
parser.parse(parser["TOKEN_" + token.lexeme], token);
|
||||||
@ -30,6 +36,7 @@
|
|||||||
parser.parse();
|
parser.parse();
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
success: true,
|
||||||
tree: _result.root_node,
|
tree: _result.root_node,
|
||||||
lexemes: lexemes
|
lexemes: lexemes
|
||||||
};
|
};
|
||||||
@ -37,6 +44,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
%syntax_error {
|
%syntax_error {
|
||||||
|
_result.error = "true";
|
||||||
console.log("Syntax error");
|
console.log("Syntax error");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user