diff --git a/lexical.go b/lexical.go index 57ef9b2..81790dc 100644 --- a/lexical.go +++ b/lexical.go @@ -7,3 +7,46 @@ // Date : 2022-07-04 17:52 package filter +import ( + "fmt" + + "github.com/pkg/errors" +) + +// parseLexical 解析词法 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 18:11 2022/7/4 +func parseLexical(jsonData string) ([]*lexicalNode, error) { + if len(jsonData) < 2 { + return nil, errors.New("input data is not json") + } + for _, itemChar := range jsonData { + fmt.Println("============ : ", string(itemChar)) + } + return nil, nil +} + +// inputCharIsToken 输入字符是否为关键字 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 18:15 2022/7/4 +func inputCharIsToken(inputChar string) bool { + tokenCharList := []string{ + listLeftToken, + listRightToken, + objectLeftToken, + objectRightToken, + keyRightToken, + kvPairSplitToken, + escapeCharacterToken, + } + for _, itemChar := range tokenCharList { + if itemChar == inputChar { + return true + } + } + return false +} diff --git a/lexical_test.go b/lexical_test.go new file mode 100644 index 0000000..87e9e57 --- /dev/null +++ b/lexical_test.go @@ -0,0 +1,16 @@ +// Package filter ... +// +// Description : filter ... +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 2022-07-04 18:13 +package filter + +import ( + "testing" +) + +func Test_parseLexical(t *testing.T) { + parseLexical("{iiiiiiiii}") +}