Copie du wikimiroir

Ceci est un miroir du wiki de pascal.chat. La modification, l’historique et la connexion se trouvent là-bas.

Chelper/fr

English · Français

A propos

Chelper est un outil d'extension de Lazarus, qui aide à convertir les fichiers d'entête C en Pascal. Oui c'est un autre outil de conversion C vers Pascal comme beaucoup qui lui sont similaires (H2Pas, ToPas), mais on pourrait le trouver plus utile.

L'extension n'essaie pas de convertir un en-tête pour l'utilisateur, c'est plutôt un outil d'aide à la traduction manuelle, faisant presque tout le "sale boulot" pour l'utilisateur.

Chelper supporte aussi la conversion des déclarations Objective-C vers Objective-P.

Auteur

Dmitry 'skalogryz' Boyarintsev

Licence

modified LGPL (comme pour les FPC RTL et Lazarus LCL). Vous pouvez contacter l'auteur si la LGPL ne convient pas à la licence de votre projet.

Téléchargement

Il n'y a pas encore de paquet téléchargeable", vous pouvez accéder à louil depuis SVN: https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/chelper/

text
svn checkout https://svn.code.sf.net/p/lazarus-ccr/svn/components/chelper/

Journal des modifications

Dependencies / System Requirements

Etat: Beta

Problèmes

Aucun analyseur d'expression complet pour construire l'arborescence d'expression.

i vous trouvez un bug dans la convertisseur, veuillez le rapporter dans bugs.freepascal.org pour le projet Lazarus-CCR. Merci d'attacher le fichier d'entête C et les explications sur ce qui ne fonctionne pas comme voulu.

Installation

L'utilisation du convertisseur intégré présente un avantage en termes de performances. Cependant, si vous devez mettre à jour le convertisseur, vous devrez reconstruire l'intégralité de l'IDE. Il est également possible que le convertisseur provoque des plantages ou des blocages. Vous devriez le signaler, mais vous risquez de perdre toutes vos données.

Il est beaucoup plus sûr d'utiliser l'outil externe cconvert. Il est également plus facile de mettre à jour le convertisseur si de nouvelles fonctionnalités sont ajoutées ou si des bogues sont corrigés. Tout ce dont vous avez besoin est de reconstruire l'exécutable cconverter beaucoup plus rapidement que de reconstruire Lazarus.

Pour utiliser l'outil externe, vous devez faire ce qui suit:

Comment l'utiliser

Raccourcis

Général

Par exemple:

text
int c;
int b;

Si le curseur estplacé sur la ligne 'inc c;' et que ctrl+b est enfoncé, le résultat serait:

pascal
var
  c : Integer;
int b;

exactement une déclaration est convertie. Le curseur serait placé juste après la définition convertie. Vous pouvez appuyer à nouveau sur ctrl+b, et le résultat serait:

pascal
var
  c : Integer;
var 
  b : Integer;

L'analyse des définitions une par une préparera vos en-têtes C en très peu de temps, tout en les gardant propres et correctes du point de vue de Pascal.

i.e. vous avez 2 déclarations dans le fichier:

text
int fn(int, float);
extern int v;

En plaçant le curseur avant eux puis en pressant sur ctrl+shift+b, cela générera:

pascal
function fn(par0: Integer; par1: Single): Integer; cdecl; external;

var
  v : Integer; external;

Vous devez être prudent, car il est courant d'utiliser des macros dans les en-têtes C. Laisser l'une des macros non définie peut produire une mauvaise déclaration pascal. La section suivante explique comment définir une macro pour le chelper.

Defines

Dans la plupart des cas, des définitions de macro sans paramètre, comme

text
#define VALUE 1 << 2;

sont utilisés comme des valeurs constantes. Chelper les traduit en constantes en essayant de convertir l'expression define.

pascal
const
  VALUE = 1 shr 2;

dans d'autres cas, les define sont utilisés pour quelques marquages "spéciaux" ou ou des informations additionnelles pour des outils exernes.

text
#define LIB_DEPRECATED 
LIB_DEPRECATED int somefunc(int p);

Sans la connaissance de LIB_DEPRECATED qui est la macro (de rien), il est impossible d'analyser correctement la déclaration de fonction. Vous pouvez spécifier les macros utilisées par Chelper dans le fichier définitions spécial de define.

Sélectionnez Outils->C to Pascal options->Main, sélectionnez le fichier de define et pressez Edit.

Cela ouvrirait le fichier de define personnalisé dans l'IDE Lazarus. Toutes les macros déclarées dans ce fichier sont utilisées par Chelper. Après avoir ajouté/modifié les définitions de macro, enregistrez le fichier et vous pouvez revenir à la conversion de l'en-tête C.

Chelper gère également les macros de paramètres.

text
int somefunc SAFE_PARAMS( (int i))

Ajouter la déclaration suivante dans le fichier de définitions

text
#define SAFE_PARAMS(x) x

permettra d'analyser correctement la déclaration

pascal
function somefunc(i: Integer): Integer;

Fichier de configuration

Le fichier de configuration représente lui-même un simple fichier .ini. La section suivante est utilisée dans le fichier:

exemple:

text
[Types]
int=integer
int*=PInteger
float=single
float*=PSingle

From the Free Pascal wiki, page "Chelper/fr", as it stood on 2022-04-30 after a change by E-ric, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Version 6, dernière modification par WikiArchive .