Техническое название для кода, не являющегося частью какой-либо функции

Каким будет технический термин для кода на языках сценариев, который не является частью какой-либо функции и выполняется первым при импорте сценария?

Например, в Python:

import anything

#what is the technical name for this code?
a = 1
doABackFlip()

def myFunction():
  #Not this code since it is part of a function
  b = 2
  runSomething()

class myClass():
  #This is in a class so not this code either

В JavaScript:

<script>
  //What is the technical name of this code?
  a = 1
  doABarrelRoll()

  function myFunction() {
    //Not this stuff. Part of a function again
    doSomethingCool()
    }
</script>

Я специально искал термин для одного или двух слов для этого кода. Было бы лучше, если бы это был либо обычный дескриптор, либо еще лучше, что-то придуманное в какой-то академической статье еще в 60-х годах.

2 ответа

Решение

Я не уверен, что у кода, выполняемого вне функций, есть определенное имя, но у "пробела", в котором они выполняются, есть общее имя в разных языках: это называется глобальной областью действия.

Обычно код, работающий в глобальной области, называется просто "код, работающий в глобальной области".

Мне очень нравится ваш вопрос, и я не могу дать на него однозначный ответ. Однако я бы хотел немного рассуждать здесь.

Когда вы пишете парсер для обязательного языка, вы столкнетесь с чем-то вроде StatementList - который является списком заявлений. Так что все внутри окружающего "блока" (то есть функции, методы, но также тела цикла или просто { а также } в других блоках на с-подобных языках) будет представлен как StatementList, Поэтому для меня здесь возникает вопрос: как называется окружающий узел в абстрактном синтаксическом дереве (AST). И пока все, что я видел, это: "Программа".

Также это имя, которое этот список операторов имеет в Паскале.

Другие вопросы по тегам