Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auth48 #515

Draft
wants to merge 27 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
0c5fbdb
Auth48: Note c&p error; date
cabo Feb 12, 2024
0ac20fe
Add 2024-02-07 RPC version of XML and extracted files; initial check
cabo Feb 12, 2024
b9e27e9
First round of abnf spacing changes
cabo Feb 12, 2024
fe62a78
Put "; skip surrogate code points" on its own line
cabo Feb 12, 2024
e49cfa1
Fix some weird blank-space inconsistencies in ABNF
cabo Feb 12, 2024
756b304
Use and reference "I-Regexp" term from RFC 9485
cabo Feb 12, 2024
b6060cb
Search and "at least one" substring
cabo Feb 12, 2024
3ea201e
Add DIGIT to name-first at the end
cabo Feb 12, 2024
ac6f4dc
(G27) Better Section Name "Function Extensions Subregistry"
cabo Feb 13, 2024
1894d53
(G26) Use § 2.4.3 in both places for "well-typed" cross-reference
cabo Feb 13, 2024
6c104f2
(G25) Remove incorrect cross-reference in 2.3.1.1
cabo Feb 13, 2024
d4ffb90
(G21): Appendix B: Use JSONPath terminology for JSONPath
cabo Feb 13, 2024
cbfdb2a
(G18): Delete unnecessary text
cabo Feb 13, 2024
91099d9
(G10): Make sentence easier to understand
cabo Feb 13, 2024
ec1d5d2
(G6): There is only one root identifier example
cabo Feb 13, 2024
a2c0f6e
(G5): emphasize loneness by saying "containing a single node"
cabo Feb 13, 2024
fdd18c2
(G2): Remove remnant from when the definition was for "argument"
cabo Feb 13, 2024
30b1579
(G1): Remove unfortunate double use of the term "structure"
cabo Feb 13, 2024
52d12f6
(C3): Avoid <referencegroup XML that is still at risk.
cabo Feb 13, 2024
5c10c5a
RPC changes communicated at 2024-02-13 23:22Z
cabo Feb 14, 2024
c8dfc85
(C4) Complete fix for placement of "at most".
cabo Feb 14, 2024
8076529
(C5): Remove overzealous duplicate redundant superfluous citation
cabo Feb 14, 2024
440d44a
(C6) simplify editorial memento for ES4
cabo Feb 14, 2024
33b6c01
(C1) 3 more word-joiners to avoid confusing line breaks
cabo Feb 14, 2024
5b6ac37
(C7) use past tense for IANA registration that has happened
cabo Feb 14, 2024
904cefb
(C8) Avoid superfluous "strict" in table 11, twice
cabo Feb 14, 2024
9ad9249
(C9) We now distinguish empty nodelists from Nothing
cabo Feb 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions auth48/check-abnf
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
kramdown-rfc-extract-sourcecode -tfiles -dextract rfc9535.xml
# check consistency of collected ABNF
diff extract/abnf/collected-abnf-of-jsonpath-.abnf extract/abnf/jsonpath-collected.abnf
diff extract/abnf/collected-abnf-of-jsonpath-n.abnf extract/abnf/normalized-path-collected.abnf
# check whether there was any substantive change with I-D ABNF
bap extract/abnf/jsonpath-collected.abnf >/tmp/jc.abnf
bap ../sourcecode/abnf/jsonpath-collected.abnf | diff - /tmp/jc.abnf
bap extract/abnf/normalized-path-collected.abnf >/tmp/njc.abnf
bap ../sourcecode/abnf/normalized-path-collected.abnf | diff - /tmp/njc.abnf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$[?count(@.*.author) >= 5]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$.store.book[[email protected] < 10].title
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$[?length(@.authors) >= 5]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$[?match(@.date, "1974-05-..")]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$[?search(@.author, "[BR]ob")]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$.store.book[0].title
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$['store']['book'][0]['title']
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$.store.book[[email protected] < 10].title
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$[?value(@..color) == "red"]
31 changes: 31 additions & 0 deletions auth48/extract/json/example-json-value.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{ "store": {
"book": [
{ "category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{ "category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
},
{ "category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{ "category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 399
}
}
}
4 changes: 4 additions & 0 deletions auth48/extract/json/examples-2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"o": {"j j": {"k.k": 3}},
"'": {"@": 2}
}
4 changes: 4 additions & 0 deletions auth48/extract/json/examples-3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"o": {"j": 1, "k": 2},
"a": [5, 3]
}
1 change: 1 addition & 0 deletions auth48/extract/json/examples-4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["a","b"]
1 change: 1 addition & 0 deletions auth48/extract/json/examples-5.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["a", "b", "c", "d", "e", "f", "g"]
10 changes: 10 additions & 0 deletions auth48/extract/json/examples-6-b.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"a": [3, 5, 1, 2, 4, 6,
{"b": "j"},
{"b": "k"},
{"b": {}},
{"b": "kilo"}
],
"o": {"p": 1, "q": 2, "r": 3, "s": 5, "t": {"u": 6}},
"e": "f"
}
4 changes: 4 additions & 0 deletions auth48/extract/json/examples-6.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"obj": {"x": "y"},
"arr": [2, 3]
}
1 change: 1 addition & 0 deletions auth48/extract/json/examples-7.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["a", "b", "c", "d", "e", "f", "g"]
4 changes: 4 additions & 0 deletions auth48/extract/json/examples-8.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"o": {"j": 1, "k": 2},
"a": [5, 3, [{"j": 4}, {"k": 6}]]
}
1 change: 1 addition & 0 deletions auth48/extract/json/examples-9.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"a": null, "b": [null], "c": [{}], "null": 1}
1 change: 1 addition & 0 deletions auth48/extract/json/examples.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"k": "v"}
13 changes: 13 additions & 0 deletions auth48/extract/pseudocode/normative-semantics-b.pseudocode
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FUNCTION Bounds(start, end, step, len):
n_start = Normalize(start, len)
n_end = Normalize(end, len)

IF step >= 0 THEN
lower = MIN(MAX(n_start, 0), len)
upper = MIN(MAX(n_end, 0), len)
ELSE
upper = MIN(MAX(n_start, -1), len-1)
lower = MIN(MAX(n_end, -1), len-1)
END IF

RETURN (lower, upper)
17 changes: 17 additions & 0 deletions auth48/extract/pseudocode/normative-semantics-c.pseudocode
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
IF step > 0 THEN

i = lower
WHILE i < upper:
SELECT a(i)
i = i + step
END WHILE

ELSE if step < 0 THEN

i = upper
WHILE lower < i:
SELECT a(i)
i = i + step
END WHILE

END IF
6 changes: 6 additions & 0 deletions auth48/extract/pseudocode/normative-semantics.pseudocode
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FUNCTION Normalize(i, len):
IF i >= 0 THEN
RETURN i
ELSE
RETURN len + i
END IF
1 change: 1 addition & 0 deletions auth48/extract/xpath/inspired-by-xpath-b.xpath
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
x.store.book[0].title
1 change: 1 addition & 0 deletions auth48/extract/xpath/inspired-by-xpath-c.xpath
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
x['store']['book'][0]['title']
1 change: 1 addition & 0 deletions auth48/extract/xpath/inspired-by-xpath.xpath
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/store/book[1]/title
Loading
Loading