IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Coloration syntaxique / créer son langage de script


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 002
    Par défaut Coloration syntaxique / créer son langage de script
    Bonjour à tous,

    Je suis en train de créer un langage de script permettant de faire du dessin

    Ca marche :
    - j'arrive à vérifier la syntaxe
    - je peux déclarer des variables
    - je peux affecter aux variables et aux paramètres des fonctions des valeurs mais aussi le résultat d'un calcul (genre k=(i-1)*180/n)
    - je peux définir des étiquettes et des sauts

    MAIS :
    - mon code est très long et très lourd
    - pas de coloration syntaxique dans l'éditeur
    - pas de choses évoluées comme des boucles for...next ou de sous-programmes

    Je me dis que cela existe déjà et que réinventer la roue c'est pas terrible... avez-vous des pistes ?

    Voici un aperçu :

    Mon programme se compose d'un éditeur de texte, des pages HTML sont utilisées pour afficher les différentes étapes de la compilation, ainsi que les erreurs éventuelles, le résultat final est une image au format SVG

    Fenêtre de code :

    Nom : Image3.gif
Affichages : 1111
Taille : 13,3 Ko

    Etape 1 - Vérification syntaxe :

    Nom : Image4.gif
Affichages : 943
Taille : 15,4 Ko

    Etape 2 - Adressage :

    Nom : Image5.gif
Affichages : 970
Taille : 16,6 Ko

    Etape 3 - Calcul des expressions et des sauts :

    Nom : Image6.gif
Affichages : 1014
Taille : 21,0 Ko

    Etape 3b - Calcul des expressions et des sauts (2) :

    Nom : Image7.gif
Affichages : 942
Taille : 16,3 Ko

    Etape 4 - Vérification des paramètres des différentes fonctions :

    Nom : Image8.gif
Affichages : 937
Taille : 15,6 Ko

    Etape 5 - Certaines fonctions sont exécutées, il ne reste plus que des fonctions géométriques basiques

    Nom : Image9.gif
Affichages : 984
Taille : 26,8 Ko

    Etape 6 - Le fichier SVG est généré :

    Nom : Image10.gif
Affichages : 836
Taille : 8,5 Ko

    Voici le fichier SVG "compilé" résultat du script saisi dans l'éditeur :

    Nom : Image11.gif
