77 "strconv"
88
99 "github.com/antlr/antlr4/runtime/Go/antlr"
10-
1110 "github.com/sirkon/ldetool/internal/ast"
1211 "github.com/sirkon/ldetool/internal/parser"
1312 "github.com/sirkon/ldetool/internal/types"
@@ -30,7 +29,8 @@ func checkReserved(token antlr.Token) {
3029 return
3130 }
3231 panic (
33- fmt .Sprintf ("%d:%d \033 [1m%s\033 [0m is reserved identifier" ,
32+ fmt .Sprintf (
33+ "%d:%d \033 [1m%s\033 [0m is reserved identifier" ,
3434 token .GetLine (),
3535 token .GetColumn ()+ 1 ,
3636 token .GetText (),
@@ -567,9 +567,23 @@ func (l *Listener) EnterTargetLit(ctx *parser.TargetLitContext) {
567567 l .seq ().Append (a )
568568 }
569569 if ctx .StringLit () != nil {
570- l .target .SetString (ctx .StringLit ().GetText ())
570+ if err := l .target .SetString (ctx .StringLit ().GetText ()); err != nil {
571+ panic (fmt .Sprintf (
572+ "%d:%d %s" ,
573+ ctx .CharLit ().GetSymbol ().GetLine (),
574+ ctx .CharLit ().GetSymbol ().GetColumn ()+ 1 ,
575+ err ,
576+ ))
577+ }
571578 } else if ctx .CharLit () != nil {
572- l .target .SetChar (ctx .CharLit ().GetText ())
579+ if err := l .target .SetChar (ctx .CharLit ().GetText ()); err != nil {
580+ panic (fmt .Sprintf (
581+ "%d:%d %s" ,
582+ ctx .CharLit ().GetSymbol ().GetLine (),
583+ ctx .CharLit ().GetSymbol ().GetColumn ()+ 1 ,
584+ err ,
585+ ))
586+ }
573587 } else {
574588 panic ("Integerity error" )
575589 }
@@ -594,8 +608,11 @@ func (l *Listener) EnterBound(ctx *parser.BoundContext) {
594608 }
595609 if upper < lower {
596610 token := ctx .IntLit (1 ).GetSymbol ()
597- panic (fmt .Sprintf ("%d:%d upper bound must be greater than lower" ,
598- token .GetLine (), token .GetColumn ()+ 1 ))
611+ panic (fmt .Sprintf (
612+ "%d:%d upper bound must be greater than lower" ,
613+ token .GetLine (),
614+ token .GetColumn ()+ 1 ,
615+ ))
599616 }
600617 l .target .SetBound (lower , upper )
601618}
0 commit comments