## 7 GCL: a Linguagem de Comandos do Geomview

GCL tem a sintaxe do lisp – i.e. uma expressão da forma (f a b ...) significa informar os vallores de a, b, ... para a função f. GCL é muito limitado e GCL não é de forma alguma uma implementação de lisp. GCL é simplesmente uma linguagem para expressar comandos que são executados na ordem fornecida, ao contrário de uma linguagem de programação. GCL não suporta variável ou definição de função.

GCL é a linguagem que Geomview entende para arquivos que chama bem como para comunicação com outros programas. Para executar um comando GCL interativamente, você pode trazer o painel de comandos (Commands) que trás sua digitação em um comando; Geomview executa o comando quando você pressiona a tecla <Enter>. A saída de tais comandos é mostrada na saída padrão. Alternativamente, você pode invocar Geomview com `geomview -c -` que faz com que o Geomview leia comandos GCL a partir da entrada padrão.

Funções GCL retornam um valor, e você pode concaenar chamadas de função de forma que outras funções usem esse valor retornado. Por exemplo

         (f (g a b))

avalia `(g a b)` e então avalia `(f x)` onde `x` é o resultado retornado por `(g a b)`. Geomview mantém esses valores de retorno internamente normalmente não fornece saída alguma com os resultados guardados. Para mostrar um valor de retorno esse valor de retorno deve ser fornecido à função `echo`. Por exemplo a função `geomview-version` retorna uma sequência de caracteres representado a versão do Geomview que está sendo executada, e

         (echo (geomview-version))

mostra essa sequência de caracteres.

Muitas função simplesmente retornam `t` ( de "true" - verdadeiro) caso tenham sido executadas como esperado ou `nil` ( nenhum ) em caso de falha; esse é o caso se a documentação para a função não fornece o retorno esperado. Esses são os símbolos do lisp para verdadeiro e falso, respectivamente. (Eles correspondem às variáveis definidas em C `Lt` e `Lnil` que você verá se olhar no código fonte do Geomview ou em algum dos módulos externos.)

Nas descrições ds comandos acima muitas refer6encias são feitas a formatos "OOGL" formats. OOGL é a linguagem de descrição dos dados que Geomview utiliza para descrever objetos geométricos, câmeras, aparências, e outos objetos básicos. Para detalhes dos formatos OOGL, veja Formatos dos Arquivos da OOGL. (Ou equivalentemente, veja a página de manual oogl(5), distributed with Geomview in the file /share/man/man5/oogl.5gv.

Os comandos GCL e tipos de argumentos são listados abaixo. A maioria da documentação nessa seção do manual está disponível dentro do Geomview via comandos `?` e `??`. O comando `(?` comando`)` faz com que Geomview mostre na tela um sumário de uma linha da sintaxe de comando, e `(??` comando`)` mostra na tela uma explanação de o que comando faz. Você pode incluir o caractere coringa `*` no comando para mostrar informações para um frupo de comandos coincidindo com um modelo. Por exemplo, `(?? *emodule*)` irá mostrar todas as informações sobre todos os comandos contendo a sequência de caracteres `emodule`. `(? *)` irá mostrar um lista curta de todos os comandos.