aboutsummaryrefslogtreecommitdiff
path: root/json-lexer.c
AgeCommit message (Collapse)AuthorFilesLines
2010-06-11remove unnecessary lookaheadsPaolo Bonzini1-32/+16
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-06-11implement optional lookahead in json lexerPaolo Bonzini1-23/+35
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 Capitulino1-6/+1
QString supports adding a single char, 'buf' is unneeded. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-06-11json-lexer: Handle missing escapesLuiz Capitulino1-0/+4
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 Capitulino1-0/+1
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 Tam1-0/+16
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 Liguori1-0/+327
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>