lizpop é um interpretador de esquema para Python.
Instalação
& Nbsp; Basta executar python setup.py instalar.
& Nbsp; por exemplo.
& Nbsp; tar zxvf lizpop-0.3.1.tar.gz
& Nbsp; cd lizpop-0.3.1
& Nbsp; sudo python setup.py instalar
Uso
Para executar de forma interativa:
& Nbsp; python -O -m lizpop.run
Para executar um script Scheme em um arquivo:
& Nbsp; python -O -m lizpop.run yourfile.scm
Para obter mais informações sobre opções de linha de comando:
& Nbsp; python -O -m lizpop.run -h
Características
Subconjunto de Scheme R5RS
& Nbsp; Veja a seção Restrições para obter mais detalhes.
Tem interfaces para Python
& Nbsp; por exemplo.
& Nbsp; $ cat helloworld.py
& Nbsp; def Olá (s = "world"):
& Nbsp; retornar u "Olá% s!" S.capitalize% ()
& Nbsp; $ python -O -m lizpop.run
& Nbsp;> (* definir helloworld * (importação "helloworld"))
& Nbsp;> (definir Olá (attr * helloworld * 'Olá))
& nbsp;> (hello "amigos")
& nbsp; "Olá amigos!"
& Nbsp; Para mais detalhes, consulte o arquivo IFPY.rst neste pacote.
Expressões Regulares literal.
& Nbsp; A seguir literal é um objeto de expressão Regular.
& Nbsp; # / PADRÃO / BANDEIRAS
& Nbsp;: padrão de expressão regular
& Nbsp; BANDEIRAS: bandeiras expressão regular.
& Nbsp; i-- ignorar caso m-- multi-linha s-- ponto corresponde a todos
& Nbsp; u-- Unicode locale L-- dependente x-- dependente verboso
& Nbsp; Exemplos
& Nbsp ;;; A correspondência simples
& Nbsp;> (re-search # / ( d +): ( d +) / "14 de agosto") ;; não combina
& Nbsp; #f
& Nbsp;> (re-search # / ( d +): ( d +) / "Agosto 14, 8:30") ;; fósforo
& Nbsp; <_sre.SRE_Match objeto em ...>
& Nbsp ;;; Obter subgrupo
& Nbsp;> (re-group (re-search # / ( d +): ( d +) / "Agosto 14, 8:30") 1 2)
& Nbsp; ("08" "30")
& Nbsp ;;; Substitua cadeia
& Nbsp;> (? Re-gsub # / <( /) h d / i> "<\ 1H3>" "
Características:
")& Nbsp; "
Características:
"& Nbsp;>
& Nbsp; para mais informações, executar procedimento ajuda.
& Nbsp; por exemplo.
& Nbsp;> (lista de ajuda # / (^ re) | (regex) /)
& Nbsp;> (ajuda re-re-match busca re-re-grupo gsub)
Suporta caracteres multi-byte
& Nbsp; Só codificação UTF-8 agora.
EML (Lizpop embutido)
& Nbsp; EML é uma linguagem de modelo para a incorporação de código Lizpop em arquivo de texto.
& Nbsp; EML tem as seguintes especificações simples.
& Nbsp;%> string é adicionada ao início da porta de entrada.
& Nbsp; Implicitamente, <% é adicionado à extremidade do porta-entrada.
& Nbsp; Nota: Essas idéias são inspirados por BRL (http://brl.sourceforge.net/).
& Nbsp; Para executar EML, utilize -eml opção de linha de comando como.
& Nbsp; por exemplo.
& Nbsp; python -m lizpop.run -eml yourfile.eml
& Nbsp; Um exemplo simples
& Nbsp; $ cat gcdlcm.eml
& Nbsp; <% (definir numlist (mapa string-> número * args *))%>
& Nbsp; GCD de <% numlist%> é <% (aplicar mdc numlist)%>.
& Nbsp; LCM de <% numlist%> é <% (aplicar lcm numlist)%>.
& Nbsp; $ python -m lizpop.run -eml gcdlcm.eml - 1533 37303 4307
& Nbsp; de GCD (1533 37303 4307) é de 73.
& Nbsp; de LCM (1533 37303 4307) é 6.602.631.
& Nbsp; Para mais exemplos:
& Nbsp; por favor, execute (ajuda load-eml) para ver a sua mensagem de ajuda.
& Nbsp; Nota: `lizpop + apache2 + mod_wsgi`
& Nbsp; Veja o arquivo wsgi_sample / application.wsgi incluído neste pacote.
Função de ajuda
& Nbsp; Lizpop tem uma função de ajuda, ele exibe a documentação para os procedimentos ou macros dadas.
& Nbsp; Uso:
& Nbsp; (help var ...)
& Nbsp; (help-list padrão regex-)
& Nbsp; por exemplo.
& Nbsp;> (ajudar a invocar)
& Nbsp; Processo: (invocar OBJ ARGS mensagem ...)
& Nbsp; Invoca método chamado mensagem do OBJ com ARGS ...
& Nbsp; ................................................ .........
& Nbsp; No entanto, por agora, a documentação de ajuda é fornecida apenas para as funções Python-Interface relacionados.
& Nbsp; para mais informações, executar (ajuda) e (help-list ajuda).
& Nbsp; Nota:
& Nbsp; Eu não sou bom em Inglês. Assim, mensagens de ajuda pode incluir alguns erros ou expressões não-naturais em Inglês.
Restrições
Macros de higiene não são suportados.
& Nbsp; regras de sintaxe-definir-sintaxe, e deixe-a sintaxe não são implementadas.
& Nbsp; Em vez disso, as macros (não-tradicionais de higiene) pode ser usado.
& Nbsp; => run (ajudar a definir-macro)
As seqüências não são mutáveis.
& Nbsp; cordas Lizpop são implementados como objetos Python unicode cordas que são imutáveis. assim, corda-set! e seqüência de encher! não funciona.
call / cc e dinâmica do vento são apenas parcialmente implementadas.
& Nbsp; Lizpop não suporta continuação completo.
& Nbsp; de Lizpop call-com-corrente de continuação é ascendente apenas e não reentrante. Assim, ele pode ser usado para não-local-de saída, mas não pode ser utilizado para co-rotinas ou retrocesso.
Os números complexos e números fracionários não são suportados.
null-ambiente e esquema de-report-ambiente não são implementadas.
& Nbsp; para mais informações, executar (ajuda eval)
Requisitos :.
- Python
Comentários não encontrado