Лекция 01. Тема Общая характеристика языков программирования высокого уровня
Download 4.1 Mb. Pdf ko'rish
|
Lektsii po YaP Lukinova 2 sem
- Bu sahifa navigatsiya:
- 2.3.4. Связывание переменной с типом данных.
Лекция 05. 2.3.3.Уровни типизации ЯП. Правила типизации языка предполагают: наличие объявления типов данных; реализация связывания типов с переменной; определение типов смешанных арифметических выражений; наличие правил преобразования типов. Определение. Если для языка определены правила типизации, то язык считается типизированным, если эти правила для языка не определены – язык нетипизирован. При этом языки имеют несколько уровней типизации: 1. Слабая типизация – язык, в котором информация о типе используется только для обеспечения корректности представления данных в ячейке. Например, для языка со слабой типизацией в операторах c char; c = 4; контроль типов ошибок не выявит. 2. Сильная типизация – язык, в котором осуществляется полный контроль типов (статический, динамический или смешанный), в таком языке ошибки типов выявляются все и всегда. 3. Защитно-типизированный язык – язык, в котором операторы с возможными ошибками недопустимы. Сильная типизация обеспечивает высокую надежность. Pascal – сильнотипизированный (за исключением вариантных записей) с элементами защитной типизации; Fortran – cлаботипизированный, т.к. в языке нет проверки соответствия типов формальных и фактических параметров подпрограмм, а также переменных операторов EQUIVALENCE. Ada – почти сильнотипизированный, но позволяет программистам отключать проверку типов; C – cлаботипизированный, имеются некоторые функции, параметры которых не подвергаются проверке, кроме того, для типа данных Union проверка не осуществляется, по крайней мере, в статике. 2.3.4. Связывание переменной с типом данных. Существует три способа связывания типа с переменной: 1. Статическое связывание. Реализуется с помощью: операторов объявления типов; правил объявления типа, принятых при разработке языка. Большинство ЯПВУ требуют явного объявления, т.е. наличие в составе языка операторов объявления типа переменной. Однако в таких ЯП, как FORTRAN, PL\1, Бейсик есть и неявные соглашения. Например, переменные, имена которых начинаются с букв i, j, k, l, m, n считаются типа integer, хотя неявные объявления способствуют возникновению ошибок. Статическое связывание обычно реализуется на стадии компиляции, поэтому оно поддерживает надежность языка программирования (и в этом основное преимущество статического связывания). 2. Динамическое связывание. При динамическом связывании при объявлении переменной ее тип не указывается. Определение типа и его связывание с ней происходит при присвоении переменной значения. Например, в языках APL , SNOBOL4 существует оператор Download 4.1 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling