2013-04-15 2 views
0

나는 어떻게 작동 하는지를 알기 위해 자바로 음성 인식 프로그램을 만들고있다. 하루 전까지는 모두 정상적으로 작동했습니다. 나는 내 코드에서 아무 것도 변경하지 않았기 때문에 어떤 일이 일어 났는지 전혀 모른다.스핑크스 어휘 오류 문법 파일 구문 분석

어휘 오류가 발생하고 있으므로 문법 파일 만 붙여 넣기하면됩니다.

controls.gram :

#JSGF V1.0; 

grammar controls; 

public <intro> = "Computer"; 

public <statement> = <open> | <ignore>; 

public <open> = "open" ("chrome" | "word"); 

public <navigate> = "navigate" "to" (("face" book") | ("stack" "overflow")); 

public <ignore> = ("don't" "worry") | ("never" "mind"); 

public <thanks> = "thanks"; 

오류 로그 : 나는 ANSI 그것을 인코딩, 모든 공백 문자를 제거하는 시도

Exception in thread "main" edu.cmu.sphinx.jsgf.parser.TokenMgrError: Lexical error at line 11, column 77. Encountered: "\r" (13), after : "\"));" 
at edu.cmu.sphinx.jsgf.parser.JSGFParserTokenManager.getNextToken(JSGFParserTokenManager.java:1197) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.jj_ntk(JSGFParser.java:1012) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.item(JSGFParser.java:643) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.sequence(JSGFParser.java:568) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.alternatives(JSGFParser.java:484) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.item(JSGFParser.java:676) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.sequence(JSGFParser.java:568) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.alternatives(JSGFParser.java:484) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.item(JSGFParser.java:676) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.sequence(JSGFParser.java:568) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.alternatives(JSGFParser.java:484) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.RuleDeclaration(JSGFParser.java:450) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.GrammarUnit(JSGFParser.java:313) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.newGrammarFromJSGF(JSGFParser.java:128) 
at edu.cmu.sphinx.jsgf.parser.JSGFParser.newGrammarFromJSGF(JSGFParser.java:241) 
at edu.cmu.sphinx.jsgf.JSGFGrammar.loadNamedGrammar(JSGFGrammar.java:697) 
at edu.cmu.sphinx.jsgf.JSGFGrammar.commitChanges(JSGFGrammar.java:613) 
at edu.cmu.sphinx.jsgf.JSGFGrammar.createGrammar(JSGFGrammar.java:300) 
at edu.cmu.sphinx.linguist.language.grammar.Grammar.allocate(Grammar.java:116) 
at edu.cmu.sphinx.linguist.flat.FlatLinguist.allocate(FlatLinguist.java:300) 
at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.allocate(SimpleBreadthFirstSearchManager.java:646) 
at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:87) 
at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:168) 
at [MY PACKAGE].Utils.<init>(Utils.java:23) 
at [MY PACKAGE].Launcher.<clinit>(Launcher.java:8) 

(BOM와 제외) UTF. 모두는 아무 소용이 없었습니다 ...

아무도 도와 줄 수 있습니까?

+0

가 누락 인용문이 : 공공 = ""이동 "을"(("얼굴"' "'책") | ("스택" "오버 플로우")); –

+0

부야 감사합니다! : D Blimey 나는 오랫동안 내 두뇌를 갈고 섰다. 당신이 이것에 대답한다면, 나는 당신에게 약간의 대표를 줄 것이다. – Kezz101

+0

구문 하이라이트가 실제로 여기에 답을 주었다 ... :) – Dariusz

답변

3

당신은 누락 된 인용문이 :

공개 = "(("얼굴 "" 책") | ("스택" "오버 플로우"))하는 ","이동 ";

를 수정해야한다고 :-)

관련 문제