Improve the BNF description a bit and fix some issues
This commit is contained in:
parent
1f5c4c2b30
commit
da829d8d9d
5 changed files with 201 additions and 40 deletions
|
@ -1,15 +1,14 @@
|
|||
const QUERY = [
|
||||
'<P>',
|
||||
'-> <P>',
|
||||
'<"P">',
|
||||
'a<"P">',
|
||||
'"P" "P"',
|
||||
'P "P"',
|
||||
'"p" p',
|
||||
'"const": p',
|
||||
"<:a>",
|
||||
"<::a>",
|
||||
"a<:a>",
|
||||
"a<::a>",
|
||||
"((a))",
|
||||
"->,a",
|
||||
"(p -> p",
|
||||
"::a::b",
|
||||
"a::::b",
|
||||
|
@ -22,6 +21,12 @@ const QUERY = [
|
|||
"a>bb",
|
||||
"ab'",
|
||||
"a->",
|
||||
'"p" <a>',
|
||||
'"p" a<a>',
|
||||
"a,<",
|
||||
"aaaaa<>b",
|
||||
"fn:aaaaa<>b",
|
||||
"->a<>b",
|
||||
];
|
||||
|
||||
const PARSED = [
|
||||
|
@ -46,10 +51,10 @@ const PARSED = [
|
|||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
original: "<\"P\">",
|
||||
original: "a<\"P\">",
|
||||
returned: [],
|
||||
typeFilter: -1,
|
||||
userQuery: "<\"p\">",
|
||||
userQuery: "a<\"p\">",
|
||||
error: "`\"` cannot be used in generics",
|
||||
},
|
||||
{
|
||||
|
@ -91,19 +96,19 @@ const PARSED = [
|
|||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
original: "<:a>",
|
||||
original: "a<:a>",
|
||||
returned: [],
|
||||
typeFilter: -1,
|
||||
userQuery: "<:a>",
|
||||
userQuery: "a<:a>",
|
||||
error: "Unexpected `:` after `<`",
|
||||
},
|
||||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
original: "<::a>",
|
||||
original: "a<::a>",
|
||||
returned: [],
|
||||
typeFilter: -1,
|
||||
userQuery: "<::a>",
|
||||
userQuery: "a<::a>",
|
||||
error: "Unexpected `::`: paths cannot start with `::`",
|
||||
},
|
||||
{
|
||||
|
@ -115,15 +120,6 @@ const PARSED = [
|
|||
userQuery: "((a))",
|
||||
error: "Unexpected `(`",
|
||||
},
|
||||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
original: "->,a",
|
||||
returned: [],
|
||||
typeFilter: -1,
|
||||
userQuery: "->,a",
|
||||
error: "Unexpected `,` after `->`",
|
||||
},
|
||||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
|
@ -232,4 +228,58 @@ const PARSED = [
|
|||
userQuery: "a->",
|
||||
error: "Expected at least one item after `->`",
|
||||
},
|
||||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
original: '"p" <a>',
|
||||
returned: [],
|
||||
typeFilter: -1,
|
||||
userQuery: '"p" <a>',
|
||||
error: "Found generics without a path",
|
||||
},
|
||||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
original: '"p" a<a>',
|
||||
returned: [],
|
||||
typeFilter: -1,
|
||||
userQuery: '"p" a<a>',
|
||||
error: "You cannot have more than one element if you use quotes",
|
||||
},
|
||||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
original: 'a,<',
|
||||
returned: [],
|
||||
typeFilter: -1,
|
||||
userQuery: 'a,<',
|
||||
error: 'Found generics without a path',
|
||||
},
|
||||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
original: 'aaaaa<>b',
|
||||
returned: [],
|
||||
typeFilter: -1,
|
||||
userQuery: 'aaaaa<>b',
|
||||
error: 'Expected `,`, ` `, `:` or `->`, found `b`',
|
||||
},
|
||||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
original: 'fn:aaaaa<>b',
|
||||
returned: [],
|
||||
typeFilter: -1,
|
||||
userQuery: 'fn:aaaaa<>b',
|
||||
error: 'Expected `,`, ` ` or `->`, found `b`',
|
||||
},
|
||||
{
|
||||
elems: [],
|
||||
foundElems: 0,
|
||||
original: '->a<>b',
|
||||
returned: [],
|
||||
typeFilter: -1,
|
||||
userQuery: '->a<>b',
|
||||
error: 'Expected `,` or ` `, found `b`',
|
||||
},
|
||||
];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue