123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- package sample
- import (
- "fmt"
- )
- type JSONState int
- const (
- StateStart JSONState = iota
- StateInObject
- StateInObjectKey
- StateInStructuredKey
- StateInStructuredValue
- StateNewline
- StateTab
- StateSpace
- StateInString
- StateInInt
- StateInFloat
- StateInBool
- StateInNull
- StateInColon
- StateInComma
- StateInTab
- StateInSpaceToValue
- StateInSpaceEndValue
- StateInNewlineEndValue
- StateInObjSpace
- StateInList
- StateInListComma
- StateInValue
- StateInValueEnd
- StateInListEnd
- StateInListObjectEnd
- StateInNewline
- StateInNumber
- StateInNumberEnd
- StateInStringEnd
- StateInObjectKeyEnd
- StateTerminate
- StateInObjectEnd
- StateTransitioningToTerminate
- StateInListStartJSON
- )
- var JSONStates = []JSONState{
- StateStart,
- StateInObject,
- StateInObjectKey,
- StateInStructuredKey,
- StateInStructuredValue,
- StateNewline,
- StateTab,
- StateSpace,
- StateInString,
- StateInInt,
- StateInFloat,
- StateInBool,
- StateInNull,
- StateInColon,
- StateInComma,
- StateInTab,
- StateInSpaceToValue,
- StateInSpaceEndValue,
- StateInNewlineEndValue,
- StateInObjSpace,
- StateInListStartJSON,
- StateInList,
- StateInListComma,
- StateInValue,
- StateInValueEnd,
- StateInListEnd,
- StateInListObjectEnd,
- StateInNewline,
- StateInNumber,
- StateInNumberEnd,
- StateInStringEnd,
- StateInObjectKeyEnd,
- StateTerminate,
- StateInObjectEnd,
- StateTransitioningToTerminate,
- }
- func (s JSONState) String() string {
- switch s {
- case StateStart:
- return "StateStart"
- case StateInObject:
- return "StateInObject"
- case StateInObjectKey:
- return "StateInObjectKey"
- case StateInStructuredKey:
- return "StateInStructuredKey"
- case StateInStructuredValue:
- return "StateInStructuredValue"
- case StateNewline:
- return "StateNewline"
- case StateTab:
- return "StateTab"
- case StateSpace:
- return "StateSpace"
- case StateInString:
- return "StateInString"
- case StateInInt:
- return "StateInInt"
- case StateInFloat:
- return "StateInFloat"
- case StateInBool:
- return "StateInBool"
- case StateInNull:
- return "StateInNull"
- case StateInColon:
- return "StateInColon"
- case StateInComma:
- return "StateInComma"
- case StateInTab:
- return "StateInTab"
- case StateInSpaceToValue:
- return "StateInSpaceToValue"
- case StateInSpaceEndValue:
- return "StateInSpaceEndValue"
- case StateInNewlineEndValue:
- return "StateInNewlineEndValue"
- case StateInObjSpace:
- return "StateInObjSpace"
- case StateInList:
- return "StateInList"
- case StateInListComma:
- return "StateInListComma"
- case StateInValue:
- return "StateInValue"
- case StateInValueEnd:
- return "StateInValueEnd"
- case StateInListEnd:
- return "StateInListEnd"
- case StateInListObjectEnd:
- return "StateInListObjectEnd"
- case StateInNewline:
- return "StateInNewline"
- case StateInNumber:
- return "StateInNumber"
- case StateInNumberEnd:
- return "StateInNumberEnd"
- case StateInStringEnd:
- return "StateInStringEnd"
- case StateInObjectKeyEnd:
- return "StateInObjectKeyEnd"
- case StateTerminate:
- return "StateTerminate"
- case StateInObjectEnd:
- return "StateInObjectEnd"
- case StateTransitioningToTerminate:
- return "StateTransitioningToTerminate"
- case StateInListStartJSON:
- return "StateInListStartJSON"
- default:
- return fmt.Sprintf("Unknown state: %d", s)
- }
- }
|