Оглавление
Правило “вне игры”
-
Определение и использование внешних правил
- Внешние правила определяют границы блоков кода с помощью отступов.
- Питер Лэндин ввел термин “внешние правила” как каламбур, связанный с футболом.
- Отступы имеют синтаксическое значение в языках с внешними правилами, в отличие от языков со свободной формой, где они являются стилистическим элементом.
-
Примеры и реализация
- В Python отступы используются для определения границ операторов, а не деклараций.
- Лексический анализ может реализовать внешние правила, увеличивая или уменьшая отступ.
- Лексемы отступа соответствуют фигурным скобкам и не зависят от их использования.
-
Альтернативы внешним правилам
- Явная маркировка блоков фигурными скобками или другими разделителями является альтернативой отступам.
- Lisp и другие языки с S-выражениями используют пробелы для контроля области действия операторов.
- Некоторые языки, такие как ALGOL 60, используют ключевые слова для начала и конца блоков.
- В Modula-2 блоки могут начинаться и заканчиваться без явных маркеров, что упрощает структуру кода.
-
Производительность и известные языки
- В Scala 3 отступы используются для улучшения производительности и сокращения кода.
- Многие известные языки программирования, включая F#, Scala, Haskell и другие, используют отступы для структурирования блоков.
- Некоторые форматы текстовых файлов, такие как GCode и Pug, также используют отступы для организации кода.