BioJulia / Automa.jl

A julia code generator for regular expressions
Other
188 stars 15 forks source link

Have Tokenizer check if in accept state when EOF #89

Closed jakobnissen closed 2 years ago

jakobnissen commented 2 years ago

In the code generated by generate_table_code for Tokenizer, if the loop exits due to reaching EOF and current state is not an accept state, the current state is set to a fail state (i.e. cs = -cs).

In other words, if the tokenizer reaches EOF while in the middle of a token, it should fail.

Resolves issue #88

codecov[bot] commented 2 years ago

Codecov Report

Merging #89 (38dc46b) into master (46d6d33) will increase coverage by 0.24%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #89      +/-   ##
==========================================
+ Coverage   92.87%   93.12%   +0.24%     
==========================================
  Files          17       17              
  Lines        1614     1818     +204     
==========================================
+ Hits         1499     1693     +194     
- Misses        115      125      +10     
Flag Coverage Δ
unittests 93.12% <100.00%> (+0.24%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/tokenizer.jl 91.86% <100.00%> (+0.72%) :arrow_up:
src/re.jl 92.51% <0.00%> (-0.89%) :arrow_down:
src/precond.jl 84.09% <0.00%> (-0.29%) :arrow_down:
src/edge.jl 100.00% <0.00%> (ø)
src/sset.jl 100.00% <0.00%> (ø)
src/memory.jl 100.00% <0.00%> (ø)
src/traverser.jl 100.00% <0.00%> (ø)
src/nfa.jl 99.29% <0.00%> (+0.07%) :arrow_up:
src/machine.jl 98.33% <0.00%> (+0.15%) :arrow_up:
src/Stream.jl 93.93% <0.00%> (+0.18%) :arrow_up:
... and 7 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 46d6d33...38dc46b. Read the comment docs.