Skip to content

Commit abe104e

Browse files
committed
♻️ actually using the stored built in types
1 parent 167bbec commit abe104e

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

PascalInterpreter/PascalInterpreter/Semantic analyzer/SemanticAnalyzer.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,11 @@ public class SemanticAnalyzer {
5555
fatalError("Duplicate identifier '\(name)' found")
5656
}
5757

58-
switch type {
59-
case .integer:
60-
symbolTable.insert(.variable(name: name, type: .integer))
61-
case .real:
62-
symbolTable.insert(.variable(name: name, type: .real))
58+
guard let resolved = symbolTable.lookup(type.description), case let .builtIn(symbolType) = resolved else {
59+
fatalError("Type not found '\(type.description)'")
6360
}
61+
62+
symbolTable.insert(.variable(name: name, type: symbolType))
6463
case let .assignment(left: left, right: right):
6564
visit(node: right)
6665
visit(node: left)

0 commit comments

Comments
 (0)