47 lines
1.4 KiB
Markdown
47 lines
1.4 KiB
Markdown
|
|
## Compile lemon-js
|
|
```bash
|
|
gcc -o ./lemon-src/lemon-js -O2 ./lemon-src/lemon-js.c
|
|
|
|
npm install
|
|
```
|
|
|
|
## Start
|
|
You need create your config.js from config.template
|
|
|
|
```bash
|
|
npm main --c=<your_config>.js --t=<web|node>
|
|
```
|
|
|
|
default config -> config.js
|
|
|
|
## Special Directives
|
|
|
|
See lemon.html for additional documentation.
|
|
|
|
- %name - Set parser class name (default is "Parse")
|
|
- %include - Include code in the beginning of file (usefull for imports)
|
|
- %code - Include code in the end of file (usefull for exports or main code)
|
|
- %token_destructor - Define code which will be executed on token destruction.
|
|
- %default_destructor
|
|
- %token_prefix - Define token name prefix.
|
|
- %syntax_error - Define custom error handler for syntax erorrs.
|
|
- %parse_accept - Define handler for all accepted tokens.
|
|
- %parse_failure - Define handler for parse errors.
|
|
- %stack_overflow - Define handler for stack overflow.
|
|
- %extra_argument - **NOT SUPPORTED**
|
|
- %token_type - **NOT SUPPORTED**
|
|
- %default_type - **NOT SUPPORTED**
|
|
- %stack_size - Set default stack size.
|
|
- %start_symbol
|
|
- %left - Set left associative tokens.
|
|
- %right - Set right associative tokens.
|
|
- %nonassoc - Set non associative tokens.
|
|
- %destructor - Define custom parser destructor.
|
|
- %type - **NOT SUPPORTED**
|
|
- %fallback - Define fallback logic for tokens.
|
|
- %wildcard - Define WILDCARD token.
|
|
- %token_class - **NOT SUPPORTED**
|
|
|
|
## Original project
|
|
See https://github.com/sormy/lemon-js. |