summaryrefslogtreecommitdiffstats
path: root/json-lexer.c
Commit message (Collapse)AuthorAgeFilesLines
* json-lexer: fix conflict with mingw32 ERROR definitionBlue Swirl2011-04-151-3/+3
| | | | | | | | The name ERROR is too generic, it conflicts with mingw32 ERROR definition. Replace ERROR with IN_ERROR. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* remove unnecessary lookaheadsPaolo Bonzini2010-06-111-32/+16
| | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* implement optional lookahead in json lexerPaolo Bonzini2010-06-111-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>
* json-lexer: Drop 'buf'Luiz Capitulino2010-06-111-6/+1
| | | | | | QString supports adding a single char, 'buf' is unneeded. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* json-lexer: Handle missing escapesLuiz Capitulino2010-06-111-0/+4
| | | | | | | The JSON escape sequence "\/" and "\\" are valid and should be handled. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* json-lexer: Initialize 'x' and 'y'Luiz Capitulino2010-06-111-0/+1
| | | | | | | The 'lexer' variable is passed by the caller, it can contain anything (eg. garbage). Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* json: fix PRId64 on Win32Roy Tam2010-02-101-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>
* Add a lexer for JSONAnthony Liguori2009-11-171-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>
OpenPOWER on IntegriCloud