2009-02-19 17:48:46 -05:00
|
|
|
! Copyright (C) 2009 Daniel Ehrenberg.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
USING: tools.test regexp.negation regexp.transition-tables regexp.classes ;
|
|
|
|
IN: regexp.negation.tests
|
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{
|
2009-02-19 17:48:46 -05:00
|
|
|
! R/ |[^a]|.+/
|
|
|
|
T{ transition-table
|
|
|
|
{ transitions H{
|
2009-02-23 14:10:38 -05:00
|
|
|
{ 0 H{ { CHAR: a 1 } { T{ not-class f CHAR: a } -1 } } }
|
|
|
|
{ 1 H{ { t -1 } } }
|
|
|
|
{ -1 H{ { t -1 } } }
|
2015-07-02 13:34:01 -04:00
|
|
|
} }
|
2009-02-19 17:48:46 -05:00
|
|
|
{ start-state 0 }
|
2010-03-02 18:05:37 -05:00
|
|
|
{ final-states HS{ 0 -1 } }
|
2009-02-19 17:48:46 -05:00
|
|
|
}
|
2015-07-03 12:39:59 -04:00
|
|
|
} [
|
2009-02-19 17:48:46 -05:00
|
|
|
! R/ a/
|
|
|
|
T{ transition-table
|
|
|
|
{ transitions H{
|
|
|
|
{ 0 H{ { CHAR: a 1 } } }
|
2015-07-02 13:34:01 -04:00
|
|
|
{ 1 H{ } }
|
2009-02-19 17:48:46 -05:00
|
|
|
} }
|
|
|
|
{ start-state 0 }
|
2010-03-02 18:05:37 -05:00
|
|
|
{ final-states HS{ 1 } }
|
2009-02-19 17:48:46 -05:00
|
|
|
} negate-table
|
|
|
|
] unit-test
|