File: core-concepts.md

package info (click to toggle)
node-snapdragon 0.12.0%2Brepack-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 708 kB
  • sloc: javascript: 3,478; makefile: 3
file content (54 lines) | stat: -rw-r--r-- 728 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
WIP (draft)

# Core concepts

- [Lexer](#parser)
  * Token Stream
  * Token
  * Scope
- [Parser](#parser)
  * [Node](#node)
  * Stack
  * [AST](#ast)
- [Compiler](#compiler)
  * State
- [Renderer](#renderer)
  * Contexts
  * Context

## Lexer

- [ ] Token
- [ ] Tokens
- [ ] Scope

## Parser

### AST

TODO

### Node

#### Properties

Officially supported properties

- `type`
- `val`
- `nodes`

**Related**

- The [snapdragon-position][] plugin adds support for `node.position`, which patches the `node` with the start and end position of a captured value.
- The [snapdragon-scope][] plugin adds support for `node.scope`, which patches the `node` with lexical scope of the node.

## Compiler

TODO

## Renderer

TODO

[verb][]