(l *lexer)
| 248 | } |
| 249 | |
| 250 | func createTableDetailState(l *lexer) state { |
| 251 | l.start = l.pos |
| 252 | o := 0 |
| 253 | for { |
| 254 | c := l.next() |
| 255 | |
| 256 | if c == lprn { |
| 257 | o++ |
| 258 | } else if c == rprn { |
| 259 | o-- |
| 260 | } |
| 261 | |
| 262 | if o < 0 { |
| 263 | l.rewind() |
| 264 | l.emit(TCreateTableDetail) |
| 265 | |
| 266 | l.start = l.pos |
| 267 | |
| 268 | l.next() |
| 269 | l.emit(TRParen) |
| 270 | return createTableExtra |
| 271 | } |
| 272 | } |
| 273 | } |
| 274 | |
| 275 | func createTableExtra(l *lexer) state { |
| 276 | l.start = l.pos |