diff options
author | Adrian Thurston <thurston@complang.org> | 2015-04-28 17:16:10 -0400 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2015-04-28 17:16:10 -0400 |
commit | 8590a69c8ed31a04b24b59d69b7c0e94f8d93157 (patch) | |
tree | 5634eb38b19d6613e6346b0875dd4a9f809e693c | |
parent | a8468f23fc35a03923a7719265726cb3d89fea9b (diff) | |
download | ragel-8590a69c8ed31a04b24b59d69b7c0e94f8d93157.tar.gz |
try the current state in the ASM code generator
refs #15
-rw-r--r-- | src/asm.cc | 8 | ||||
-rw-r--r-- | test/nfa2.rl | 2 |
2 files changed, 2 insertions, 8 deletions
@@ -1129,9 +1129,7 @@ std::ostream &AsmCodeGen::STATE_GOTOS() GOTO_HEADER( st ); if ( st->nfaTargs != 0 && st->nfaTargs->length() > 0 ) { - RedNfaTargs::Iter s = *st->nfaTargs; - s.increment(); - for ( ; s.lte(); s++ ) { + for ( RedNfaTargs::Iter s = *st->nfaTargs; s.lte(); s++ ) { out << " movq " << NFA_STACK() << ", %rax\n" " movq " << NFA_TOP() << ", %rcx\n" @@ -1142,10 +1140,6 @@ std::ostream &AsmCodeGen::STATE_GOTOS() " addq $1, %rcx\n" " movq %rcx, " << NFA_TOP() << "\n"; } - - RedStateAp *targ = st->nfaTargs->data[0].state; - out << - " jmp " << LABEL( "en", targ->id ) << "\n"; } /* Load *p. */ diff --git a/test/nfa2.rl b/test/nfa2.rl index 556b8902..1726e02b 100644 --- a/test/nfa2.rl +++ b/test/nfa2.rl @@ -283,8 +283,8 @@ nfa_len: ##### OUTPUT ##### 1 12 -1002000000002 saw 80808080 +1002000000002 222222 2123 -99 |