diff --git a/JavaScript/fizzbuzz.js b/JavaScript/fizzbuzz.js new file mode 100644 index 0000000..2dea0b4 --- /dev/null +++ b/JavaScript/fizzbuzz.js @@ -0,0 +1,135 @@ +/** + * (C) Copyright Collin J. Doering 2017 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +/** + * File: fizzbuzz.js + * Author: Collin J. Doering + * Date: Jan 15, 2017 + */ + +// Naive implementation +function fizzbuzz_naive(a, b) { + if (a > b) { + throw "Invalid interval error!" + } + + for (let i = a; i <= b; ++i) { + let divBy3 = i % 3 === 0; + let divBy5 = i % 5 === 0; + if (divBy3 && divBy5) { + console.log('FizzBuzz'); + } else if (divBy3) { + console.log('Fizz'); + } else if (divBy5) { + console.log('Buzz'); + } else { + console.log(i); + } + } + +} + +//fizzbuzz_naive(0, 100); + +// Generates a array of integers from a to b +function rangeArr(a, b) { + if (a > b) { + throw 'Invalid range error!'; + } + let ret = []; + for (let i = a; i <= b; ret.push(i++)); + return ret; +} + +function printArr(arr) { + arr.forEach((a) => console.log(a)); +} + +function fizzbuzz_functional(x, y) { + const fuzzbuzz_f = (a, b) => rangeArr(a, b).map((i) => { + let divBy3 = i % 3 === 0; + let divBy5 = i % 5 === 0; + if (divBy3 && divBy5) { + return 'FizzBuzz'; + } else if (divBy3) { + return 'Fizz'; + } else if (divBy5) { + return 'Buzz'; + } else { + return i; + } + }); + + printArr(fuzzbuzz_f(x, y)); +} + +//fizzbuzz_functional(0, 100); + + +// Abstracted fizzbuzz +function fizzbuzz_functional_abstracted(a, b, ...xs) { + return rangeArr(a, b).map((i) => { + return xs.reduce((acc, x) => { + let ret = acc; + if (i % x.num === 0) { + ret = typeof ret === 'number' ? x.name : ret.concat(x.name); + } + return ret; + }, i); + }); +} + +printArr(fizzbuzz_functional_abstracted(0, 100, { name: 'Fizz', num: 3 }, { name: 'Buzz', num: 5 }, { name: 'Bam', num: 8 })); + +// Abstracted and using generators +function take(gen) { + return (n) => { + let ret = []; + for (let i = 0; i < n; ++i) + ret.push(gen.next().value); + return ret; + }; +} + +function* range(a, b) { + if (a > b) { + throw 'Invalid range error!'; + } + + for (let i = a; i <= b; yield i++); +} + +function* fizzbuzz(a, b, ...xs) { + let r = range(a, b); + + for (i of r) { + yield xs.reduce((acc, x) => { + let ret = acc; + if (i % x.num === 0) { + ret = typeof ret === 'number' ? x.name : ret.concat(x.name); + } + return ret; + }, i); + } +} + +let fbb = fizzbuzz(0, 100000000000, { name: 'Fizz', num: 3 }, { name: 'Buzz', num: 5 }, { name: 'Bam', num: 8 }); +printArr(take(fbb)(10)); + +for (i of fbb) { + console.log(i); +} diff --git a/JavaScript/rdm.js b/JavaScript/rdm.js index cb47931..eeec71d 100644 --- a/JavaScript/rdm.js +++ b/JavaScript/rdm.js @@ -48,6 +48,7 @@ var church = (function () { // ------------------------------ function make_bool (b) { + // b ? return t : return f if (b) { return t; } else { @@ -331,7 +332,7 @@ matrix_test(function (a, b) { return a + b; }, function (a, b) { return church.nat.toNative(church.nat.add(church.nat.make(a))(church.nat.make(b))); -}, "Test church addition"); +}, "Church addition"); // matrix_test(function (a, b) { // return a - b; @@ -343,14 +344,14 @@ matrix_test(function (a, b) { return a * b; }, function (a, b) { return church.nat.toNative(church.nat.mult(church.nat.make(a))(church.nat.make(b))); -}, "Test church multiplication"); +}, "Church multiplication"); -// very slow for some reason? (not that this implementation will ever be) +// very slow for some reason? (not that this implementation will ever be fast) matrix_test(function (a, b) { return Math.pow(a, b); }, function (a, b) { return church.nat.toNative(church.nat.expt(church.nat.make(a))(church.nat.make(b))); -}, "Test church exponentiation", 7); +}, "Church exponentiation", 7); // ------------------------------------------------------- diff --git a/Kotlin/rdm.jar b/Kotlin/rdm.jar new file mode 100644 index 0000000..b01ddc3 Binary files /dev/null and b/Kotlin/rdm.jar differ diff --git a/Kotlin/rdm.kt b/Kotlin/rdm.kt new file mode 100644 index 0000000..ec11688 --- /dev/null +++ b/Kotlin/rdm.kt @@ -0,0 +1,3 @@ +fun main(args: Array) { + println("Hello World!") +} diff --git a/Kotlin/rdm/build.gradle b/Kotlin/rdm/build.gradle new file mode 100644 index 0000000..aef1ed3 --- /dev/null +++ b/Kotlin/rdm/build.gradle @@ -0,0 +1,32 @@ +/* + * This build file was generated by the Gradle 'init' task. + * + * This generated file contains a sample Java project to get you started. + * For more details take a look at the Java Quickstart chapter in the Gradle + * user guide available at https://docs.gradle.org/3.5/userguide/tutorial_java_projects.html + */ + +// Apply the java plugin to add support for Kotlin +apply plugin: 'kotlin' + +apply plugin: 'application' + +buildscript { + ext.kotlin_version = '1.1.3' + repositories { + mavenCentral() + } + dependencies { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +dependencies { + repositories { + mavenCentral() + } + compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + testCompile 'junit:junit:4.12' +} + +mainClassName = "Main" diff --git a/Kotlin/rdm/build/classes/main/App.class b/Kotlin/rdm/build/classes/main/App.class new file mode 100644 index 0000000..bffcf90 Binary files /dev/null and b/Kotlin/rdm/build/classes/main/App.class differ diff --git a/Kotlin/rdm/build/classes/main/Main.class b/Kotlin/rdm/build/classes/main/Main.class new file mode 100644 index 0000000..2691851 Binary files /dev/null and b/Kotlin/rdm/build/classes/main/Main.class differ diff --git a/Kotlin/rdm/build/classes/test/AppTest.class b/Kotlin/rdm/build/classes/test/AppTest.class new file mode 100644 index 0000000..82d8de5 Binary files /dev/null and b/Kotlin/rdm/build/classes/test/AppTest.class differ diff --git a/Kotlin/rdm/build/distributions/rdm.tar b/Kotlin/rdm/build/distributions/rdm.tar new file mode 100644 index 0000000..e957dcb Binary files /dev/null and b/Kotlin/rdm/build/distributions/rdm.tar differ diff --git a/Kotlin/rdm/build/distributions/rdm.zip b/Kotlin/rdm/build/distributions/rdm.zip new file mode 100644 index 0000000..ba04abe Binary files /dev/null and b/Kotlin/rdm/build/distributions/rdm.zip differ diff --git a/Kotlin/rdm/build/kotlin-build/caches/version.txt b/Kotlin/rdm/build/kotlin-build/caches/version.txt new file mode 100644 index 0000000..01aabac --- /dev/null +++ b/Kotlin/rdm/build/kotlin-build/caches/version.txt @@ -0,0 +1 @@ +11001 \ No newline at end of file diff --git a/Kotlin/rdm/build/kotlin-classes/main/Main.class b/Kotlin/rdm/build/kotlin-classes/main/Main.class new file mode 100644 index 0000000..2691851 Binary files /dev/null and b/Kotlin/rdm/build/kotlin-classes/main/Main.class differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab new file mode 100644 index 0000000..4e7b53f Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.keystream b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.keystream new file mode 100644 index 0000000..86d2f20 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.keystream differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.keystream.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.keystream.len new file mode 100644 index 0000000..62f3e6f Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.keystream.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.len new file mode 100644 index 0000000..60e2d8a Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.values.at b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.values.at new file mode 100644 index 0000000..7028f59 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab.values.at differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab_i b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab_i new file mode 100644 index 0000000..a6d6808 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab_i differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab_i.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/class-fq-name-to-source.tab_i.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab new file mode 100644 index 0000000..342d3d1 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.keystream b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.keystream new file mode 100644 index 0000000..d4d54dc Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.keystream differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.keystream.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.keystream.len new file mode 100644 index 0000000..1ff194f Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.keystream.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.len new file mode 100644 index 0000000..ad90f24 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.values.at b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.values.at new file mode 100644 index 0000000..704ed36 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab.values.at differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab_i b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab_i new file mode 100644 index 0000000..0cb39b0 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab_i differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab_i.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/internal-name-to-source.tab_i.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab new file mode 100644 index 0000000..0a40a21 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.keystream b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.keystream new file mode 100644 index 0000000..a14e187 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.keystream differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.keystream.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.keystream.len new file mode 100644 index 0000000..379d85c Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.keystream.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.len new file mode 100644 index 0000000..60e2d8a Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.values.at b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.values.at new file mode 100644 index 0000000..46d6744 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab.values.at differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab_i b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab_i new file mode 100644 index 0000000..42fb4aa Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab_i differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab_i.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/package-parts.tab_i.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab new file mode 100644 index 0000000..2453b89 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.keystream b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.keystream new file mode 100644 index 0000000..04c133e Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.keystream differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.keystream.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.keystream.len new file mode 100644 index 0000000..38069db Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.keystream.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.len new file mode 100644 index 0000000..58d450d Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.values.at b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.values.at new file mode 100644 index 0000000..f71cadd Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab.values.at differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab_i b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab_i new file mode 100644 index 0000000..e94d526 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab_i differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab_i.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/proto.tab_i.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab new file mode 100644 index 0000000..fe883cd Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.keystream b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.keystream new file mode 100644 index 0000000..14849a8 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.keystream differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.keystream.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.keystream.len new file mode 100644 index 0000000..2ea7305 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.keystream.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.len new file mode 100644 index 0000000..60e2d8a Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.values.at b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.values.at new file mode 100644 index 0000000..2114837 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab.values.at differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab_i b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab_i new file mode 100644 index 0000000..d97b32a Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab_i differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab_i.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-classes.tab_i.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab new file mode 100644 index 0000000..79ce4b9 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.keystream b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.keystream new file mode 100644 index 0000000..14849a8 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.keystream differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.keystream.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.keystream.len new file mode 100644 index 0000000..2ea7305 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.keystream.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.len new file mode 100644 index 0000000..60e2d8a Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.values.at b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.values.at new file mode 100644 index 0000000..0c5b07f Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab.values.at differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab_i b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab_i new file mode 100644 index 0000000..d97b32a Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab_i differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab_i.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/increCache.rdm_main/kotlin/source-to-output.tab_i.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/counters.tab b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/counters.tab new file mode 100644 index 0000000..6bf8d17 --- /dev/null +++ b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/counters.tab @@ -0,0 +1,2 @@ +2 +1 \ No newline at end of file diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab new file mode 100644 index 0000000..f4f69fe Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.keystream b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.keystream new file mode 100644 index 0000000..bcc5ea2 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.keystream differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.keystream.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.keystream.len new file mode 100644 index 0000000..30b8abe Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.keystream.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.len new file mode 100644 index 0000000..60e2d8a Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.values.at b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.values.at new file mode 100644 index 0000000..7d30a43 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab.values.at differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab_i b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab_i new file mode 100644 index 0000000..74afd5c Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab_i differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab_i.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/file-to-id.tab_i.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab new file mode 100644 index 0000000..0ffa96b Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.keystream b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.keystream new file mode 100644 index 0000000..100d205 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.keystream differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.keystream.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.keystream.len new file mode 100644 index 0000000..ccfcbf4 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.keystream.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.len new file mode 100644 index 0000000..ad90f24 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.values.at b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.values.at new file mode 100644 index 0000000..321dba1 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab.values.at differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab_i b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab_i new file mode 100644 index 0000000..1c501c0 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab_i differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab_i.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/id-to-file.tab_i.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab new file mode 100644 index 0000000..69cfd5d Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.keystream b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.keystream new file mode 100644 index 0000000..657461c Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.keystream differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.keystream.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.keystream.len new file mode 100644 index 0000000..9e27f73 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.keystream.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.len new file mode 100644 index 0000000..8f9cd6a Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.values.at b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.values.at new file mode 100644 index 0000000..7e713fd Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab.values.at differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab_i b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab_i new file mode 100644 index 0000000..2aa2c1b Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab_i differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab_i.len b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab_i.len new file mode 100644 index 0000000..131e265 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/caches/lookups/lookups.tab_i.len differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/data-container-format-version.txt b/Kotlin/rdm/build/kotlin/compileKotlin/data-container-format-version.txt new file mode 100644 index 0000000..b01b80f --- /dev/null +++ b/Kotlin/rdm/build/kotlin/compileKotlin/data-container-format-version.txt @@ -0,0 +1 @@ +2011001 \ No newline at end of file diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/experimental-format-version.txt b/Kotlin/rdm/build/kotlin/compileKotlin/experimental-format-version.txt new file mode 100644 index 0000000..7289c6b --- /dev/null +++ b/Kotlin/rdm/build/kotlin/compileKotlin/experimental-format-version.txt @@ -0,0 +1 @@ +4011001 \ No newline at end of file diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/format-version.txt b/Kotlin/rdm/build/kotlin/compileKotlin/format-version.txt new file mode 100644 index 0000000..2408adb --- /dev/null +++ b/Kotlin/rdm/build/kotlin/compileKotlin/format-version.txt @@ -0,0 +1 @@ +8011001 \ No newline at end of file diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/gradle-format-version.txt b/Kotlin/rdm/build/kotlin/compileKotlin/gradle-format-version.txt new file mode 100644 index 0000000..178119c --- /dev/null +++ b/Kotlin/rdm/build/kotlin/compileKotlin/gradle-format-version.txt @@ -0,0 +1 @@ +3011001 \ No newline at end of file diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/last-build.bin b/Kotlin/rdm/build/kotlin/compileKotlin/last-build.bin new file mode 100644 index 0000000..5886c5e Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/last-build.bin differ diff --git a/Kotlin/rdm/build/kotlin/compileKotlin/sync/kotlin-files-in-java-timestamps.bin b/Kotlin/rdm/build/kotlin/compileKotlin/sync/kotlin-files-in-java-timestamps.bin new file mode 100644 index 0000000..67a2d84 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileKotlin/sync/kotlin-files-in-java-timestamps.bin differ diff --git a/Kotlin/rdm/build/kotlin/compileTestKotlin/sync/kotlin-files-in-java-timestamps.bin b/Kotlin/rdm/build/kotlin/compileTestKotlin/sync/kotlin-files-in-java-timestamps.bin new file mode 100644 index 0000000..4170ef3 Binary files /dev/null and b/Kotlin/rdm/build/kotlin/compileTestKotlin/sync/kotlin-files-in-java-timestamps.bin differ diff --git a/Kotlin/rdm/build/libs/rdm.jar b/Kotlin/rdm/build/libs/rdm.jar new file mode 100644 index 0000000..b41294d Binary files /dev/null and b/Kotlin/rdm/build/libs/rdm.jar differ diff --git a/Kotlin/rdm/build/reports/tests/test/classes/AppTest.html b/Kotlin/rdm/build/reports/tests/test/classes/AppTest.html new file mode 100644 index 0000000..5b058f0 --- /dev/null +++ b/Kotlin/rdm/build/reports/tests/test/classes/AppTest.html @@ -0,0 +1,96 @@ + + + + + +Test results - Class AppTest + + + + + +
+

