-
Notifications
You must be signed in to change notification settings - Fork 0
RyanMitch16/runepl
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Main program execution: Execute any rune file by using the provided shell script: rune.sh [file] How to execute the test problem: The test problem is executed through the using the make file: make run-problem To change the input values of the full adder, change the values of the signal in at lines 215, 216, and 217. Rune is similar to python in the sense that statement blocks are grouped using whitespace. Currently a tab is also equal to 4 spaces and they can be used interchangably. if (x > 10): print("BLAH") var c = func(y):( while (x < 100): x += 1 ) Literals: Integers : [0-9]+ Double : [0-9]+.[0-9]+ Strings : "[^(/")]*" Null : null Variables: Variables are declared with the var keyword var IDENTIFIER Or var IDENTIFIER = Expression Multiple variables can be declared at once and all variables not initialized to a default value are set to null. var IDENTIFIER, IDENTIFIER, ... = Expression, Expression, .... Variables cannot be redeclared in the same scope Assignment: Variables can be reassigned to using the =, +=, -=, /=, and %= operations. IDENTIFIER += Expression Multiple can also be assigned to as well but the number of expressions and identifiers must be equal. IDENTIFIER, IDENTIFIER, ... += Expression, Expression... Functions: Functions are defined with the func keyword. func(PARAMATERS, PARAMATERS, ...):( BODY ) A function with a single line body can be defined like: func(PARAMATERS, PARAMATERS, ...):BODY So to set a function to an identifier, one would od: var IDENTIFIER = func(PARAMATERS, PARAMATERS, ...):... To return a value or multiple values, Conditionals: If statements can be represented like: if (Expression): BODY else if (Expression); BODY else: BODY Boolean expressions and and or are short circuit evaluated Iteration: While statements can be used like: while(Expression): BODY Strings: You can concatenate values to strings using the + operatior println("Hello my name is "+ name+" and I am "+age+" years old") Arrays: Arrays objects can be created through syntax or through the array function call. var a = [1, 2, this, 4, "Hello", 6] var b = array(10) //Initialized to a size of 10 filled with nulls Arrays can be accessed using brackets and the first index starts from 0. print(a[0]) //prints 1 print(a[4]) //prints Hello print(b[0]) //prints null because arrays spots are initialized to null Arrays have a length member that gives the size of the array. print(a.length) //prints 6 print(b.length) //prints 10 Objects: To return the environment, use the this keyword var MyObject = func(x):( return this ) Members of an object can be reassigned to and retrieved with the dot operator var m = MyObject(5) println(m.x) //prints 5 m.x = 10 println(m.x) //prints 10 Print: Print a string representation of an object using print or println functions. println("blah", 1, [8,3, 4]) //Prints them all in the same line then goes to the next print(1, "something"), 9.0)
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published