Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@cyklang/core

Package Overview
Dependencies
Maintainers
1
Versions
73
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cyklang/core

XML script language

  • 0.8.8
  • npm
  • Socket score

Version published
Weekly downloads
168
increased by2700%
Maintainers
1
Weekly downloads
 
Created
Source

Instructions du noyau du cadriciel

Sommaire

Conventions typographiques

ElémentDescription
literalnom de commandes ou options à taper tel quel
[ ]les éléments optionnels sont entre crochets. Les attributs optionnels sont encadrés par des crochets avec un fond différent
normalun élément défini par une autre règle syntaxique
|la barre verticale sépare des éléments optionnels alternatifs exclusifs les uns des autres
...les points de suspension indiquent que l'élément précédent peut être répété une ou plusieurs fois
{ }les accolades regroupent les éléments situés entre elles en un seul élément pour appliquer un opérateur ... ou |

Types de données

  • Texte :
  • Nombre : <number/>
  • Heure : <datetime/>
  • Booléen : <boolean/>
  • Object : <object/>
  • Module : <module/>
  • Fonction : <function/>
  • Undefined

Déclaration de données primitives

Déclaration de string (chaine de caractères)

<string [ name="identifier" ] [ literal="" ] > 
  expression  | text_literal  | 
</string>
  • Si l'attribut literal est spécifié, le contenu de la balise n'est pas évalué en tant qu'expression mais considéré comme un texte litéral
  • Un contenu de balise vide est équivalent à la valeur undefined
  • La XML CDATA est acceptée
  • L'attribut name est facultatif : utile dans le cas de l'initialisation d'une liste de données anonymes
Exemples
<string name="person_1"> "John Doe" </string>
<string name="person_2" literal="">John Doe</string>
<string name="math_formula_1"> <![CDATA[ "x < y" ]]> </string>
<string name="math_formula_2" literal=""> <![CDATA[ x < y ]]> </string>

Déclaration de nombre

<number [ name="identifier" ] > *expression* | undefined | </number>  
Exemples
<number name="id"/>
<number name="intvalue"> 12 </number>
<number name="amount"> 10.25 </number>

Déclaration de datatime

Instructions de Contrôle

Instruction Conditionelle

conditional_instruction :

<if>   
  <condition> expression </condition>   
  <then>  
    instruction ...    
  </then>  
  [      
  <condition> expression </condition>   
  <then>   
    instruction ...  
  </then>   
  ] ...   
  [   
  <else>   
    instruction ...     
  </else>  
  ]    
</if>

Instruction While

while_instruction :

<while>    
  <condition> expression </condition>   
  <then>   
    instruction ...   
  </then>  
</while>

Sortie de boucle par <break/> Itération suivante par '`

Instruction Loop

loop_instruction :

<loop>   
  instruction ...      
</loop>

Instruction break

break_instruction :

<break>   
  [ expression ]   
</break>

Si expression est présente, elle est évaluée Si le résultat est équivalent à VRAI, le programme quitte le bloc en cours Si expression est absente, le programme quitte le bloc en cours

Instruction Affectation

set_instruction :

<set name="identifier"> expression </set>
<let name="identifier"> expression </let>

Les noms de balise set et let ont la même signification

Instruction Stringexec

<stringexec> expression </stringexec>

L'expression est évaluée en tant que chaine, puis considérée comme un texte de programme qui est exécuté

Instruction Parallel

<parallel>   
  instruction ...     
</parallel>

Chaque instruction dans le bloc est exécuté en parallèle des autres. L'instruction <parallel/> se termine lorsque toutes les intrutions du bloc sont terminées.

Définition de fonction

Exemple : la fonction factorielle

    <function name="fact" returns="result: number">
        <number name="N"/>
        <block>
            <if>
                <condition><![CDATA[ N <= 0]]></condition>
                <then>
                    <let name="result">1</let>
                </then>
                <else>
                    <number name="fact1">1</number>
                    <call function="fact" returns="fact1">
                        <number name="N">N - 1</number>
                    </call>
                    <let name="result">N * fact1</let>
                </else>
            </if>
        </block>
    </function>

Instruction Appel de Fonction

Function

<call function="identifier" [ returns="identifier : datatype" ] >   
  declare_instruction ...   
</call>

Methode d'Objet

<call object="identifier" method="identifier" [ returns="identifier : datatype" ] >   
  declare_instruction ...    
</call>

Méthode d'un Module

<call module="identifier" method="identifier" [ returns="identifier: datatype*" ] >   
  declare_instruction ...    
</call>

Format des expressions

FAQs

Package last updated on 04 Jan 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc