diff --git a/src/main/java/de/neemann/digital/testing/parser/Parser.java b/src/main/java/de/neemann/digital/testing/parser/Parser.java index 49ecbc283..6b549e056 100644 --- a/src/main/java/de/neemann/digital/testing/parser/Parser.java +++ b/src/main/java/de/neemann/digital/testing/parser/Parser.java @@ -113,7 +113,7 @@ public class Parser { expect(Tokenizer.Token.EQUAL); final Expression sigExpression = parseExpression(); expect(Tokenizer.Token.SEMICOLON); - virtualSignals.add(new VirtualSignal(sigName, sigExpression)); + addVirtualSignal(new VirtualSignal(sigName, sigExpression)); break; case END: tok.consume(); @@ -158,6 +158,13 @@ public class Parser { } } + private void addVirtualSignal(VirtualSignal vs) throws ParserException { + for (VirtualSignal v : virtualSignals) + if (v.getName().equals(vs.getName())) + throw new ParserException(Lang.get("err_virtualSignal_N_DeclaredTwiceInLine_N", vs.getName(), tok.getLine())); + virtualSignals.add(vs); + } + private LineEmitter parseSingleRow() throws IOException, ParserException { LineEmitterSimple line = null; while (true) { diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index fbd2fb2b6..1da90dc66 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -1152,6 +1152,7 @@ Sind evtl. die Namen der Variablen nicht eindeutig? Videomodus wurde nicht erkannt ({0}) Es ist kein Dateiname für das automatische Neuladen verfügbar! + Virtuelles Signal {0} doppelt definiert in Zeile {1}! Adress-Bits Anzahl der Adress-Bits, die verwendet werden. diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index 8ce1d3a00..64bd458d0 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -1161,6 +1161,7 @@ Error in the analysis of the generic initialization code. There is no file name available for the automatic reload! + Virtual signal {0} declared twice in line {1}! Address Bits Number of address bits used.