@@ -687,7 +687,7 @@ func (t *Tree) Compile(file string, args []string, out io.Writer) (err error) {
687687 if cache .reached {
688688 consumes = cache .consumes
689689 s = cache .s
690- return
690+ return consumes , s
691691 }
692692 cache .reached = true
693693 consumes , s = optimizeAlternates (n .Front ())
@@ -821,7 +821,7 @@ func (t *Tree) Compile(file string, args []string, out io.Writer) (err error) {
821821 case TypeAction , TypeNil :
822822 // empty
823823 }
824- return
824+ return consumes , s
825825 }
826826 for element := range t .Iterator () {
827827 if element .GetType () == TypeRule {
@@ -985,7 +985,7 @@ func (t *Tree) Compile(file string, args []string, out io.Writer) (err error) {
985985 element .SetParentDetect (n .ParentDetect ())
986986 element .SetParentMultipleKey (n .ParentMultipleKey ())
987987 compile (element , ko )
988- return
988+ return labelLast
989989 }
990990 // If the rule always succeeds, do not output the if statement
991991 if rule .CheckAlwaysSucceeds (t ) {
@@ -1312,19 +1312,19 @@ func (t *Tree) Compile(file string, args []string, out io.Writer) (err error) {
13121312 _ , _ = fmt .Fprintln (os .Stderr , t .werr )
13131313 }
13141314 if err != nil {
1315- return
1315+ return err
13161316 }
13171317 fileSet := token .NewFileSet ()
13181318 code , err := parser .ParseFile (fileSet , file , & buffer , parser .ParseComments )
13191319 if err != nil {
13201320 _ , _ = buffer .WriteTo (out )
1321- return
1321+ return err
13221322 }
13231323 formatter := printer.Config {Mode : printer .TabIndent | printer .UseSpaces , Tabwidth : 8 }
13241324 err = formatter .Fprint (out , fileSet , code )
13251325 if err != nil {
13261326 _ , _ = buffer .WriteTo (out )
1327- return
1327+ return err
13281328 }
13291329
13301330 return nil
0 commit comments