Class AppTest

+ +
+ + + + + +
+
+ + + + + + + +
+
+
1
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.001s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Tests

+ + + + + + + + + + + + + +
TestDurationResult
testAppHasAGreeting0.001spassed
+
+
+ +
+ + diff --git a/Kotlin/rdm/build/reports/tests/test/css/base-style.css b/Kotlin/rdm/build/reports/tests/test/css/base-style.css new file mode 100644 index 0000000..4afa73e --- /dev/null +++ b/Kotlin/rdm/build/reports/tests/test/css/base-style.css @@ -0,0 +1,179 @@ + +body { + margin: 0; + padding: 0; + font-family: sans-serif; + font-size: 12pt; +} + +body, a, a:visited { + color: #303030; +} + +#content { + padding-left: 50px; + padding-right: 50px; + padding-top: 30px; + padding-bottom: 30px; +} + +#content h1 { + font-size: 160%; + margin-bottom: 10px; +} + +#footer { + margin-top: 100px; + font-size: 80%; + white-space: nowrap; +} + +#footer, #footer a { + color: #a0a0a0; +} + +#line-wrapping-toggle { + vertical-align: middle; +} + +#label-for-line-wrapping-toggle { + vertical-align: middle; +} + +ul { + margin-left: 0; +} + +h1, h2, h3 { + white-space: nowrap; +} + +h2 { + font-size: 120%; +} + +ul.tabLinks { + padding-left: 0; + padding-top: 10px; + padding-bottom: 10px; + overflow: auto; + min-width: 800px; + width: auto !important; + width: 800px; +} + +ul.tabLinks li { + float: left; + height: 100%; + list-style: none; + padding-left: 10px; + padding-right: 10px; + padding-top: 5px; + padding-bottom: 5px; + margin-bottom: 0; + -moz-border-radius: 7px; + border-radius: 7px; + margin-right: 25px; + border: solid 1px #d4d4d4; + background-color: #f0f0f0; +} + +ul.tabLinks li:hover { + background-color: #fafafa; +} + +ul.tabLinks li.selected { + background-color: #c5f0f5; + border-color: #c5f0f5; +} + +ul.tabLinks a { + font-size: 120%; + display: block; + outline: none; + text-decoration: none; + margin: 0; + padding: 0; +} + +ul.tabLinks li h2 { + margin: 0; + padding: 0; +} + +div.tab { +} + +div.selected { + display: block; +} + +div.deselected { + display: none; +} + +div.tab table { + min-width: 350px; + width: auto !important; + width: 350px; + border-collapse: collapse; +} + +div.tab th, div.tab table { + border-bottom: solid #d0d0d0 1px; +} + +div.tab th { + text-align: left; + white-space: nowrap; + padding-left: 6em; +} + +div.tab th:first-child { + padding-left: 0; +} + +div.tab td { + white-space: nowrap; + padding-left: 6em; + padding-top: 5px; + padding-bottom: 5px; +} + +div.tab td:first-child { + padding-left: 0; +} + +div.tab td.numeric, div.tab th.numeric { + text-align: right; +} + +span.code { + display: inline-block; + margin-top: 0em; + margin-bottom: 1em; +} + +span.code pre { + font-size: 11pt; + padding-top: 10px; + padding-bottom: 10px; + padding-left: 10px; + padding-right: 10px; + margin: 0; + background-color: #f7f7f7; + border: solid 1px #d0d0d0; + min-width: 700px; + width: auto !important; + width: 700px; +} + +span.wrapped pre { + word-wrap: break-word; + white-space: pre-wrap; + word-break: break-all; +} + +label.hidden { + display: none; +} \ No newline at end of file diff --git a/Kotlin/rdm/build/reports/tests/test/css/style.css b/Kotlin/rdm/build/reports/tests/test/css/style.css new file mode 100644 index 0000000..3dc4913 --- /dev/null +++ b/Kotlin/rdm/build/reports/tests/test/css/style.css @@ -0,0 +1,84 @@ + +#summary { + margin-top: 30px; + margin-bottom: 40px; +} + +#summary table { + border-collapse: collapse; +} + +#summary td { + vertical-align: top; +} + +.breadcrumbs, .breadcrumbs a { + color: #606060; +} + +.infoBox { + width: 110px; + padding-top: 15px; + padding-bottom: 15px; + text-align: center; +} + +.infoBox p { + margin: 0; +} + +.counter, .percent { + font-size: 120%; + font-weight: bold; + margin-bottom: 8px; +} + +#duration { + width: 125px; +} + +#successRate, .summaryGroup { + border: solid 2px #d0d0d0; + -moz-border-radius: 10px; + border-radius: 10px; +} + +#successRate { + width: 140px; + margin-left: 35px; +} + +#successRate .percent { + font-size: 180%; +} + +.success, .success a { + color: #008000; +} + +div.success, #successRate.success { + background-color: #bbd9bb; + border-color: #008000; +} + +.failures, .failures a { + color: #b60808; +} + +.skipped, .skipped a { + color: #c09853; +} + +div.failures, #successRate.failures { + background-color: #ecdada; + border-color: #b60808; +} + +ul.linkList { + padding-left: 0; +} + +ul.linkList li { + list-style: none; + margin-bottom: 5px; +} diff --git a/Kotlin/rdm/build/reports/tests/test/index.html b/Kotlin/rdm/build/reports/tests/test/index.html new file mode 100644 index 0000000..0dea989 --- /dev/null +++ b/Kotlin/rdm/build/reports/tests/test/index.html @@ -0,0 +1,132 @@ + + + + + +Test results - Test Summary + + + + + +
+

Test Summary

+
+ + + + + +
+
+ + + + + + + +
+
+
1
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.001s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Packages

+ + + + + + + + + + + + + + + + + + + + + +
PackageTestsFailuresIgnoredDurationSuccess rate
+default-package +1000.001s100%
+
+
+

Classes

+ + + + + + + + + + + + + + + + + + + + +
ClassTestsFailuresIgnoredDurationSuccess rate
+AppTest +1000.001s100%
+
+
+ +
+ + diff --git a/Kotlin/rdm/build/reports/tests/test/js/report.js b/Kotlin/rdm/build/reports/tests/test/js/report.js new file mode 100644 index 0000000..83bab4a --- /dev/null +++ b/Kotlin/rdm/build/reports/tests/test/js/report.js @@ -0,0 +1,194 @@ +(function (window, document) { + "use strict"; + + var tabs = {}; + + function changeElementClass(element, classValue) { + if (element.getAttribute("className")) { + element.setAttribute("className", classValue); + } else { + element.setAttribute("class", classValue); + } + } + + function getClassAttribute(element) { + if (element.getAttribute("className")) { + return element.getAttribute("className"); + } else { + return element.getAttribute("class"); + } + } + + function addClass(element, classValue) { + changeElementClass(element, getClassAttribute(element) + " " + classValue); + } + + function removeClass(element, classValue) { + changeElementClass(element, getClassAttribute(element).replace(classValue, "")); + } + + function initTabs() { + var container = document.getElementById("tabs"); + + tabs.tabs = findTabs(container); + tabs.titles = findTitles(tabs.tabs); + tabs.headers = findHeaders(container); + tabs.select = select; + tabs.deselectAll = deselectAll; + tabs.select(0); + + return true; + } + + function getCheckBox() { + return document.getElementById("line-wrapping-toggle"); + } + + function getLabelForCheckBox() { + return document.getElementById("label-for-line-wrapping-toggle"); + } + + function findCodeBlocks() { + var spans = document.getElementById("tabs").getElementsByTagName("span"); + var codeBlocks = []; + for (var i = 0; i < spans.length; ++i) { + if (spans[i].className.indexOf("code") >= 0) { + codeBlocks.push(spans[i]); + } + } + return codeBlocks; + } + + function forAllCodeBlocks(operation) { + var codeBlocks = findCodeBlocks(); + + for (var i = 0; i < codeBlocks.length; ++i) { + operation(codeBlocks[i], "wrapped"); + } + } + + function toggleLineWrapping() { + var checkBox = getCheckBox(); + + if (checkBox.checked) { + forAllCodeBlocks(addClass); + } else { + forAllCodeBlocks(removeClass); + } + } + + function initControls() { + if (findCodeBlocks().length > 0) { + var checkBox = getCheckBox(); + var label = getLabelForCheckBox(); + + checkBox.onclick = toggleLineWrapping; + checkBox.checked = false; + + removeClass(label, "hidden"); + } + } + + function switchTab() { + var id = this.id.substr(1); + + for (var i = 0; i < tabs.tabs.length; i++) { + if (tabs.tabs[i].id === id) { + tabs.select(i); + break; + } + } + + return false; + } + + function select(i) { + this.deselectAll(); + + changeElementClass(this.tabs[i], "tab selected"); + changeElementClass(this.headers[i], "selected"); + + while (this.headers[i].firstChild) { + this.headers[i].removeChild(this.headers[i].firstChild); + } + + var h2 = document.createElement("H2"); + + h2.appendChild(document.createTextNode(this.titles[i])); + this.headers[i].appendChild(h2); + } + + function deselectAll() { + for (var i = 0; i < this.tabs.length; i++) { + changeElementClass(this.tabs[i], "tab deselected"); + changeElementClass(this.headers[i], "deselected"); + + while (this.headers[i].firstChild) { + this.headers[i].removeChild(this.headers[i].firstChild); + } + + var a = document.createElement("A"); + + a.setAttribute("id", "ltab" + i); + a.setAttribute("href", "#tab" + i); + a.onclick = switchTab; + a.appendChild(document.createTextNode(this.titles[i])); + + this.headers[i].appendChild(a); + } + } + + function findTabs(container) { + return findChildElements(container, "DIV", "tab"); + } + + function findHeaders(container) { + var owner = findChildElements(container, "UL", "tabLinks"); + return findChildElements(owner[0], "LI", null); + } + + function findTitles(tabs) { + var titles = []; + + for (var i = 0; i < tabs.length; i++) { + var tab = tabs[i]; + var header = findChildElements(tab, "H2", null)[0]; + + header.parentNode.removeChild(header); + + if (header.innerText) { + titles.push(header.innerText); + } else { + titles.push(header.textContent); + } + } + + return titles; + } + + function findChildElements(container, name, targetClass) { + var elements = []; + var children = container.childNodes; + + for (var i = 0; i < children.length; i++) { + var child = children.item(i); + + if (child.nodeType === 1 && child.nodeName === name) { + if (targetClass && child.className.indexOf(targetClass) < 0) { + continue; + } + + elements.push(child); + } + } + + return elements; + } + + // Entry point. + + window.onload = function() { + initTabs(); + initControls(); + }; +} (window, window.document)); \ No newline at end of file diff --git a/Kotlin/rdm/build/reports/tests/test/packages/default-package.html b/Kotlin/rdm/build/reports/tests/test/packages/default-package.html new file mode 100644 index 0000000..ce9983c --- /dev/null +++ b/Kotlin/rdm/build/reports/tests/test/packages/default-package.html @@ -0,0 +1,103 @@ + + + + + +Test results - Default package + + + + + +
+

Default package

+ +
+ + + + + +
+
+ + + + + + + +
+
+
1
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.001s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Classes

+ + + + + + + + + + + + + + + + + + + +
ClassTestsFailuresIgnoredDurationSuccess rate
+AppTest +1000.001s100%
+
+
+ +
+ + diff --git a/Kotlin/rdm/build/scripts/rdm b/Kotlin/rdm/build/scripts/rdm new file mode 100755 index 0000000..8441b7f --- /dev/null +++ b/Kotlin/rdm/build/scripts/rdm @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## rdm start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/.." >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="rdm" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and RDM_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/lib/rdm.jar:$APP_HOME/lib/kotlin-stdlib-1.1.3.jar:$APP_HOME/lib/annotations-13.0.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save ( ) { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $RDM_OPTS -classpath "\"$CLASSPATH\"" Main "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/Kotlin/rdm/build/scripts/rdm.bat b/Kotlin/rdm/build/scripts/rdm.bat new file mode 100644 index 0000000..bf4f035 --- /dev/null +++ b/Kotlin/rdm/build/scripts/rdm.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem rdm startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME%.. + +@rem Add default JVM options here. You can also use JAVA_OPTS and RDM_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\lib\rdm.jar;%APP_HOME%\lib\kotlin-stdlib-1.1.3.jar;%APP_HOME%\lib\annotations-13.0.jar + +@rem Execute rdm +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %RDM_OPTS% -classpath "%CLASSPATH%" Main %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable RDM_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%RDM_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/Kotlin/rdm/build/test-results/test/TEST-AppTest.xml b/Kotlin/rdm/build/test-results/test/TEST-AppTest.xml new file mode 100644 index 0000000..adaf6cb --- /dev/null +++ b/Kotlin/rdm/build/test-results/test/TEST-AppTest.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Kotlin/rdm/build/test-results/test/binary/output.bin b/Kotlin/rdm/build/test-results/test/binary/output.bin new file mode 100644 index 0000000..e69de29 diff --git a/Kotlin/rdm/build/test-results/test/binary/output.bin.idx b/Kotlin/rdm/build/test-results/test/binary/output.bin.idx new file mode 100644 index 0000000..f76dd23 Binary files /dev/null and b/Kotlin/rdm/build/test-results/test/binary/output.bin.idx differ diff --git a/Kotlin/rdm/build/test-results/test/binary/results.bin b/Kotlin/rdm/build/test-results/test/binary/results.bin new file mode 100644 index 0000000..d2fccdb Binary files /dev/null and b/Kotlin/rdm/build/test-results/test/binary/results.bin differ diff --git a/Kotlin/rdm/build/tmp/jar/MANIFEST.MF b/Kotlin/rdm/build/tmp/jar/MANIFEST.MF new file mode 100644 index 0000000..58630c0 --- /dev/null +++ b/Kotlin/rdm/build/tmp/jar/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/Kotlin/rdm/gradle/wrapper/gradle-wrapper.jar b/Kotlin/rdm/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..7c07364 Binary files /dev/null and b/Kotlin/rdm/gradle/wrapper/gradle-wrapper.jar differ diff --git a/Kotlin/rdm/gradle/wrapper/gradle-wrapper.properties b/Kotlin/rdm/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3d618c4 --- /dev/null +++ b/Kotlin/rdm/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Sat Jul 01 02:08:08 EDT 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-bin.zip diff --git a/Kotlin/rdm/gradlew b/Kotlin/rdm/gradlew new file mode 100755 index 0000000..4453cce --- /dev/null +++ b/Kotlin/rdm/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save ( ) { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/Kotlin/rdm/gradlew.bat b/Kotlin/rdm/gradlew.bat new file mode 100644 index 0000000..e95643d --- /dev/null +++ b/Kotlin/rdm/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/Kotlin/rdm/settings.gradle b/Kotlin/rdm/settings.gradle new file mode 100644 index 0000000..a1f23e3 --- /dev/null +++ b/Kotlin/rdm/settings.gradle @@ -0,0 +1,18 @@ +/* + * This settings file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * In a single project build this file can be empty or even removed. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user guide at https://docs.gradle.org/3.5/userguide/multi_project_builds.html + */ + +/* +// To declare projects as part of a multi-project build use the 'include' method +include 'shared' +include 'api' +include 'services:webservice' +*/ + +rootProject.name = 'rdm' diff --git a/Kotlin/rdm/src/main/java/App.java b/Kotlin/rdm/src/main/java/App.java new file mode 100644 index 0000000..bd9132e --- /dev/null +++ b/Kotlin/rdm/src/main/java/App.java @@ -0,0 +1,12 @@ +/* + * This Java source file was generated by the Gradle 'init' task. + */ +public class App { + public String getGreeting() { + return "Hello world."; + } + + public static void main(String[] args) { + System.out.println(new App().getGreeting()); + } +} diff --git a/Kotlin/rdm/src/main/kotlin/Main.kt b/Kotlin/rdm/src/main/kotlin/Main.kt new file mode 100644 index 0000000..a6f57ef --- /dev/null +++ b/Kotlin/rdm/src/main/kotlin/Main.kt @@ -0,0 +1,4 @@ + +fun main(args: Array) { + println("kotlin!") +} diff --git a/Kotlin/rdm/src/test/java/AppTest.java b/Kotlin/rdm/src/test/java/AppTest.java new file mode 100644 index 0000000..e611fc7 --- /dev/null +++ b/Kotlin/rdm/src/test/java/AppTest.java @@ -0,0 +1,12 @@ +/* + * This Java source file was generated by the Gradle 'init' task. + */ +import org.junit.Test; +import static org.junit.Assert.*; + +public class AppTest { + @Test public void testAppHasAGreeting() { + App classUnderTest = new App(); + assertNotNull("app should have a greeting", classUnderTest.getGreeting()); + } +} diff --git a/Prolog/rdm.pl b/Prolog/rdm.pl new file mode 100644 index 0000000..e940157 --- /dev/null +++ b/Prolog/rdm.pl @@ -0,0 +1,6 @@ +color(red). +color(green). +color(blue). +color(yellow). +color(orange). + diff --git a/Python/rdm.py b/Python/rdm.py index 6894375..be60862 100644 --- a/Python/rdm.py +++ b/Python/rdm.py @@ -17,6 +17,8 @@ # Author: Collin J. Doering # Date: Jul 7, 2011def factorial (n): +import os + # Only works for python 2.6.x since in python 3 print is a function def factorial (n): if n < 0: @@ -28,4 +30,3 @@ def factorial (n): for i in range (2, n): ret *= i return ret - diff --git a/Racket/DFA.rkt b/Racket/DFA.rkt index b92570a..273ff45 100644 --- a/Racket/DFA.rkt +++ b/Racket/DFA.rkt @@ -22,22 +22,29 @@ (require (for-syntax syntax/parse)) -;; Some structures to represent a DFA -(struct dfaState (trans)) -(struct dfaEndState dfaState ()) -(struct dfaStartState dfaState ()) -(struct dfaStartEndState dfaState ()) +;; A structure to represent a dfa state +(struct dfaState (name trans end? dead?)) +;; A structure representing a dfa (struct dfa (alpha start states)) +;; A structure to represent a nfa state +;; TODO + +;; A structure representing a nfa +;; TODO + +;; Given a dfa and a list of inputs returns 'accept when the dfa completes in a end success +;; state and 'reject otherwise (define (compute-dfa m xs) (define/match (run-dfa state ys) - [((or (dfaEndState _) - (dfaStartEndState _)) '()) 'accept] + [((dfaState _ _ #t _) '()) 'accept] [(_ '()) 'reject] - [((dfaState f) (cons z zs)) (run-dfa (f z) zs)]) + [((dfaState _ _ #f #t) _) 'reject] + [((dfaState _ f _ _) (cons z zs)) (run-dfa (f z) zs)]) (run-dfa (dfa-start m) xs)) +;; Macro for defining dfa structures in a syntactically clean way (define-syntax (define-dfa stx) (define-syntax-class transition #:description "dfa state transition" @@ -45,6 +52,12 @@ (define-splicing-syntax-class state #:description "dfa state" +;; (pattern (name:id (~or (~optional (~and #:dead deader?)) +;; (~optional (~and #:end ender?))) ...) +;; #:with dead? #'(if deader? #'#t #'#f) +;; #:with end? #'(if ender? #'#t #'#f) +;; #:with (in ...) #'(_) +;; #:with (out ...) #'(name)) (pattern (name:id #:end trans:transition ...+) #:with end? #'#t #:with (in ...) #'(trans.in ...) @@ -60,16 +73,75 @@ (syntax->list #'(start.name rests.name ...))) "duplicate state names" - (with-syntax ([startSt (if (syntax->datum (attribute start.end?)) #'dfaStartEndState #'dfaStartState)] - [restsSt (map (lambda (x) (if (syntax->datum x) #'dfaEndState #'dfaState)) (attribute rests.end?))]) - #'(define name + #`(define name (letrec ([start.name - (startSt - (match-lambda [start.in start.out] ...))] + (dfaState 'start.name + (match-lambda [start.in start.out] ...) + start.end? + #f ;start.dead? + )] [rests.name - ((if rests.end? dfaEndState dfaState) ;restsSt - (match-lambda [rests.in rests.out] ...))] ...) - (dfa 'alpha start.name '(start.name rests.name ...)))))])) + (dfaState 'rests.name + (match-lambda [rests.in rests.out] ...) + rests.end? + #f ;rests.dead? + )] ...) + (dfa alpha start.name `(,start.name ,rests.name ...))))])) + +;; TODO: implement conversion of nfa to dfa using the powerset construction +(define (nfa->dfa n) + 'undefined) + +(define (dfa-reverse d) + (letrec ([states (dfa-states d)] + [end-states (map dfaState-name (filter dfaState-end? states))] + [dfa-trans-tbl (foldr (lambda (s acc) + (hash-set acc + (dfaState-name s) + (foldr (lambda (i a) + (hash-set a i (dfaState-name ((dfaState-trans s) i)))) + (hash) + (dfa-alpha d)))) + (hash) + (dfa-states d))] + [gen-nfa-trans-tbl (lambda (seen tbl) + (for ([(s h) (in-hash dfa-trans-tbl)]) + (for ([(a t) (in-hash h)]) + (set! tbl (hash-set tbl t (hash-set (hash-ref tbl t) a + (set-add (hash-ref (hash-ref tbl t) a) s)))) + (when (not (equal? s t)) + (set! seen (set-add seen s))))) + (for ([s (in-set (set-subtract (list->set (map dfaState-name states)) seen))]) + (set! tbl (hash-remove tbl s))) + + tbl)] + [nfa-trans-tbl->nfa (lambda (tbl) + tbl)]) + (nfa-trans-tbl->nfa + (gen-nfa-trans-tbl + (list->set end-states) + (let* ([o (foldr (lambda (i acc) + (hash-set acc i (set))) (hash) (dfa-alpha d))] + [h (foldr (lambda (s acc) + (hash-set acc (dfaState-name s) o)) (hash) states)]) + (if (<= (length end-states) 1) + h + (hash-set h (gensym) (hash 'epsilon (list->set end-states))))))))) + +;; TODO +;; (list->vector (dfa-states d)) +;; (define (dfa-reverse d) +;; (letrec ([alpha (dfa-alpha d)] +;; [start (dfa-start d)] +;; [ends (filter dfaState-end? (dfa-states d))] +;; [s0 (nfaState (match-lambda (['epsilon ends])) #f)] +;; [dfa-rev (match-lambda* (s n) +;; [((dfaState f e d) n-prime) 'undefined])]) +;; (nfa alpha s0 (dfa-rev ends nnnnnn)) +;; (dfa-rev start nnnnn))) + +(define (minimize-dfa d) + (nfa->dfa (dfa-reverse (nfa->dfa (dfa-reverse d))))) ;; Todo: ;; - error when 'in' pattern in the transition syntax class is not an element of alpha @@ -80,23 +152,39 @@ ;; ---------------------------------------------------------------------------- ;; Odd binary dfa expansion -;(define odd-dfa -; (letrec ([s0 (dfaStartState (match-lambda [0 s0] -; [1 s1]))] -; [s1 (dfaEndState (match-lambda [0 s0] -; [1 s1]))]) -; (dfa '(0 1) s0 '(s0 s1)))) +(define odd-dfa-expansion + (letrec ([s0 (dfaState 's0 + (match-lambda [0 s2] + [1 s1]) + #f #f)] + [s1 (dfaState 's1 + (match-lambda [0 s2] + [1 s1]) + #t #f)] + [s2 (dfaState 's2 + (match-lambda [0 s2] + [1 s1]) + #f #f)]) + (dfa '(0 1) s0 '(s0 s1 s2)))) ;; Even binary dfa expansion -;(define even-dfa -; (letrec ([s0 (dfaStartEndState (match-lambda [0 s0] -; [1 s1]))] -; [s1 (dfaState (match-lambda [0 s0] -; [1 s1]))]) -; (dfa '(0 1) s0 '(s0 s1 s2)))) +(define even-dfa-expansion + (letrec ([s0 (dfaState 's0 + (match-lambda [0 s1] + [1 s2]) + #f #f)] + [s1 (dfaState 's1 + (match-lambda [0 s1] + [1 s2]) + #t #f)] + [s2 (dfaState 's2 + (match-lambda [0 s1] + [1 s2]) + #f #f)]) + (dfa '(0 1) s0 '(s0 s1 s2)))) ;; Even binary DFA -(define-dfa even-dfa (0 1) +(define-dfa even-dfa '(0 1) [s0 (0 -> s1) (1 -> s2)] [s1 #:end @@ -106,7 +194,7 @@ (1 -> s2)]) ;; Odd binary DFA -(define-dfa odd-dfa (0 1) +(define-dfa odd-dfa '(0 1) [s0 (0 -> s2) (1 -> s1)] [s1 #:end @@ -115,12 +203,62 @@ [s2 (0 -> s2) (1 -> s1)]) -;; Only epsilon (empty) DFA -;; (define (empty-dfa name xs) -;; (define-dfa name xs -;; [s0 #:end -;; (_ -> s1)] -;; [s1 #:dead])) +(define-dfa divisible-by-four-dfa '(0 1) + [s0 (0 -> s3) + (1 -> s1)] + [s1 (0 -> s2) + (1 -> s1)] + [s2 (0 -> s3) + (1 -> s1)] + [s3 #:end + (0 -> s3) + (1 -> s1)]) + +;; ---------------------------------------------------------------------------- +;; This section shows two features that would be nice to have added to the define-dfa macro +;; Specifically: +;; - Add transition to dead state using #:dead keyword; dfa transition of form (in:id (~optional ->) #:dead) + +(define-dfa text-file-dfa (string->list "AaBbCcDdEeFfGgHhJjLlMmNnOoPpQqRrSsTtUuVvWwRrXxYyZz1234567890-=\\`!@#$%^&*()_+|~[];',./{}:\"<>?") + [s0 (#\. -> s1) + (_ -> s0)] + [s1 (#\t -> s2) + (#\. -> s1) + (_ -> s0)] + [s2 (#\x -> s3) + (_ -> s0)] + [s3 (#\t -> s4) + (#\. -> s1) + (_ -> s0)] + [s4 #:end + (#\. -> s1) + (_ -> s0)]) + +;; (define-dfa text-file-dfa (#\A #\a #\B #\b #\C #\c #\D #\d #\E #\e #\F #\f #\G #\g #\H #\h #\I #\i #\J #\j #\K #\k #\L #\l #\M #\m #\N #\n #\O #\o #\P #\p #\Q #\q #\R #\r #\S #\s #\T #\t #\U #\u #\V #\v #\W #\w #\X #\x #\Y #\y #\Z #\z #\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9) +;; [s0 (#\. -> s1) +;; (_ -> s0)] +;; [s1 (#\t -> s2) +;; (_ -> #:dead)] +;; [s2 (#\x -> s3) +;; (_ -> #:dead)] +;; [s3 (#\t -> s4) +;; (_ -> #:dead)] +;; [s4 #:end +;; (_ -> #:dead)]) + +;; (define-dfa empty-dfa () +;; [s0 #:end +;; (_ -> dead)] +;; [dead (_ -> dead)]) + +;; (define-dfa empty-dfa () +;; [s0 #:end (_ -> #:dead)]) + +;; (define-dfa empty-dfa () +;; [s0 #:dead #:end]) + +;;(define-dfa binary-empty-dfa (0 1) +;; [s0 #:dead #:end]) ;; ---------------------------------------------------------------------------- ;; Some simple tests diff --git a/Racket/church-booleans.rkt b/Racket/church-booleans.rkt index 5ef8fc7..3577a60 100644 --- a/Racket/church-booleans.rkt +++ b/Racket/church-booleans.rkt @@ -32,7 +32,7 @@ (define (not a) (lambda (x) (lambda (y) - (((a) y) x)))) + ((a y) x)))) (define (and-op a b) (let ([evaled-a (a)]) diff --git a/Racket/gui-repl.rkt b/Racket/gui-repl.rkt new file mode 100644 index 0000000..39364f1 --- /dev/null +++ b/Racket/gui-repl.rkt @@ -0,0 +1,82 @@ +#lang racket/gui + +;; (C) Copyright Collin Doering 2011 +;; +;; This program is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;; File: gui-repl.rkt +;; Author: Collin J. Doering +;; Date: Jul 9, 2011 + +(define-namespace-anchor a) + +(define frame (new frame% [label "Test REPL"])) + +(define text-field (new text-field% + [label "REPL: "] + [parent frame] + [callback (lambda (i e) + (if (equal? 'text-field-enter (send e get-event-type)) + (let* ([cur-input (send i get-value)] + [ns (namespace-anchor->namespace a)] + [eval-val (with-handlers ([exn:fail? (lambda (exn) 'repl-error)]) + (eval (read (open-input-string cur-input)) ns))] + [repl-outp (open-output-string)]) + (if (equal? eval-val 'repl-error) + (fprintf repl-outp "Error evalulting \"~a\"" cur-input) + (fprintf repl-outp "~a :evals-to: ~a" cur-input eval-val)) + (send repl-msg set-label (get-output-string repl-outp)) + (send i set-value "")) + #f))])) + +(define bottom-panel (new horizontal-panel% + [parent frame] + [alignment '(left center)])) + +(define repl-msg (new message% + [label "Welcome to the REPL"] + [parent bottom-panel] + [auto-resize #t])) + +(define menu-bar (new menu-bar% [parent frame])) + +(define file-menu (new menu% + [label "File"] + [parent menu-bar])) + +(define quit-menu-item (new menu-item% + [label "Quit"] + [parent file-menu] + [callback (lambda (i e) + (let* ([quit-dialog (new dialog% [label "Really Quit?"])] + [quit-msg (new message% + [label "Are you sure you want to quit?"] + [parent quit-dialog])] + [button-panel (new horizontal-panel% + [parent quit-dialog] + [alignment '(center center)])] + [ok-button (new button% + [label "OK"] + [parent button-panel] + [callback (lambda (i e) + (exit 0))])] + [cancel-button (new button% + [label "Cancel"] + [parent button-panel] + [callback (lambda (i e) + (send quit-dialog show #f))])]) + (send quit-dialog show #t)))])) + +;; Display the main frame +(send frame show #t) diff --git a/Rust/rdm b/Rust/rdm new file mode 100755 index 0000000..6b3651a Binary files /dev/null and b/Rust/rdm differ diff --git a/Rust/rdm.rs b/Rust/rdm.rs new file mode 100644 index 0000000..48fe95a --- /dev/null +++ b/Rust/rdm.rs @@ -0,0 +1,17 @@ +fn square (x : i32) -> i32 { + x * x +} + +fn factorial (x : isize) -> isize { + if x <= 0 { + 1 + } else { + x * factorial(x - 1) + } +} + +fn main () { + for x in 0..100 { + println!("The factorial of {} is {}.", x, factorial(x)); + } +} diff --git a/go/rdm.go b/go/rdm.go new file mode 100644 index 0000000..be73e0e --- /dev/null +++ b/go/rdm.go @@ -0,0 +1,43 @@ +package main + +import ( + "fmt" + // "math" + // "os" + + // "github.com/aws/aws-sdk-go/aws/session" + // "github.com/aws/aws-sdk-go/service/s3" +) + +type Point struct { + X float64 + Y float64 +} + +func addPoints(points ...Point) Point { + newPoint := Point{X: 0, Y: 0} + for _, point := range points { + newPoint = Point{X: newPoint.X + point.X, Y: newPoint.Y + point.Y} + } + return newPoint +} + +//func (p Point) Add() + +func main() { + // if len(os.Args) < 2 { + // fmt.Println("you must specify a bucket") + // return + // } + + // sess := session.Must(session.NewSession()) + + // svc := session.Must(session.NewSession()) + // session. + fmt.Println("Entry") + + points := []Point{Point{0,0},Point{1,0},Point{0,1},Point{0,0},Point{0,0}} + newPoints := addPoints(points...) + + fmt.Println(points, newPoints) +} diff --git a/go/web-server/server.go b/go/web-server/server.go new file mode 100644 index 0000000..479d4e4 --- /dev/null +++ b/go/web-server/server.go @@ -0,0 +1,25 @@ +package main + +import ( + "fmt" + "net/http" + "strconv" +// "io/ioutil" +) + +type ServerConfig struct { + port int +} + + +func handler(w http.ResponseWriter, r *http.Request) { + fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:]) +} + +func main() { + config := ServerConfig{port: 3000} + + http.HandleFunc("/", handler) + fmt.Printf("Running on port %d\n", config.port) + http.ListenAndServe(":" + strconv.Itoa(config.port), nil) +}