Ответ 1
В BCPL было много незначительных изменений в синтаксисе.
Например, в то время как тот, который мы использовали, имел 16-разрядные ячейки (так что x!y
дал вам 16-битовое слово из адреса слова в x + y
(адрес слова составляет половину байтового адреса), мы также потребовалось извлечь из байтов и байтов значения (поскольку мы в основном создавали ОС и программное обеспечение для управления на 6809 байт-адресуемом ЦП).
Следовательно, в дополнение к:
x!y - get word from byte address (x + y) * 2
мы также имели
x!%y - get byte from byte address (x * 2) + y
x%!y - get word from byte address x + (y * 2)
x%%y - get byte from byte address x + y
Я уверен, что они были специфичными для реализации, поскольку я никогда их не видел. И BCPL был задолго до того, как языковые стандарты были такими же важными, как сегодня.
Спецификация канонического языка была бы раньше, чем у Ричардса, так как он написал этот язык (и ваш второй документ предназначен для реализации BSSL Essex примерно через десять лет). Но имейте в виду, что Project MAC был самой ранней итерацией - после этого было много улучшений.
Например, существует версия Руководства пользователя BCPL за 2013 год (см. домашняя страница Мартина), которая указывает #b
, #o
и #x
в качестве префиксов для различных не десятичных оснований.