Cтраница 3
Компилятор начинает работу с чтения в память первого оператора программы на ЯП. Вспомните, что каждый оператор начинается с номера строки, после которого следует команда. После того, как компилятор разбивает оператор на лексемы, те лексемы, которые являются номером строки, переменной или константой, помещаются в таблицу символических имен. Следует отметить, что номер строки помещается в таблицу символических имен только в случае, если он является первой лексемой в операторе. Объект symbolTable ( таблица символических имен) является массивом объектов типа tableEntry, представляющих каждый символ в программе. На число символов, которые могут появиться в программе, ограничений не существует. Следовательно, таблица символических имен symbolTable для конкретной программы может быть довольно большой по объему. [31]
На этом первый проход компилятора завершен. В ячейке 03 хранится 60, поэтому компилятор знает, что инструкция 03 не завершена. Компилятор завершает формирование этой инструкции, осуществляя поиск в таблице символических имен номера строки 60, определяя соответствующую ей ячейку памяти ЯМП и складывая этот адрес с незавершенной инструкцией. Теперь компиляция программы на ЯП успешна завершена. [32]
Компилятор начинает работу с чтения в память первого оператора программы на ЯП. Вспомните, что каждый оператор начинается с номера строки, после которого следует команда. После того, как компилятор разбивает оператор на лексемы, те лексемы, которые являются номером строки, переменной или константой, помещаются в таблицу символических имен. Следует отметить, что номер строки помещается в таблицу символических имен только в случае, если он является первой лексемой в операторе. Объект symbolTable ( таблица символических имен) является массивом объектов типа tableEntry, представляющих каждый символ в программе. На число символов, которые могут появиться в программе, ограничений не существует. Следовательно, таблица символических имен symbolTable для конкретной программы может быть довольно большой по объему. [33]
Компилятор начинает работу с чтения в память первого оператора программы на ЯП. Вспомните, что каждый оператор начинается с номера строки, после которого следует команда. После того, как компилятор разбивает оператор на лексемы, те лексемы, которые являются номером строки, переменной или константой, помещаются в таблицу символических имен. Следует отметить, что номер строки помещается в таблицу символических имен только в случае, если он является первой лексемой в операторе. Объект symbolTable ( таблица символических имен) является массивом объектов типа tableEntry, представляющих каждый символ в программе. На число символов, которые могут появиться в программе, ограничений не существует. Следовательно, таблица символических имен symbolTable для конкретной программы может быть довольно большой по объему. [34]