| 47445 | } |
| 47446 | |
| 47447 | function state_pseudostart() { |
| 47448 | if(gathered.length === 0 && !quote) { |
| 47449 | quote = /['"]/.test(c) ? c : null |
| 47450 | |
| 47451 | if(quote) { |
| 47452 | return |
| 47453 | } |
| 47454 | } |
| 47455 | |
| 47456 | if(quote) { |
| 47457 | if(!escaped && c === quote) { |
| 47458 | quote = null |
| 47459 | |
| 47460 | return |
| 47461 | } |
| 47462 | |
| 47463 | if(c === '\\') { |
| 47464 | escaped ? gathered.push(c) : (escaped = true) |
| 47465 | |
| 47466 | return |
| 47467 | } |
| 47468 | |
| 47469 | escaped = false |
| 47470 | gathered.push(c) |
| 47471 | |
| 47472 | return |
| 47473 | } |
| 47474 | |
| 47475 | gathered.push(c) |
| 47476 | |
| 47477 | if(c === '(') { |
| 47478 | ++depth |
| 47479 | } else if(c === ')') { |
| 47480 | --depth |
| 47481 | } |
| 47482 | |
| 47483 | if(!depth) { |
| 47484 | gathered.pop() |
| 47485 | stream.queue({ |
| 47486 | type: rhs |
| 47487 | , data: lhs + '(' + gathered.join('') + ')' |
| 47488 | }) |
| 47489 | |
| 47490 | state = READY |
| 47491 | lhs = rhs = cmp = null |
| 47492 | gathered.length = 0 |
| 47493 | } |
| 47494 | |
| 47495 | return |
| 47496 | } |
| 47497 | |
| 47498 | function state_attr_start() { |
| 47499 | state_gather(true) |