Affichages : 980
Taille : 8,1 Ko

    Merci

    A bientôt

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2015
    Messages : 128
    Par défaut
    et vous avez fait ce langage pour quoi essentiellement, moi aussi j'ai fait un petit langage que j'utilise extrêmement à des Fins personnels, pour scripter, faire des apps à GUI, bref tout .., et il est extrêmement simple (TVE) (th-vb-easy) th pour themine702 ...

    -bref voici un exemple de hello world

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Main Class helloWorldTest
        C_Msg : Hello World
    End Class
    -Puis tu vois je ne me fatigue pas, pas de guillemet, pas de function main .. (on peut tout faire avec malgré ça)

    -là un exemple ou je met un TextBox puis quand j'appuie sur Entré ça m'envoi un MsgBox avec le texte écrit ..


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Main Class Test
        #Imports : Constants.tve
        GUI_Add : MaTextBox*TextBox
        GUI : TextBox*Location*0*0
        GUI : App*Size*50*100
     
        GUI_HandleEvent: MaTextBox*KeyDown
     
        Function : MaTextBox_KeyDown*9*9*theKey
        /> If : <theKey>*=*<Input_Enter>*10*10
        /> C_Msg : <MaTextBox_Text>
    End Class
    -là le 9*9 c'est pour dire qu'il faut exécuter de la ligne 9 à la 9 donc une seul ligne (pareil pour le 10*10)
    -les /> c'est au lieu de mettre le code entre {}
    -* pour séparer les arguments comme la virgule quoi
    -et les variables ou autre donné qui n'est pas du string on la met entre : <>

    -il y'a pas de type dans le TVE (c'est pas que c'est dynamique comme le VB, c'est qu'il y'en a juste pas, tout est "donnée"
    -on peut faire des fonctions qui peuvent lire des lignes de partout, on peut meme totalement modifier le code de l'app après son interprétation, ouvrir des fichiers texte comme si s'était une Class ., bref tellement de choses impossible meme avec les autres languages interprété

    -par exemple on peut avoir une function qui execute 2 lignes une qui dit "salut" et l'autre qui ferme le programme on va dire de la ligne 1 à la 2, une autre function peut juste prendre là ligne 2 par exemple pour fermer le programme, donc 2 fonctions qui lisent la meme ligne sans probleme

    -on peut injecter du code directement, changer le code des loops alors qu'elles sont entrain d’être exécute ..,aller récupérer du code d'une page web pour l’exécuter dans une loop ou function .. bref je dirai que c'est peut être le langage le plus flexible du monde :3

    et en plus écrit en VB, donc :3 .. je pense le porter en java pour qu'ils soit universel (mac, android, linux, ios, win ..) le meme code marchera sur tout

    juste pour exemple j'ai écrit le jeux flappy bird de-dont en 70 ligne de code

    dans tout les cas je l'utilise juste pour moi, ou quelques amis quand ils ont besoins de scripts .., c'est comme un AHK, mais plus flexible, plus facile, plus tout .. (4000~ lignes environ sans commentaire ni ligne vide (c'est rien quoi))


    mais vous prk vous faites un languages qui fait des images :3

  3. #3
    Membre chevronné Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 002
    Par défaut
    Citation Envoyé par themine702 Voir le message
    mais vous prk vous faites un languages qui fait des images :3
    Bonsoir,

    Je travaille actuellement sur une application qui, à partir d'une image BMP en couleurs, détecte les contours, puis usine en 3D (ou plus exactement en 2.5D) avec une fraiseuse une pièce correspondant à l'image.

    Le principe : une couleur = un niveau de profondeur

    Par exemple, imagine une image en blanc, noir et rouge :
    - le rouge correspond à la découpe (profondeur 2mm)
    - le blanc à de la gravure (profondeur 0,5mm)
    - le noir à ce qui est laissé intact (profondeur 0mm)

    Si tu veux faire une face avant d'amplificateur, tu dessines sur un fond rouge un rectangle noir correspondant à la taille de la face avant, puis ensuite tu dessine en rouge les découpes (perçages, rectangles pour les afficheurs et les connecteurs) et tu dessine en blanc le texte à graver ("volume", "graves", "aiguës")

    Autre exemple : un circuit imprimé fait avec une fraiseuse :

    - voici l'image (noir = intact / blanc = gravure / rouge = perçage) :

    Nom : AlimPiedsACoulisse_1.gif
Affichages : 949
Taille : 35,0 Ko

    - voici le résultat :

    Nom : 100_2057_2.JPG
Affichages : 889
Taille : 110,2 Ko

    L'image BMP peut comporter autant de couleurs que l'on veux, mais il ne faut pas de dégradé ou d'antialiasing, que des couleurs bien définies.

    Pour parler traitement d'image : chaque couleur correspond à une "région" de l'image bien délimitée.

    Problème : le BMP c'est des pixels... et, à part les lignes horizontales et les lignes verticales, toutes les formes sont "en marches d'escalier"

    Pour remédier à ce problème j'ai mis en place un lissage, mais les coins sont arrondis, et la précision est moins bonne.

    Pour usiner une plaque de boites aux lettres ce n'est pas trop gênant.

    Mais si tu veux usiner une pièce précise, il ne faut pas utiliser une image BMP mais un format vectoriel.

    Et il faut un format vectoriel limité aux dessins de régions en couleurs sans dégradé ! Les formats vectoriels actuels ont tellement de fonctions et de façon différentes de créer une image que mon programme ne pourrait toutes les analyser.

    Au début je pensais faire un logiciel de dessin à la souris mais en mécanique il faut mettre des côtes, pouvoir faire des symétries, choses très chiantes à faire à la souris... en fait le mieux c'est d'avoir un script permettant avec quelques lignes de définir sa pièce plutôt que de devoir "se battre avec la souris et des centaines d'options dans des menus"

    De plus un script permet facilement de faire un dessin "paramétrable"

    Donc voilà pourquoi je veux faire un langage pour faire des dessins :-)

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2015
    Messages : 128
    Par défaut
    le projet est vraiment très bon, je pense que tu pourrai faire un truc comme un IDE et t'a genre ce que ton Code donnera comme résultat (à chaque fois que tu appuie sur une touche ça interprète le code et montre l'output), puis sinon je pense que si tu fait un petit logiciel comme paint (chiant mais utile dans ton cas) pour mixer les 2 méthodes, je veut dire tu peut dessiner et au meme temps ce que tu écrit avec ton langage de dessin s’affiche aussi sur l'image, c'est tout simplement rajouter une méthode de dessin par code à paint

  5. #5
    Membre chevronné Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 002
    Par défaut
    Citation Envoyé par themine702 Voir le message
    le projet est vraiment très bon, je pense que tu pourrai faire un truc comme un IDE et t'a genre ce que ton Code donnera comme résultat (à chaque fois que tu appuie sur une touche ça interprète le code et montre l'output), puis sinon je pense que si tu fait un petit logiciel comme paint (chiant mais utile dans ton cas) pour mixer les 2 méthodes, je veut dire tu peut dessiner et au meme temps ce que tu écrit avec ton langage de dessin s’affiche aussi sur l'image, c'est tout simplement rajouter une méthode de dessin par code à paint
    Bonjour,

    Je pense faire ça aussi

    Mais ce que je cherche c'est des outils pour le faire "intelligemment"

    Par exemple Notepad++, Context et des tas d'autres programmes font de la coloration syntaxique en prenant en charge toutes sortes de langages... Comment ça marche ?

    Il faut une RichTextBox et le code qui va bien et je n'ai pas envie de réinventer la roue

    De même pour l'analyse du code :-P

    Ou le calcul des expressions passer de cos(25) + (i-k*2) / n à la notation polonaise inverse puis le calcul

    A bientôt

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2015
    Messages : 128
    Par défaut
    bah sincèrement la coloration syntaxique sur du vb.net va juste falloir faire tout le code, y'a rien qui aide

    je pense que je pourrai le faire mais pourquoi te mentir j'ai la flemme :3, moi demain si j'ai du temps je peut le faire et te l'envoyer, si vous voulez juste savoir comment le faire (de façon optimisé bien evidement comme notepad++, pas juste une loop qui va prendre beaucoup du cpu, (pour des grands etxts(scripts)) je peut vous dire là

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/03/2009, 14h27
  2. Créer son interpréteur de "script perso"
    Par fredu dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 28/02/2009, 06h43
  3. [PSpad] Script autocomplétion et coloration syntaxique
    Par Invité dans le forum Autres EDI
    Réponses: 1
    Dernier message: 22/11/2008, 14h58
  4. [VisualStudio] Coloration syntaxique d'un fichier script
    Par Kelpan dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 10/09/2008, 10h28
  5. Script de mise en forme pour créer son propre blog
    Par speed034 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 08/08/2008, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo