RPN : interpréteur de notation polonaise inversée en langage C

Magazine
Marque
GNU/Linux Magazine
Numéro
217
|
Mois de parution
juillet 2018
|
Domaines


Résumé
Cet article présente la réalisation en langage C d'un interpréteur d'expressions arithmétiques en notation polonaise inversée. Initialement limité à la manipulation d'entiers et de chaînes de caractères, il évoluera ultérieurement, grâce à la surcharge des opérateurs, vers un outil très puissant de manipulation d'objets complexes tels que des vecteurs, des matrices, des textes, des fichiers, des arborescences, des serveurs, etc.

La suite est réservée aux abonnés. Déjà abonné ? Se connecter

Sur le même sujet

C++ Moderne : C++11 & C++14

Magazine
Marque
GNU/Linux Magazine
Numéro
231
|
Mois de parution
novembre 2019
|
Domaines
Résumé

Avec la norme C++ 11, le concept de C++ moderne s’est popularisé. Je vous propose dans cet article de détailler les apports des versions 11 et 14 de la norme C++ et de vous expliquer en quoi cela a changé la façon de programmer en C++.

Web crawler / pilote web Selenium : comment automatiser des tâches répétitives d'accès à un site web

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
105
|
Mois de parution
novembre 2019
|
Domaines
Résumé

Une tâche répétitive, qui peut s'avérer fastidieuse, se rencontre par exemple lorsqu'on doit exploiter le contenu d'un fichier fréquemment mis à jour et téléchargeable via un site web, nécessitant une navigation au travers de menus successifs ou bien lorsque l'on désire tester le comportement d'un site web. Un pilote web permet de contrôler un navigateur internet afin d'automatiser ces tâches ; les outils Selenium [1] fournissent une réponse à ce problème, au moyen d'une librairie disponible pour de nombreux langages (dont Java, Python, etc.) ou d'un IDE, permettant d'enregistrer une séquence d'actions exécutée dans le navigateur et de la rejouer, à la demande.

Pytype versus Mypy : quel outil pour vérifier les types en Python ?

Magazine
Marque
GNU/Linux Magazine
Numéro
231
|
Mois de parution
novembre 2019
|
Domaines
Résumé

Il y a quelque temps, j'avais écrit un petit article sur le typage en Python [1]. Dans cet article je présentais deux outils de vérification : Mypy et Pyre, mais il existe un autre outil, Pytype qui, lui, est donné pour capable d'inférer automatiquement le type des variables. Bonne nouvelle ?

Créez des templates pour vos projets Python avec Cookiecutter

Magazine
Marque
GNU/Linux Magazine
Numéro
231
|
Mois de parution
novembre 2019
|
Domaines
Résumé

Il peut être rébarbatif de taper toujours les mêmes lignes, lorsque l'on démarre des projets dans un même domaine. Les risques d'erreurs sont grands et le copier-coller n'est pas non plus exempt de risques d'erreurs, sans parler de l'impossibilité de personnaliser le contenu. Les modèles - ou templates - constituent La solution...

Enfouissement de données dans un document LibreOffice

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
105
|
Mois de parution
novembre 2019
|
Domaines
Résumé

Cacher des données dans un document, c'est de la stéganographie [1]. Ici ce qui va nous intéresser, ce n'est pas vraiment de dissimuler les données, mais de les lier à un document LibreOffice pour ajouter des métadonnées. Ces données n'étant utiles qu'à notre usage personnel, nous allons les enfouir pour qu'elles ne perturbent pas nos collaborateurs.

Par le même auteur

Tirez parti de la colorisation pour faciliter la lecture de vos données

Magazine
Marque
Linux Pratique
HS n°
Numéro
46
|
Mois de parution
octobre 2019
|
Domaines
Résumé
Dans le numéro 93 de Linux Pratique [1], nous vous avions présenté la commande de colorisation hl (disponible sur GitHub [2]) qui permet de coloriser très simplement des fichiers texte ou résultats de commande. Dans cet article, nous allons étudier les nouvelles fonctionnalités, récemment ajoutées, qui rendent cette commande encore plus puissante.

Gestion de timers en langage C

Magazine
Marque
GNU/Linux Magazine
Numéro
228
|
Mois de parution
juillet 2019
|
Domaines
Résumé
On a parfois besoin de programmer l'exécution d'une tâche dans un programme écrit en langage C, par exemple pour envoyer un signal à un processus qui ne répond pas comme prévu : il existe plusieurs façons de répondre à ce besoin, ainsi que nous allons le voir dans cet article.

Retour d'expérience sur l'étude de la base MNIST pour la reconnaissance de chiffres manuscrits

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
102
|
Mois de parution
mai 2019
|
Domaines
Résumé
Parmi les premières recherches effectuées sur l'Intelligence Artificielle figure la reconnaissance des chiffres manuscrits. La base d'étude utilisée par l'expert en IA Yann Le Cun pour ses travaux, et maintenant devenue une référence, est appelée base MNIST. Nous allons découvrir comment la récupérer, la manipuler et l'étudier.

Implémentation et exploitation de la fonction backtrace() en C

Magazine
Marque
GNU/Linux Magazine
Numéro
223
|
Mois de parution
février 2019
|
Domaines
Résumé
Vous avez créé un binaire (issu d'un source C) que vous avez livré à un client, et, de temps en temps, le programme se plante suite à une violation mémoire. Vous n'avez pas la possibilité de lancer votre programme avec un debugger, ni d'examiner un fichier core pour connaître l'origine du plantage ... La fonction backtrace(), associée à quelques outils, va vous sortir de cette situation embarrassante.

RPN : extension de la syntaxe grâce à lex

Magazine
Marque
GNU/Linux Magazine
Numéro
221
|
Mois de parution
décembre 2018
|
Domaines
Résumé
Dans un article précédent (GLMF n°217), nous avons vu comment créer les bases d'un interpréteur de formules en notation polonaise inversée. Cet interpréteur minimal a été validé avec de petits programmes de tests élémentaires, à la syntaxe rigide. Dans le présent article, nous allons voir comment rendre la syntaxe de l'interpréteur plus souple grâce au générateur d'analyseurs lexicaux Lex, et comment ajouter des types nouveaux, comme des vecteurs, des matrices, et, ultérieurement, des listes, des textes, ou encore des réseaux de neurones.