| Branch: | Revision:

root / json-lexer.c @ a74cdab4

History | View | Annotate | Download (7.8 kB)

# Date Author Comment
33d05394 04/15/2011 09:25 pm Blue Swirl

json-lexer: fix conflict with mingw32 ERROR definition

The name ERROR is too generic, it conflicts with mingw32 ERROR definition.

Replace ERROR with IN_ERROR.

Signed-off-by: Blue Swirl <>

03308f6c 06/11/2010 09:25 pm Luiz Capitulino

json-lexer: Initialize 'x' and 'y'

The 'lexer' variable is passed by the caller, it can contain anything
(eg. garbage).

Signed-off-by: Luiz Capitulino <>

1041ba7a 06/11/2010 09:25 pm Luiz Capitulino

json-lexer: Handle missing escapes

The JSON escape sequence "\/" and "\\" are valid and should be

Signed-off-by: Luiz Capitulino <>

ecb50f5f 06/11/2010 09:25 pm Luiz Capitulino

json-lexer: Drop 'buf'

QString supports adding a single char, 'buf' is unneeded.

Signed-off-by: Luiz Capitulino <>

f7c05274 06/11/2010 09:25 pm Paolo Bonzini

implement optional lookahead in json lexer

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 <>...

28e91a68 06/11/2010 09:25 pm Paolo Bonzini

remove unnecessary lookaheads

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Luiz Capitulino <>

2c0d4b36 02/10/2010 08:47 pm Roy Tam

json: fix PRId64 on Win32

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...

5ab8558d 11/17/2009 04:49 pm Anthony Liguori

Add a lexer for JSON

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....