UniTO/anno2/Sem2/lft/lab/SymbolTable.java
2024-10-29 09:11:05 +01:00

21 lines
678 B
Java
Executable file

import java.util.*;
public class SymbolTable {
Map <String, Integer> OffsetMap = new HashMap <String,Integer>();
public void insert( String s, int address ) {
if( !OffsetMap.containsValue(address) )
OffsetMap.put(s,address);
else
throw new IllegalArgumentException("Reference to a memory location already occupied by another variable");
}
public int lookupAddress ( String s ) {
if( OffsetMap.containsKey(s) )
return OffsetMap.get(s);
else
return -1;
// throw new IllegalArgumentException("Unknown variable");
}
}