From 0c54d7f8cb4b17d80ed21f7a9916ad27a13e34ed Mon Sep 17 00:00:00 2001 From: AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> Date: Sat, 6 Nov 2021 01:44:14 +0000 Subject: Re-arranged files and added C compilation --- src/Compiler/Environment.java | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/Compiler/Environment.java (limited to 'src/Compiler/Environment.java') diff --git a/src/Compiler/Environment.java b/src/Compiler/Environment.java new file mode 100644 index 0000000..0e682a4 --- /dev/null +++ b/src/Compiler/Environment.java @@ -0,0 +1,29 @@ +package Compiler; +import java.util.HashMap; +import java.util.Map; + +public class Environment { + private final Map variableMap = new HashMap<>(); + + //Maybe check if variable is already defined? + public void defineVariable(String name,Object value){ + variableMap.put(name, value); + } + + public Object getVariable(String name){ + if(variableMap.containsKey(name)){ + return variableMap.get(name); + } + Language.displayError("Undefined Variable"); + throw new Error(); + } + + public void assignVariable(String name,Object value){ + if(variableMap.containsKey(name)){ + variableMap.put(name, value); + return; + } + Language.displayError("Variable undefined"); + throw new Error(); + } +} -- cgit v1.2.3