... | ... | @@ -109,8 +109,8 @@ after any value or Comma. |
|
|
errAfterValue = tokenNext &~(Comma | RBrak)
|
|
|
//
|
|
|
// Every Comma must be followed by a value
|
|
|
advCommaArrSpan = Advance(Comma & arraySpan, 1)
|
|
|
errAfterComma = ScanTo(advCommaArrSpan, anyToken) & ~ (nested | valueToken)
|
|
|
advCommaArrSpan = Advance(Comma & atDepth, 1)
|
|
|
errAfterComma = ScanTo(advCommaArrSpan, anyToken) & ~ (nested | (valueToken & atDepth))
|
|
|
//
|
|
|
// After the LBrak we must have either a value or an RBrak.
|
|
|
scanArrAnyToken = ScanTo(Advance(arrayStart, 1), anyToken)
|
... | ... | @@ -150,11 +150,11 @@ Assume we have two bit streams for tokens: `valueToken` (explained above) and `a |
|
|
errAfterValue = errAfterValueMinusStr | errAfterValueStr
|
|
|
//
|
|
|
// Every Colon must be followed by a value
|
|
|
advColon = Advance(Colon & objSpan, 1)
|
|
|
errAfterColon = ScanTo(advColon, anyToken) & ~ (nested | valueToken)
|
|
|
advColon = Advance(Colon & atDepth, 1)
|
|
|
errAfterColon = ScanTo(advColon, anyToken) & ~ (nested | (valueToken & atDepth))
|
|
|
//
|
|
|
// Every Comma must be followed by a key string
|
|
|
advComma = Advance(Comma & objSpan, 1)
|
|
|
advComma = Advance(Comma & atDepth, 1)
|
|
|
errAfterComma = ScanTo(advComma, anyToken) & ~ strAtDepth
|
|
|
//
|
|
|
// After the LBrace we must have either a value or an RBrace.
|
... | ... | |