Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
POTTIER Francois
fix
Commits
c731e956
Commit
c731e956
authored
Jan 31, 2022
by
POTTIER Francois
Browse files
Fix a bug in the Brzozowski demo, reported by Chet Murthy.
Regular expressions were not correctly canonicalized.
parent
a288f05d
Changes
1
Hide whitespace changes
Inline
Side-by-side
demos/brz/Brzozowski.ml
View file @
c731e956
...
...
@@ -232,7 +232,7 @@ let disjunction (es : regexp list) : regexp =
(* [1 ||| e] is [1]. *)
if
exists
universal
es
then
one
else
(* Disjunction is ACI. *)
let
es
=
es
|>
undisj
|>
uniq
compare
|>
sort
compare
in
let
es
=
es
|>
undisj
|>
sort
compare
|>
uniq
compare
in
(* Avoid disjunctions of one element. *)
match
es
with
[
e
]
->
e
|
_
->
make
(
EDisj
es
)
...
...
@@ -256,7 +256,7 @@ let conjunction (es : regexp list) : regexp =
(* [0 &&& e] is [0]. *)
if
exists
empty
es
then
zero
else
(* Conjunction is ACI. *)
let
es
=
es
|>
unconj
|>
uniq
compare
|>
sort
compare
in
let
es
=
es
|>
unconj
|>
sort
compare
|>
uniq
compare
in
(* Avoid conjunctions of one element. *)
match
es
with
[
e
]
->
e
|
_
->
make
(
EConj
es
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment