Просмотр исходного кода

New: Concrete listener and struct for URN

Leonardo Di Donato 8 лет назад
Родитель
Сommit
fc0c9c8791
2 измененных файлов с 35 добавлено и 0 удалено
  1. 28 0
      listener.go
  2. 7 0
      urn.go

+ 28 - 0
listener.go

@@ -0,0 +1,28 @@
+package urn
+
+import (
+	"github.com/leodido/go-urn/grammar"
+)
+
+// Listener is ...
+type Listener struct {
+	*grammar.BaseUrnListener
+	target *Urn
+}
+
+// NewListener is ...
+func NewListener(target *Urn) *Listener {
+	return &Listener{
+		target: target,
+	}
+}
+
+// ExitID is called when production id is exited
+func (l *Listener) ExitID(ctx *grammar.IDContext) {
+	l.target.ID = ctx.GetText()
+}
+
+// ExitSS is called when production ss is exited
+func (l *Listener) ExitSS(ctx *grammar.SSContext) {
+	l.target.SS = ctx.GetText()
+}

+ 7 - 0
urn.go

@@ -0,0 +1,7 @@
+package urn
+
+// Urn is ...
+type Urn struct {
+	ID string
+	SS string
+}