def base_value_environment(cls) -> SymbolTable[EnvironmentEntry]: environment = SymbolTable[EnvironmentEntry]() for function_name in cls.standard_library_functions: argument_types, return_type = cls.standard_library_functions[ function_name] environment.add( function_name, cls._base_function_entry( TempManager.named_label(function_name), argument_types, return_type), ) return environment
def external_call(function_name: str, arguments: List[IRT.Expression]) -> IRT.Expression: return IRT.Call(IRT.Name(TempManager.named_label(function_name)), arguments)