| 33053 | // parse states --------------- |
| 33054 | |
| 33055 | function parse_stmtlist() { |
| 33056 | // determine the type of the statement |
| 33057 | // and then start parsing |
| 33058 | return stative( |
| 33059 | function() { state.scope.enter(); return Advance } |
| 33060 | , normal_mode |
| 33061 | )() |
| 33062 | |
| 33063 | function normal_mode() { |
| 33064 | if(token.data === state[0].expecting) { |
| 33065 | return state.scope.exit(), state.shift() |
| 33066 | } |
| 33067 | switch(token.type) { |
| 33068 | case 'preprocessor': |
| 33069 | state.fake(adhoc()) |
| 33070 | tokens.shift() |
| 33071 | return |
| 33072 | default: |
| 33073 | state.unshift(stmt()) |
| 33074 | return |
| 33075 | } |
| 33076 | } |
| 33077 | } |
| 33078 | |
| 33079 | function parse_stmt() { |
| 33080 | if(state[0].brace) { |