You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
%%{
machine query;
# An application/x-www-form-urlencoded parser based on the
definition by WhatWG.
# Based on https://url.spec.whatwg.org/#application/x-www-form-urlencoded
pchar = any - [&=\[\]];
# All transitions default to priority 0. We set the integer exit
priority to 1, which ensures a transition to the next state will only
invoke %integer_end (the lower priority %string_end transition is
discarded).
integer = ([0-9]+) %(index, 1) >integer_begin %integer_end;
string = (pchar+) $(index, 0) >string_begin %string_end;
value = (pchar*) >value_begin %value_end;
index = string (
'[' (integer | string) ']'
)* ('[]' %append)?;
pair = (
index ('=' value)?
) %pair;
main := ((pair '&')* pair)?;
}%%
When parsing the following input: q[0]=0
I see that on the transition for ] it will invoke both %integer_end as well as %string_end. But I was under the impression the lower priority transition would be dropped.
Thanks for any advice you can give me.
The text was updated successfully, but these errors were encountered:
I am trying to resolve a simple non-determinism.
When parsing the following input:
q[0]=0
I see that on the transition for
]
it will invoke both%integer_end
as well as%string_end
. But I was under the impression the lower priority transition would be dropped.Thanks for any advice you can give me.
The text was updated successfully, but these errors were encountered: