aboutsummaryrefslogtreecommitdiff
path: root/json-lexer.c
AgeCommit message (Collapse)Author
2010-06-11remove unnecessary lookaheadsPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-06-11implement optional lookahead in json lexerPaolo Bonzini
Not requiring one extra character when lookahead is not necessary ensures that clients behave properly even if they, for example, send QMP requests without a trailing newline. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-06-11json-lexer: Drop 'buf'Luiz Capitulino
QString supports adding a single char, 'buf' is unneeded. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-06-11json-lexer: Handle missing escapesLuiz Capitulino
The JSON escape sequence "\/" and "\\" are valid and should be handled. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-06-11json-lexer: Initialize 'x' and 'y'Luiz Capitulino
The 'lexer' variable is passed by the caller, it can contain anything (eg. garbage). Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-02-10json: fix PRId64 on Win32Roy Tam
OK we are fooled by the json lexer and parser. As we use %I64d to print 'long long' variables in Win32, but lexer and parser only deal with %lld but not %I64d, this patch add support for %I64d and solve 'info pci', 'powser_reset' and 'power_powerdown' assert failure in Win32. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-11-17Add a lexer for JSONAnthony Liguori
Our JSON parser is a three stage parser. The first stage tokenizes the stream into a set of lexical tokens. Since the lexical grammar is regular, we can use a finite state machine to model it. The state machine will emit tokens as they are identified. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>