These determine the assumed/default size of instruction operands, and restricts which opcodes are available, and how they are used.
Modern operating systems, booted inside Real
mode,
# Defines which shell command to use to clean the terminal, depending on the platform. | |
ifeq ($(OS), Windows_NT) | |
# Clean on Windows | |
clean_cmd = @del /s /q *.o > null | |
else | |
# Clean on UNIX systems | |
clean_cmd = @rm -f *.o | |
endif | |
# A recursive function that allows to list all files with a given extension, in folders and sub-folders, from a given source. |
{-# LANGUAGE | |
LambdaCase | |
, OverloadedLists | |
, OverloadedStrings | |
, RecordWildCards | |
, BlockArguments | |
, DeriveFunctor | |
, TypeApplications | |
, GeneralizedNewtypeDeriving | |
#-} |
#!/usr/bin/env python3.7 | |
# coding: utf-8 | |
import types | |
import functools | |
import abc | |
import typing | |
from contextlib import contextmanager | |
from collections import OrderedDict |
-- The linear abstract machine | |
-- as described in the "The Linear Abstract Machine" | |
-- Environment is a representation of a canonical combinator | |
-- the canonical combinator u ⊗ v is represented by Ja, and 1 by Nil | |
-- the canonical combinator y ∘ v represented by Comb: y is piece of code. | |
-- | |
-- Code is list of primitive instructions. | |
-- | |
-- Sequential composition becomes concatenation (in opposite order), |