∅:D[
3.1620] → [
4.11694:11703]
B:BD[
4.11694] → [
4.11694:11703]
∅:D[
4.11703] → [
6.43813:43814]
B:BD[
6.43813] → [
6.43813:43814]
B:BD[
6.43814] → [
7.5428:5511]
∅:D[
7.5511] → [
4.11759:11778]
B:BD[
4.11759] → [
4.11759:11778]
B:BD[
4.11778] → [
3.1621:1686]
∅:D[
3.1686] → [
7.5580:5613]
B:BD[
7.5580] → [
7.5580:5613]
∅:D[
7.5613] → [
4.11832:11854]
B:BD[
4.11832] → [
4.11832:11854]
∅:D[
8.3600] → [
6.43830:43833]
∅:D[
4.11854] → [
6.43830:43833]
B:BD[
6.43830] → [
6.43830:43833]
B:BD[
6.43833] → [
4.11855:11957]
B:BD[
4.11957] → [
3.1687:1771]
∅:D[
3.1771] → [
4.12036:12090]
∅:D[
7.5701] → [
4.12036:12090]
B:BD[
4.12036] → [
4.12036:12090]
∅:D[
5.7012] → [
8.3711:3713]
∅:D[
4.12090] → [
8.3711:3713]
B:BD[
8.3711] → [
8.3711:3713]
∅:D[
8.3713] → [
6.43944:43945]
B:BD[
6.43944] → [
6.43944:43945]
B:BD[
6.43945] → [
7.5702:5800]
∅:D[
7.5800] → [
4.12091:12110]
B:BD[
5.7083] → [
4.12091:12110]
B:BD[
4.12110] → [
3.1772:1847]
∅:D[
3.1847] → [
7.5879:5912]
B:BD[
7.5879] → [
7.5879:5912]
∅:D[
7.5912] → [
4.12174:12210]
B:BD[
4.12174] → [
4.12174:12210]
∅:D[
4.12210] → [
8.3840:3842]
B:BD[
8.3840] → [
8.3840:3842]
∅:D[
8.3842] → [
6.43945:43946]
B:BD[
6.43945] → [
6.43945:43946]
B:BD[
6.43946] → [
7.5913:6001]
∅:D[
7.6001] → [
4.12211:12230]
B:BD[
5.7144] → [
4.12211:12230]
B:BD[
4.12230] → [
3.1848:1912]
∅:D[
3.1912] → [
7.6069:6102]
B:BD[
7.6069] → [
7.6069:6102]
∅:D[
7.6102] → [
4.12283:12433]
B:BD[
4.12283] → [
4.12283:12433]
B:BD[
4.12433] → [
3.1913:2001]
∅:D[
3.2001] → [
4.12517:12647]
∅:D[
7.6194] → [
4.12517:12647]
B:BD[
4.12517] → [
4.12517:12647]
B:BD[
4.12647] → [
7.6195:6284]
∅:D[
7.6284] → [
8.3949:3951]
∅:D[
4.12728] → [
8.3949:3951]
B:BD[
8.3949] → [
8.3949:3951]
∅:D[
8.3951] → [
6.44298:44299]
B:BD[
6.44298] → [
6.44298:44299]
B:BD[
6.44299] → [
4.12729:12842]
B:BD[
4.12842] → [
3.2002:2082]
∅:D[
3.2082] → [
4.12918:12971]
∅:D[
7.6368] → [
4.12918:12971]
B:BD[
4.12918] → [
4.12918:12971]
∅:D[
5.7242] → [
8.4050:4052]
∅:D[
4.12971] → [
8.4050:4052]
B:BD[
8.4050] → [
8.4050:4052]
B:BD[
8.4052] → [
4.12972:13069]
B:BD[
4.13069] → [
3.2083:2148]
∅:D[
3.2148] → [
4.13130:13179]
∅:D[
7.6437] → [
4.13130:13179]
B:BD[
4.13130] → [
4.13130:13179]
∅:D[
5.7385] → [
8.4197:4199]
∅:D[
4.13179] → [
8.4197:4199]
B:BD[
6.45016] → [
8.4197:4199]
∅:D[
8.4199] → [
12.350:351]
B:BD[
6.45022] → [
12.350:351]
B:BD[
12.351] → [
7.6438:6529]
∅:D[
7.6529] → [
4.13243:13262]
B:BD[
4.13243] → [
4.13243:13262]
B:BD[
4.13262] → [
3.2149:2216]
∅:D[
3.2216] → [
7.6600:6633]
B:BD[
7.6600] → [
7.6600:6633]
∅:D[
7.6633] → [
4.13319:13355]
B:BD[
4.13319] → [
4.13319:13355]
∅:D[
4.13355] → [
8.4341:4343]
B:BD[
8.4341] → [
8.4341:4343]
∅:D[
8.4343] → [
6.45248:45249]
B:BD[
6.45248] → [
6.45248:45249]
B:BD[
6.45249] → [
7.6634:6744]
B:BD[
7.6744] → [
3.2217:2284]
∅:D[
3.2284] → [
7.6814:6876]
B:BD[
7.6814] → [
7.6814:6876]
))
}
pub fn first_token_must_be_key(file: &str, code_line: u32, token: &str) -> Error {
Error(format!(
"[keytree:{}:{}] token {}. First token must be [key:].",
file,
code_line,
token,
))
}
pub fn first_segment_mismatch(token: &str, line: usize, key_path: &str) -> Error {
Error(format!(
"[keytree] line {}, token [{}]. The first segment of [{}] does not match.",
line,
token,
key_path,
))
}
pub fn incomplete_comment_or_key(file: &str, code_line: u32, token: &str, line: usize) -> Error {
Error(format!(
"[keytree:{}:{}] line {}, token [{}]. Incomplete comment or key.",
file,
code_line,
line,
token,
))
}
pub fn incomplete_line(file: &str, code_line: u32, token: &str, line: usize) -> Error {
Error(format!(
"[keytree:{}:{}] line {}, token [{}]. Incomplete line.",
file,
code_line,
line,
token,
))
}
pub fn keypath_extends_beyond_keyvalue(token: &str, line: usize, key_path: &str) -> Error {
Error(format!(
"[keytree] line {} token [{}], keypath [{}]. Keypath extends beyond keyvalue.",
line,
token,
key_path,
))
}
pub fn keypath_must_have_two_or_more_segments(key_path: &str) -> Error {
Error(format!( "[keytree:19] Keypath {} must have two or more segments.", key_path))
}
pub fn keypath_segment_does_not_match_key(token: &str, segment: &str, line: usize) -> Error {
Error(format!(
"[keytree] line {} token [{}]. Keypath segment {} does not match key.",
line,
token,
segment,
))
}
pub fn no_child_with_segment(token: &str, line: usize, key: &str) -> Error {
Error(format!(
"[keytree] line {} token [{}]. Failed to find key [{}]",
line,
token,
key,
))
}
pub fn no_colon_after_key(file: &str, code_line: u32, token: &str, line: usize) -> Error {
Error(format!(
"[keytree:{}:{}] line {} token [{}], No colon after key.",
file,
code_line,
line,
token,
))
}
pub fn no_space_after_key(file: &str, code_line: u32, token: &str, line: usize) -> Error {
Error(format!(
"[keytree:{}:{}] line {} token [{}]. No space after key.",
file,
code_line,
line,
token,