[PYTHON] Langage du bouclier var0.1

Langage de bouclier var 0.1

Ce langage est un langage auto-conçu qui intègre ce que je pense être bon à propos de Python, C #, Kotlin et v. Il est hautement extensible et a la même vitesse que Java, il n'utilise pas beaucoup de mémoire comme Jit et la parallélisation n'est pas difficile.

ex.shie


using Sys
using Os <-Os.ptr,Os.Pointer.Nullptr,Os.Pointer.thisptr,Os.Pointer.ID,Os.Pointer.Out,Os.Environment.Sortie etc.
using Collection #<- class Enumerable,class Range,class Array,class List(Défaut),class Dict,class...
from Sys using static Console
from Sys using Environment <-Exit,
from Sys using static Math
delegate file as files //Alias de fonction

static class ex():
    def do_File() ():
        opt var t = 1
        opt f float = Null
        lst = new int [[1,2,3],[6,7,2,4],[7,10,24,66,13]] #liste
        lst1 = new int [10,30]
        lst2 = new [[val = for(x in Range(10)) if(x == 4 and y == 6) break] for(y in Range(10))]
        itg := 1 #ERREUR immuable itg= 3
        string := "VVAN.png "
        opt fstring str = Os.File.Is_Pass(string) #S'il n'y a pas de réussite Aucune Unité
        if (not fstring):
            return #Aucune unité automatiquement
        else:
            WriteLine(string+"Est" + fstring"Existe en")
            return 

    pub def Main(Matual_Girls str):
        WriteLine(ex.do_File()) #la référence d'objet statique est le nom de l'objet.Accès avec. Normalement cela.Accédez avec->None
        ex.mycls = cls() 
        ex.mycls.show()

struct stl:
    pub def _init():
        pub self.x = 500
        pub self.y = 400
        pub self.z = 0

class cls():
    pub def _init():
        get set del this.mylist = [for(i in Range(10)) if(i%3 is _Nothing()) 1 elif(i%2 is _Nothing()) 2 else Null] //Null pour le reste
    
    pub def show():
        WriteLine(for(l in this.mylist))
        get set del opt this.stl_s stl = Null

if(_name == "__main__"):
    ex.Main()

(*
Les variables sont un type de nom de variable facultatif=variable
L'accès aux objets membres est auto.~,this.~
Type d'unité(C++Nullptr_t type)はNoneとNullのみ。普通のメソッドはNoneを返す。ジェネリクス等でWhere selfと書くと値型で非staticなものWhere struct と書くと全ての値型が取り出される。Unit typeは特殊で、Unit classと書くとNoneのみUnit struct と書くとNullのみ。Where t is false と書くと_Nothing()La valeur est choisie.
La commande de saut est break(##<T>),continue(##<T>),return,yield,yield break,Il y a du rendement continue.
*)

Comment fonctionne le langage du bouclier

Pré-compilation (lien statique) -> génération de fichier jcp (fichier qui s'exécute sur le conteneur) -> conteneur (absorber le lien dynamique / GC / singularité entre plates-formes) -> Jit compile-> CPU / par rapport au langage VM qui s'exécute lors de l'exécution C'est bien car l'utilisation de la mémoire est faible. ** Je veux le rendre aussi rapide que * Java *, donc je ne le regrette pas, non? Dois-je répondre ** oui ** même si on me le dit **?

Recommended Posts

Langage du bouclier var0.1
Proposition d'un nouveau framework de langage de bouclier linguistique
Différence entre l'utilisation et l'importation sur le langage de bouclier