UNPKG

730 BJavaScriptView Raw
1'use strict'
2Object.defineProperty(exports, '__esModule', { value: true })
3const lex_1 = require('./lex')
4const Token = require('./token')
5function 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}
31exports.default = parse