Skip to content

andrewfstratton/quandoscript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quandoscript

Script engine for Quando

Here is the (growing) script definition, where xxx:: is the definition of xxx

graph LR
    stop((( )))
    start((( )))--> sequence --> stop
    sequence --> nl["↵"] --> sequence
Loading
graph LR
    stop((( )))
    sequence::---line-->nl["↵"]--> stop
    nl-->line
Loading
graph LR
    stop((( )))
    id-->stop
    line::---id-->spacer-->action-->stop
Loading
graph LR
    stop((( )))
    id::---digit-->s( )-->stop
    s-->digit
Loading
graph LR
    stop((( )))
    digit::--- 0..9--> stop
Loading
graph LR
    stop((( )))
    spacer::---l[ ]-->s["#quot; #quot;"]-->r[ ]-->stop
    l-->tab-->r
    r-->l
Loading
graph LR
    stop((( )))
    action::--- word--> params --> stop
Loading
graph LR
    stop((( )))
    word:: --- letter-->stop
    letter-->l( )-->rl["letter"]-->r( )-->stop
    r-->l
    l-->dot["."]-->r
    l-->u["_"]-->r
    l-->digit-->r
Loading
graph LR
    stop((( )))
    letter::---l( )--> a..z--> stop
    l--> A..Z--> stop
Loading
graph LR
    stop((( )))
    params:: --- l["("] --> r[")"]-->stop
    l--> param--> r
    param-->c[","]-->param
Loading
graph LR
    stop((( )))
    param:: --- word --> value-->stop
    word --> variable --> stop
Loading
graph LR
    stop((( )))
    variable:: ---l["="] --> word --> stop
Loading
graph LR
    stop((( )))
    value:: --- l[ ]
    l--> b[!]--> boolean -->stop
    l--> q[#quot;] -->characters --> qr[#quot;] -->stop
    l--> h["\#"]-->FLOATING_POINT -->stop
    l--> c[":"]--> id -->stop
Loading
graph LR
    stop((( )))
    boolean::---l( )--> true --> stop
    l-->false --> stop
Loading
graph LR
    stop((( )))
    characters::---l[ ]--> UNICODE-->r[ ]--> stop
    l-->prefix_character -->r
    r-->l
Loading
graph LR
    stop((( )))
    prefix_character::--- l["\"]-->slash["\"]--> stop
    l-->q[#quot;]-->stop
    l-->n-->stop
    l-->t-->stop
Loading

Optional

  • Range
    • % full (0..1)
    • / half (0.5..1)
    • ~ plus_minus (0.5 +/- 0.5)
    • or should I now switch to -1 to +1
  • true/false/either, e.g. for press/release/either
    • see also temporal logic
    • the difference here is between the press/release change of state and the actual pressed/released state

About

Script engine for Quando

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages