package lrgrep
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Detailed error messages for Menhir-generated parsers
Install
dune-project
Dependency
Authors
Maintainers
Sources
lrgrep-0.9.tbz
sha256=e53de12e4c5cbe6bca00643593266b4f9fa2e3f6a138195eeff7a4329f5c1c75
sha512=7fd7c4d11506fea7cc11c9bbf5aea9142d905643553c0c90e1bb16b794106b0c14a266acf89ae91b6929008dc0ba6515f788642873e2e4ba6c3d49bd45d25127
doc/src/utils/usage.ml.html
Source file usage.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42type mark = { mutable used: bool; } let new_mark () = { used = false } let is_used t = t.used let is_unused t = not (is_used t) let cmon_mark _ = Cmon.constant "<Usage.mark>" type set = | Empty | Leaf of mark | Join of {s1: set; s2: set; mutable used: bool} let empty = Empty let is_empty = function | Empty -> true | _ -> false let singleton mark = Leaf mark let join s1 s2 = if s1 == s2 then s1 else match s1, s2 with | Empty, s | s, Empty -> s | _ -> Join {s1; s2; used=false} let rec mark_used = function | Empty -> () | Leaf m -> m.used <- true | Join j when j.used -> () | Join j -> j.used <- true; mark_used j.s1; mark_used j.s2 let cmon_set _ = Cmon.constant "<Usage.set>"
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>