Skip to content

unexpected global token BRACE_CLOSE #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
cloudufull opened this issue Jan 7, 2019 · 1 comment
Open

unexpected global token BRACE_CLOSE #2

cloudufull opened this issue Jan 7, 2019 · 1 comment

Comments

@cloudufull
Copy link

大神您好,在用您的这个工具解析nginx 配置文件时,如果配日文件中{ 前没有空格就会报unexpected global token BRACE_CLOSE at line xx 这个错,然后我尝试了一下能否修复,发现我功力太浅,无法领会代码真意,其中 方法
func (s *scanner) scan() token 这个方法没看懂~~ 我发现 在实际执行时,这几个都有返回,但是调用它的token := p.scan() 得到的token 则基本没有 braceOpenToken braceCloseToken 这些返回, 这个是怎么实现的? 太高深了~~ 求教~~

    case '\'':
            return s.scanSingleQuoted()
    case '"':
            return s.scanDoubleQuoted()
    case '{':
            return braceOpenToken
    case '}':
            return braceCloseToken
    case ';':
            return semicolonToken
    case '#':
            return s.scanComment()
    }
@yangchenxing
Copy link
Owner

会返回这两个类型的token,scaner_test里第一个case里有测试。如果要改scanWord这个方法,最好确定一下配置文件的格式,一个指令的合法字符有哪些。我之前没找到相关文档,按照一般的做法,按空格来分隔。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants