1 | 'use strict'
|
2 | Object.defineProperty(exports, '__esModule', { value: true })
|
3 | const lex_1 = require('./lex')
|
4 | const Token = require('./token')
|
5 | function parse(body) {
|
6 | const tokens = lex_1.default(body)
|
7 | let token
|
8 | let file = new File()
|
9 | let cur = new File()
|
10 | console.log(tokens)
|
11 | while ((token = tokens.shift())) {
|
12 | switch (token.type) {
|
13 | case 'default':
|
14 | cur = new Token.DefaultMachine(token)
|
15 | file.addToken(cur)
|
16 | break
|
17 | case 'machine':
|
18 | cur = new Token.Machine(token)
|
19 | file.addToken(cur)
|
20 | break
|
21 | case 'newline':
|
22 | cur = file
|
23 | cur.addToken(token)
|
24 | break
|
25 | default:
|
26 | cur.addToken(token)
|
27 | }
|
28 | }
|
29 | return file
|
30 | }
|
31 | exports.default = parse
|