Sealang este un set imbunatatit de legaturi Python pentru libclang.
Mentinatorii din amonte ai libclang nu au reactionat in mod deosebit la patch-uri care abordeaza probleme precum compatibilitatea Python 3 si omisiunile semnificative din API (cum ar fi extragerea literelor si operatorilor).
Acest pachet este o bifurcare a legaturilor oficiale Python pentru libclang, corecte pentru a corecta aceste probleme.
Instalare
Pentru a compila Sealang, va trebui sa:
- Instalati LLVM (cu clang)
- Setati cateva variabile de mediu
- Instalati Sealang
Comenzile exacte necesare vor varia intre platforme.
OS X
Desi OS X ofera Clang, nu ofera toate antetele de dezvoltare, asa ca va trebui. Homebrew este cel mai simplu mod de a face acest lucru. Urmati instructiunile de instalare de pe pagina principala Homebrew; dupa ce ati instalat Homebrew, puteti rula:
$ brew install llvm –with-clang –with-asan
pentru a obtine o instalare functionala a llvm cu clang.
Apoi, va trebui sa setati urmatoarele variabile de mediu:
$ export LLVM_HOME = / usr / local / opt / llvm $ export DYLD_LIBRARY_PATH = $ LLVM_HOME / lib
In cele din urma, puteti instala Sealang:
$ pip instaleaza sealang
Ubuntu
Pentru a compila sub Ubuntu 14.04 (Trusty), va trebui sa obtineti o versiune actualizata a LLVM:
$ sudo apt-get install libclang-3.6 clang-3.6 -y
Pentru Ubuntu 16.04 (Xenial), poate fi necesar si sa instalati pachete de programe suplimentare:
$ sudo apt-get install zlib1g-dev libncurses5-dev -y
Apoi, va trebui sa setati urmatoarele variabile de mediu:
$ export LLVM_HOME = / usr / lib / llvm-3.6 $ export LD_LIBRARY_PATH = $ LLVM_HOME / lib
In cele din urma, puteti instala Sealang:
$ pip instaleaza sealang
Alte platforme
Instructiunile de instalare pe alte platforme ar trebui sa fie similare. Daca dezvoltati instructiuni de constructie pentru o platforma, va rugam sa trimiteti o cerere de extragere.
Utilizare
Sealang ofera un superset al functionalitatii oferite de libclang. Aceste caracteristici sunt:
- Obiectele cursorului au 4 atribute suplimentare:
- literal – valoarea unei expresii literal. Disponibil pe nodurile IntegerLiteral, FloatingLiteral, StringLiteral, CharacterLiteral si CXXBooleanLiteral.
- operator – versiunea imprimabila a unui operator. Disponibil numai pe nodurile cursorului BinaryOperator, UnaryOperator si CompoundAssignOperator.
- binary_operator – o valoare de enumerare care descrie un nod BinaryOperator sau CompoundAssignOperator.
- unary_operator – o valoare de enumerare care descrie un nod UnaryOperator.
- BinaryOperator – O enumerare pentru tipurile de operatori binari:
- BinaryOperator.INVALID
- BinaryOperator.PTRMEMD
- BinaryOperator.PTRMEMI
- BinaryOperator.MUL
- BinaryOperator.DIV
- BinaryOperator.REM
- BinaryOperator.ADD
- BinaryOperator.SUB
- BinaryOperator.SHL
- BinaryOperator.SHR
- BinaryOperator.LT
- BinaryOperator.GT
- BinaryOperator.LE
- BinaryOperator.
videos pornos de abuelas videos putas maduras
sex porne coños de viejas
porno casero en españa porno madres peludas
sexo casero españa porno traducido español
pornotrans como folla mi mujer
incesto ruso hentaihd
maduras españolas camara oculta madura cabalgando
españolas amater paja en el coche
incesto lesbianas videosgays
videos porno gay de españoles caras llenas de semen
videos chicas gratis folladas extremas
cerdas com gratis porno casero real español
mamada de rodillas orgia bisexual
video sexo gratis tetudas españolas
porno andaluz porno torrent magnet
mi primera follada videos de chicas gratis
abuelas españolas xxx parejas pilladas en la calle
miakalifa maduras por dinero
cartoon xxx www rubias
como folla mi mujer tetudas jovenesGE
- BinaryOperator.EQ
- BinaryOperator.NE
- BinaryOperator.AND
- BinaryOperator.XOR
- BinaryOperator.OR
- BinaryOperator.LAND
- BinaryOperator.LOR
- BinaryOperator.ASSIGN
- BinaryOperator.MULASSIGN
- BinaryOperator.DIVASSIGN
- BinaryOperator.REMASSIGN
- BinaryOperator.ADDASSIGN
- BinaryOperator.SUBASSIGN
- BinaryOperator.SHLASSIGN
- BinaryOperator.SHRASSIGN
- BinaryOperator.ANDASSIGN
- BinaryOperator.XORASSIGN
- BinaryOperator.ORASSIGN
- BinaryOperator.COMMA
- BinaryOperator.UNKNOWN
- UnaryOperator – O enumerare pentru tipurile de operatori binari:
- UnaryOperator.INVALID
- UnaryOperator.POSTINC
- UnaryOperator.POSTDEC
- UnaryOperator.PREINC
- UnaryOperator.PREDEC
- UnaryOperator.ADDROF
- UnaryOperator.DEREF
- UnaryOperator.PLUS
- UnaryOperator.MINUS
- UnaryOperator.NOT
- UnaryOperator.LNOT
- UnaryOperator.REAL
- UnaryOperator.IMAG
- UnaryOperator.EXTENSION
- UnaryOperator.UNKNOWN
Cum functioneaza
Sealang este un pic cam prost. libclang este un set de legaturi C la un API C ++; Tipurile Python sunt apoi utilizate pentru a infasura API-ul C. Cu toate acestea, in timp ce API-ul C ++ este destul de bogat, libclang este mai putin.
Sealang elimina acest decalaj oferind invelitori C in jurul apelurilor C ++ care ofera functionalitatea utila. Aceasta biblioteca de functii C este infasurata ca un modul Python C pentru livrare – acest modul C nu contine obiecte sau metode Python expuse , dar deoarece este un modul, fisierul compilat sealang.so este usor de gasit. tipurile sunt apoi utilizate pentru a expune functiile de impachetare sealang;
Pe plan intern, Sealang reproduce cateva piese minore din API-ul libclang; acestea sunt metode (cum ar fi metodele de creare si manipulare a sirurilor) care nu sunt expuse ca simboluri pentru utilizarea tertilor.
Toate aceste functionalitati pot fi transmise in amonte catre libclang.
Relatia cu Clang
Acest proiect isi propune sa reflecte ceea ce este disponibil in prezent in legaturile Python la libclang. Numarul versiunii pentru acest proiect este extras din versiunea si revizuirea SVN a depozitului oficial clang.
Orice modificare facuta in amonte la libclang va fi reflectata aici; orice schimbari facute aici vor fi, acolo unde este posibil, impinse in amonte catre libclang.
Comunitate
Sealang face parte din suita BeeWare. Puteti vorbi cu comunitatea prin:
- @pybeeware pe Twitter
- Lista de e-mail a utilizatorilor BeeWare, pentru intrebari despre cum sa utilizati suita BeeWare.
- Lista de distributie a dezvoltatorilor BeeWare, pentru a discuta despre dezvoltarea de noi caracteristici in suita BeeWare si idei pentru noi instrumente pentru suita.
Contribuind
Daca aveti probleme cu Sealang, conectati-le pe GitHub. Daca doriti sa contribuiti cu codul, va rugam sa il codificati si sa trimiteti o cerere de extragere.








