diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index dc6eeb716..000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,15 +0,0 @@ -environment: - matrix: - # - JAVA_HOME: C:\Program Files\Java\jdk1.8.0 - - JAVA_HOME: C:\Program Files\Java\jdk11 - -install: - - java -version - - mvn --version - -build_script: - - mvn -B -V -Prun-its clean verify - -cache: - - C:\maven\ - - C:\Users\appveyor\.m2 diff --git a/.github/README.md b/.github/README.md index 2924aceb7..bbe7d54be 100644 --- a/.github/README.md +++ b/.github/README.md @@ -32,7 +32,7 @@ The latest indev build org.panda-lang panda - 0.5.2-alpha + 0.5.3-alpha ``` diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml new file mode 100644 index 000000000..e4fb4202d --- /dev/null +++ b/.github/workflows/gradle.yml @@ -0,0 +1,29 @@ +name: "Panda CI" + +on: + push: + branches: [ "next" ] + pull_request: + branches: [ "next" ] + +jobs: + gradle: + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 17 + + - name: Make gradlew executable + run: chmod +x ./gradlew + + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + + - name: Execute Gradle build + run: ./gradlew build diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml deleted file mode 100644 index 5744477f1..000000000 --- a/.github/workflows/maven.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Panda CI - -on: [push] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - name: Build with Maven - run: mvn package --file pom.xml diff --git a/.gitignore b/.gitignore index 2532522eb..2f7964c3e 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,9 @@ dependency-reduced-pom.xml buildNumber.properties .mvn/timing.properties +### Gradle ### +build/ +!gradle/grails-wrapper.jar ### Intellij ### # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio diff --git a/LICENSE b/LICENSE index 301ce4afe..a200afe77 100644 --- a/LICENSE +++ b/LICENSE @@ -120,7 +120,7 @@ that such additional attribution notices cannot be construed as modifying the License. - You may add Your own copyright statement to Your modifications and + You may add Your own copyright declaration to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 000000000..6e5cd7cd1 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,152 @@ +import org.gradle.api.tasks.testing.logging.TestExceptionFormat +import org.gradle.api.tasks.testing.logging.TestLogEvent + +plugins { + `java-library` + kotlin("jvm") version "1.7.10" + `maven-publish` + signing + id("io.github.gradle-nexus.publish-plugin") version "1.1.0" +} + +description = "Panda | Parent" + +allprojects { + apply(plugin = "org.jetbrains.kotlin.jvm") + apply(plugin = "maven-publish") + apply(plugin = "java-library") + apply(plugin = "signing") + + repositories { + maven("https://maven.reposilite.com/maven-central") + } + + group = "org.panda-lang" + version = "0.5.3-alpha" + + publishing { + repositories { + maven { + name = "reposilite-repository" + url = uri("https://maven.reposilite.com/${if (version.toString().endsWith("-SNAPSHOT")) "snapshots" else "releases"}") + + credentials { + username = getEnvOrProperty("MAVEN_NAME", "mavenUser") + password = getEnvOrProperty("MAVEN_TOKEN", "mavenPassword") + } + } + } + } + + afterEvaluate { + description + ?.takeIf { it.isNotEmpty() } + ?.split("|") + ?.let { (projectName, projectDescription) -> + publishing { + publications { + create("library") { + pom { + name.set(projectName) + description.set(projectDescription) + url.set("https://github.com/panda-lang/panda") + + licenses { + license { + name.set("The Apache License, Version 2.0") + url.set("https://www.apache.org/licenses/LICENSE-2.0.txt") + } + } + developers { + developer { + id.set("dzikoysk") + name.set("dzikoysk") + email.set("dzikoysk@dzikoysk.net") + } + } + scm { + connection.set("scm:git:git://github.com/panda-lang/panda.git") + developerConnection.set("scm:git:ssh://github.com/panda-lang/panda.git") + url.set("https://github.com/panda-lang/panda.git") + } + } + + from(components.getByName("java")) + } + } + } + + if (findProperty("signing.keyId").takeIf { it?.toString()?.trim()?.isNotEmpty() == true } != null) { + signing { + sign(publishing.publications.getByName("library")) + } + } + } + } + + java { + withJavadocJar() + withSourcesJar() + } +} + +subprojects { + dependencies { + val junit = "5.8.2" + testImplementation("org.codehaus.groovy:groovy:3.0.9") + testImplementation("org.junit.jupiter:junit-jupiter-api:$junit") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$junit") + } + + tasks.withType { + testLogging { + events( + TestLogEvent.STARTED, + TestLogEvent.PASSED, + TestLogEvent.FAILED, + TestLogEvent.SKIPPED + ) + exceptionFormat = TestExceptionFormat.FULL + showExceptions = true + showCauses = true + showStackTraces = true + showStandardStreams = true + } + + maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2) + .takeIf { it > 0 } + ?: 1 + + useJUnitPlatform() + } + + tasks.register("release") { + dependsOn( + "publishAllPublicationsToReposilite-repositoryRepository", + "publishToSonatype", + ) + } +} + + +tasks.register("release") { + dependsOn( + "clean", "build", + "publishAllPublicationsToReposilite-repositoryRepository", + "publishAllPublicationsToSonatypeRepository", + "closeAndReleaseSonatypeStagingRepository" + ) +} + +nexusPublishing { + repositories { + sonatype { + nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/")) + username.set(getEnvOrProperty("SONATYPE_USER", "sonatypeUser")) + password.set(getEnvOrProperty("SONATYPE_PASSWORD", "sonatypePassword")) + } + } +} + +fun getEnvOrProperty(env: String, property: String): String? = + System.getenv(env) ?: findProperty(property)?.toString() \ No newline at end of file diff --git a/examples/hello_world.panda b/examples/hello_world.panda deleted file mode 100644 index 5e92b129d..000000000 --- a/examples/hello_world.panda +++ /dev/null @@ -1,5 +0,0 @@ -// every program needs a place to start its execution, that's the main statement -main { - // print Hello Panda in the console - log 'Hello Panda' -} \ No newline at end of file diff --git a/examples/lang/array.panda b/examples/lang/array.panda deleted file mode 100644 index 31e4eb47e..000000000 --- a/examples/lang/array.panda +++ /dev/null @@ -1,10 +0,0 @@ -require 'java' { collections } - -import java.util.Arrays - -main { - let array = 'Hello World'.split(' ') - array.set(1, 'Panda') - log array.get(0) - log array.toList().get(1) -} \ No newline at end of file diff --git a/examples/lang/basic_types.panda b/examples/lang/basic_types.panda deleted file mode 100644 index 0313e664b..000000000 --- a/examples/lang/basic_types.panda +++ /dev/null @@ -1,23 +0,0 @@ -main { - // Numbers - log 123 - log 123L - log -123 - - // Floating-point numbers - log 1.0 - log .1F - log 0.1D - log -0.1337 - log 0xCAFEBABE - log 0xFFFFFFFFFFFFFF - - // Texts - log 'Michael Scott said "I love inside jokes. I hope to be a part of one someday."' - log "That's what she said" - log `"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe."` - - // Logic - log true - log false -} \ No newline at end of file diff --git a/examples/lang/bitwise.panda b/examples/lang/bitwise.panda deleted file mode 100644 index c761f4887..000000000 --- a/examples/lang/bitwise.panda +++ /dev/null @@ -1,8 +0,0 @@ -main { - log -8 == ~7 - log 1 == (5 & 3) - log 7 == (5 | 3) - log 6 == (5 ^ 3) - log 4 == (2 << 1) - log 2 == (4 >> 1) -} \ No newline at end of file diff --git a/examples/lang/branching.panda b/examples/lang/branching.panda deleted file mode 100644 index 66e0bb288..000000000 --- a/examples/lang/branching.panda +++ /dev/null @@ -1,39 +0,0 @@ -main { - Branching.'return'() - log '#onlypanda' == Branching.'return with result'() - - Branching.'break'() - log 5, Branching.'continue'() -} - -type Branching { - - open static 'return' () { - while true { - return - } - } - - open static 'return with result' () -> String { - return '#onlypanda' - } - - open static 'break' () { - while true { - return - } - } - - open static 'continue' () -> Int { - mut Int value = 0 - - while true { - if ++value != 5 { - continue - } - - return value - } - } - -} \ No newline at end of file diff --git a/examples/lang/comments.panda b/examples/lang/comments.panda deleted file mode 100644 index da495b224..000000000 --- a/examples/lang/comments.panda +++ /dev/null @@ -1,13 +0,0 @@ -main { - // single line comment - - /* - Multiline - Comment - */ - - /** - * Documentation comment - * It's used to generate documentation of your program in a standardized way - */ -} \ No newline at end of file diff --git a/examples/lang/constructor.panda b/examples/lang/constructor.panda deleted file mode 100644 index de1579cba..000000000 --- a/examples/lang/constructor.panda +++ /dev/null @@ -1,85 +0,0 @@ -/* - * PROPOSALS: Primary constructor - * ~ https://github.com/panda-lang/panda/issues/612 - */ - -/* v1 */ -open type Foo { - - shared String name - shared Int value - internal nil Bar optional - - init (String name, Int value) { - this.name = name - this.value = value - } - - init (String name, Int value, Bar optional) { - this(name, value) - this.optional = optional - } - -} - -/* v2 */ -open type Foo ( - - shared String name - shared Int value - -) { - - internal nil Bar optional - - init (String name, Int value, Bar optional) { - this(name, value) - this.optional = optional - } - -} - -/* v3 */ -open type Foo { - - shared String name - shared Int value - - ~ internal State state1 - ~ internal mut State mutableState2 = State() - - init (base) { - this.mutableState1 = State(name, value) - } - -} - -/* v4 */ -open type Foo { - - shared base String name - shared base Int value - - internal State state1 - internal mut State mutableState2 = State() - - init (base) { - this.mutableState1 = State(name, value) - } - -} - -/* v5 */ -open type Foo { - - shared String name - shared Int value - - internal ext State state1 - internal mut ext State mutableState2 = State() - - init (base) { - this.mutableState1 = State(name, value) - } - -} \ No newline at end of file diff --git a/examples/lang/crease.panda b/examples/lang/crease.panda deleted file mode 100644 index b6e97adea..000000000 --- a/examples/lang/crease.panda +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Increase and decrease operations on different number types - */ -main { - /* Byte */ - - mut Byte byte = 1B - - log 2 == ++byte - log 2 == byte++ - log 2 == --byte - log 2 == byte-- - - log 1 == byte - - /* Short */ - - mut Short short = 1S - - log 2 == ++short - log 2 == short++ - log 2 == --short - log 2 == short-- - - log 1 == short - - /* Int */ - - mut Int int = 1 - - log 2 == ++int - log 2 == int++ - log 2 == --int - log 2 == int-- - - log 1 == int - - /* Long */ - - mut Long long = 1L - - log 2 == ++long - log 2 == long++ - log 2 == --long - log 2 == long-- - - log 1 == long - - /* Float */ - - mut Float float = 1.0F - - log 2 == ++float - log 2 == float++ - log 2 == --float - log 2 == float-- - - log 1 == float - - /* Double */ - - mut Double double = 1.0D - - log 2 == ++double - log 2 == double++ - log 2 == --double - log 2 == double-- - - log 1 == double -} \ No newline at end of file diff --git a/examples/lang/for.panda b/examples/lang/for.panda deleted file mode 100644 index 148b91182..000000000 --- a/examples/lang/for.panda +++ /dev/null @@ -1,11 +0,0 @@ -main { - /* Standard indexed for loop */ - - mut Int indexedLoop = 0 - - for (mut Int index = 0; index < 2; index++) { - indexedLoop++ - } - - log 2 == indexedLoop -} \ No newline at end of file diff --git a/examples/lang/foreach.panda b/examples/lang/foreach.panda deleted file mode 100644 index e67e8c739..000000000 --- a/examples/lang/foreach.panda +++ /dev/null @@ -1,13 +0,0 @@ -require 'java' { base, collections } - -main { - /* Iterator based for-each loop */ - - List iterable = new ArrayList() - iterable.add('#bokkitty') - iterable.add('#onlypanda') - - foreach (String value : iterable) { - log value - } -} \ No newline at end of file diff --git a/examples/lang/generics.panda b/examples/lang/generics.panda deleted file mode 100644 index 4878b664e..000000000 --- a/examples/lang/generics.panda +++ /dev/null @@ -1,41 +0,0 @@ -main { - /* Parametrized instance */ - Foo parametrizedType = new Foo('test') - - /* Parametrized return type */ - String parametrizedValue = parametrizedType.getValue() - // Int invalidValue = genericType.getValue() /* Should not compile */ - - /* Parametrized arguments */ - parametrizedType.setValue(parametrizedValue) - // genericType.setValue(10) /* Should not compile */ - - /* Parametrized re-assignation */ - Foo sameParametrizedType = parametrizedType - Foo lowerParametrizedType = sameParametrizedType - Bar lowerBaseType = sameParametrizedType - Bar lowerBaseAndParametrizedType = sameParametrizedType - // Foo invalidSignature = parametrizedType /* Should not compile */ -} - -type Foo : Bar { - constructor (V barValue) { - base(barValue) - } -} - -type Bar { - internal mut V value - - constructor (V value) { - this.value = value - } - - shared setValue (V value) { - this.value = value - } - - shared getValue () -> V { - return value - } -} \ No newline at end of file diff --git a/examples/lang/interop.panda b/examples/lang/interop.panda deleted file mode 100644 index 1b7a81e8d..000000000 --- a/examples/lang/interop.panda +++ /dev/null @@ -1,7 +0,0 @@ -require 'java' { collections } - -main { - Collection collection = Collections.emptyList() - Int size = collection.size() - foreach (String guess : Collections.emptyList()) { } -} \ No newline at end of file diff --git a/examples/lang/let.panda b/examples/lang/let.panda deleted file mode 100644 index a23d7863a..000000000 --- a/examples/lang/let.panda +++ /dev/null @@ -1,17 +0,0 @@ -main { - /* Immutable */ - - let rawValue = '#onlypanda x ' - let methodValue = 0xCAFEBABE.toString() - - log rawValue + methodValue - - /* Mutable */ - - mut let mutableValue = '#onlydiorite' - mutableValue = '#onlypanda' - - /* Nillable */ - - nil let nillableValue = Java.null() -} \ No newline at end of file diff --git a/examples/lang/logical.panda b/examples/lang/logical.panda deleted file mode 100644 index 74ae743f2..000000000 --- a/examples/lang/logical.panda +++ /dev/null @@ -1,57 +0,0 @@ -main { - Object firstObject = new Object() - Object secondObject = new Object() - - Int positiveInt = 7 - Int negativeInt = -7 - - Double positiveDouble = 7.0 - Double negativeDouble = -7.0 - - // Equals & Not Equals - - log firstObject == firstObject - log firstObject != secondObject - - log positiveInt == positiveInt - log positiveInt != negativeInt - - log positiveDouble == positiveDouble - log positiveDouble != negativeDouble - - log positiveInt == positiveDouble - log negativeInt == negativeDouble - - // And - - log true && true - log !false && true - log !(true && false) - - // Or - - log true || true - log true || false - log !(false || false) - - // Greater than - - log positiveInt > negativeDouble - log !(negativeDouble > positiveInt) - - // Greater than & Equals - - log positiveInt >= positiveDouble - log positiveInt >= negativeDouble - log !(negativeDouble >= positiveInt) - - // Less than - - log negativeDouble < positiveInt - - // Less than & Equals - - log negativeDouble <= positiveInt - log negativeDouble <= negativeInt - log !(positiveDouble <= negativeInt) -} \ No newline at end of file diff --git a/examples/lang/loop.panda b/examples/lang/loop.panda deleted file mode 100644 index 0fcfe4ed8..000000000 --- a/examples/lang/loop.panda +++ /dev/null @@ -1,11 +0,0 @@ -main { - /* Standard loop */ - - mut Int loopValidation = 0 - - loop 5 { - loopValidation++ - } - - log 5 == loopValidation -} \ No newline at end of file diff --git a/examples/lang/main.panda b/examples/lang/main.panda deleted file mode 100644 index 1f5e91a5c..000000000 --- a/examples/lang/main.panda +++ /dev/null @@ -1,3 +0,0 @@ -main { - log 'Hello Panda', Java.null() -} \ No newline at end of file diff --git a/examples/lang/math.panda b/examples/lang/math.panda deleted file mode 100644 index 4eb678d82..000000000 --- a/examples/lang/math.panda +++ /dev/null @@ -1,14 +0,0 @@ -main { - /* Standard operations */ - log 4 == (1 + 3) - log 5 == (8 - 3) - log 6 == (2 * 3) - log 4 == (8 / 2) - log 3 == (8 % 5) - - /* Order of operations */ - log 11 == (19 - (3 % 2 + 5 * 3) / 2) - - /* Floating point operations */ - log 1.01 == (1 + .01) -} \ No newline at end of file diff --git a/examples/lang/members.panda b/examples/lang/members.panda deleted file mode 100644 index 0c673520b..000000000 --- a/examples/lang/members.panda +++ /dev/null @@ -1,31 +0,0 @@ -main { - Foo defaultFoo = new Foo() - log 'Static' == Foo.staticField - log 'Static' == defaultFoo.staticField - log 'Default' == defaultFoo.field - log 'Default' == defaultFoo.field() - - Foo foo = new Foo('Custom') - log 'Custom' == foo.field - log 'Custom' == foo.field() -} - -open type Foo { - - open static String staticField = 'Static' - - internal String field - - constructor (String field) { - this.field = field - } - - constructor () { - this('Default') - } - - shared field () -> String { - return field - } - -} \ No newline at end of file diff --git a/examples/lang/textual_methods.panda b/examples/lang/textual_methods.panda deleted file mode 100644 index dc5193521..000000000 --- a/examples/lang/textual_methods.panda +++ /dev/null @@ -1,11 +0,0 @@ -main { - log LiteralMethod.'should return true'() -} - -type LiteralMethod { - - shared static 'should return true' () -> Bool { - return true - } - -} \ No newline at end of file diff --git a/examples/lang/type.panda b/examples/lang/type.panda deleted file mode 100644 index 72011a522..000000000 --- a/examples/lang/type.panda +++ /dev/null @@ -1,34 +0,0 @@ -main { - Methods methods = new Methods() - methods.initialize() -} - -type Methods { - - shared Int count = 5 - - shared initialize () { - staticMethod() - anotherInitialize('Another initialize') - - Int count = count(10) - log count - } - - shared count (Int count) -> Int { - return count - } - - shared anotherInitialize (String message) { - log message - } - - shared static staticMethod () { - anotherStaticMethod('Another static method') - } - - shared static anotherStaticMethod (String message) { - log message - } - -} \ No newline at end of file diff --git a/examples/lang/variables.panda b/examples/lang/variables.panda deleted file mode 100644 index c43dd8404..000000000 --- a/examples/lang/variables.panda +++ /dev/null @@ -1,33 +0,0 @@ -main { - /* Standard variables */ - - String message = 'With Great Beard Comes Great Responsibility' - - /* Mutable variables */ - - mut String messageOfTheDay = 'Productivity' - - if true { - messageOfTheDay = 'Cat Videos' - } - - /* Nillable variables */ - - nil String playingWithFire = Java.null() - - /* Lazy initialized values */ - - late String conditionalValue - - if true { - conditionalValue = 'a' - } - else { - conditionalValue = 'b' - } - - /* Mixed variables */ - - late mut nil String value - value = Java.null() -} \ No newline at end of file diff --git a/examples/lang/while.panda b/examples/lang/while.panda deleted file mode 100644 index de0e7edc6..000000000 --- a/examples/lang/while.panda +++ /dev/null @@ -1,9 +0,0 @@ -main { - /* While loop */ - - mut Bool active = true - - while active { - log 'Active: ' + (active = false) - } -} \ No newline at end of file diff --git a/examples/package-manager/github-packages/app.panda b/examples/package-manager/github-packages/app.panda deleted file mode 100644 index 55bff6b77..000000000 --- a/examples/package-manager/github-packages/app.panda +++ /dev/null @@ -1,9 +0,0 @@ -// require panda-dependency implementations defined in the panda.cdn -require 'panda-lang/panda-dependency' -require 'piotrpiatyszek/panda-dependency' - -main { - // use implementations - log PandaDependency.getMessage() - log LDDependency.getMessage() -} \ No newline at end of file diff --git a/examples/package-manager/github-packages/panda.cdn b/examples/package-manager/github-packages/panda.cdn deleted file mode 100644 index f3937fe05..000000000 --- a/examples/package-manager/github-packages/panda.cdn +++ /dev/null @@ -1,8 +0,0 @@ -name: github-packages -version: 1.0.0 -author: dzikoysk - -dependencies: [ - github:panda-lang/panda-dependency@master -] - diff --git a/examples/package-manager/maven-packages/app.panda b/examples/package-manager/maven-packages/app.panda deleted file mode 100644 index 64eaba5ff..000000000 --- a/examples/package-manager/maven-packages/app.panda +++ /dev/null @@ -1,5 +0,0 @@ -import org.panda_lang.reposilite.ReposiliteLauncher - -main { - ReposiliteLauncher.create("--version") -} \ No newline at end of file diff --git a/examples/package-manager/maven-packages/panda.cdn b/examples/package-manager/maven-packages/panda.cdn deleted file mode 100644 index b6b21ce78..000000000 --- a/examples/package-manager/maven-packages/panda.cdn +++ /dev/null @@ -1,11 +0,0 @@ -name: panda-with-java-library-dependency -version: 1.0.0 -author: dzikoysk - -repositories: [ - https://repo.panda-lang.org/ -] - -dependencies: [ - maven:org.panda-lang/reposilite@2.9.11 -] diff --git a/examples/performance/matmul.panda b/examples/performance/matmul.panda deleted file mode 100644 index eb23e16f7..000000000 --- a/examples/performance/matmul.panda +++ /dev/null @@ -1,90 +0,0 @@ -/* - - Matrix multiplication algorithm - - Algorithm for multiplying two 100x100 matrices using the standard cubic-time algorithm. - This benchmark evaluates the performance of nested loops with a simple internal loop, which is frequent in scientific computing. - - The algorithm uses the slowest elements like math on non primitive numbers, arrays accessors and initializers. - It's useful to have a view at the overall performance of these mechanics. - The results are not completely accurate because they do not warm up JVM properly (it takes too much time for a simple review). - - Benchmark Mode Cnt Score Error Units - - 22.08.2019 (Java 8) - MatmulPerformanceTest.benchmarkMatmulJava thrpt 5 49,364 ± 13,306 ops/s - MatmulPerformanceTest.benchmarkMatmulPanda thrpt 5 2,290 ± 0,320 ops/s - - 14.09.2019 (Java 8) - MatmulPerformanceTest.benchmarkMatmulJava thrpt 5 48,884 ± 8,513 ops/s - MatmulPerformanceTest.benchmarkMatmulPanda thrpt 5 2,485 ± 0,635 ops/s - - 15.09.2019 (Java 8) - MatmulPerformanceTest.benchmarkMatmulJava thrpt 5 48,355 ± 7,385 ops/s - MatmulPerformanceTest.benchmarkMatmulPanda thrpt 5 3,439 ± 3,788 ops/s - - 6.11.2019 (Java 8) - MatmulPerformanceTest.benchmarkMatmulJava thrpt 5 45,224 ± 9,899 ops/s - MatmulPerformanceTest.benchmarkMatmulPanda thrpt 5 5,260 ± 5,634 ops/s - -*/ - -internal type Matmul { - - internal matgen(Int n) -> Double[][] { - Double[][] a = new Double[n][n] - Double tmp = 1.0 / n / n - - for (mut Int i = 0; i < n; ++i) { - for (mut Int j = 0; j < n; ++j) { - a[i][j] = tmp * (i - j) * (i + j) - } - } - - return a - } - - internal matmul(Double[][] a, Double[][] b) -> Double[][] { - Int m = a.size() - Int n = a[0].size() - Int p = b[0].size() - - Double[][] x = new Double[m][p] - Double[][] c = new Double[p][n] - - for (mut Int i = 0; i < n; ++i) { - for (mut Int j = 0; j < p; ++j) { - c[j][i] = b[i][j]; - } - } - - for (mut Int i = 0; i < m; ++i) { - for (mut Int j = 0; j < p; ++j) { - mut Double s = 0.0 - - for (mut Int k = 0; k < n; ++k) { - s = s + a[i][k] * c[j][k] - } - - x[i][j] = s - } - } - - return x; - } - -} - -main { - Int n = 100 - - Matmul m = new Matmul() - Double[][] a = m.matgen(n) - Double[][] b = m.matgen(n) - Double[][] x = m.matmul(a, b) - - Double result = x[n / 2][n / 2] - log result - - return result -} \ No newline at end of file diff --git a/examples/performance/ten_thousand_expressions.panda b/examples/performance/ten_thousand_expressions.panda deleted file mode 100644 index a5d693298..000000000 --- a/examples/performance/ten_thousand_expressions.panda +++ /dev/null @@ -1,1005 +0,0 @@ -import java.util.Arrays - -main { - log - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, - "Test", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true, -} \ No newline at end of file diff --git a/examples/summary-example/panda.cdn b/examples/summary-example/panda.cdn deleted file mode 100644 index cf66315a2..000000000 --- a/examples/summary-example/panda.cdn +++ /dev/null @@ -1,4 +0,0 @@ -name: summary-example -version: 1.0.0 -author: dzikoysk -sources: src \ No newline at end of file diff --git a/examples/summary-example/readme.md b/examples/summary-example/readme.md deleted file mode 100644 index b767fa164..000000000 --- a/examples/summary-example/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# CurrentTest - -A short summary of all syntax features. \ No newline at end of file diff --git a/examples/summary-example/src/app.panda b/examples/summary-example/src/app.panda deleted file mode 100644 index ee3c4b3ed..000000000 --- a/examples/summary-example/src/app.panda +++ /dev/null @@ -1,282 +0,0 @@ -// import java collections from std -require 'java' { collections } - -// import 'local-module' module -require 'summary-example' { local-module } - -// import java class -import panda.interpreter.PandaConstants -import java.util.Arrays -import java.lang.Thread - -// main statement is called when the script is launched -main { - // create Test instance, then call its method and finally print content of testField - Test test = new Test(`'"Constructor"'`) - test.echo("Method echo") - log test.getTestField().testField - - // define variable init that may be initialized later - late String init - // define nillable variable - nil Foo req = Java.null() - - // define mutable nillable variable varFoo - mut nil Foo varFoo = req - // assign a new value to the varFoo - varFoo = new Foo().'self test'() - varFoo.anotherEcho('Another echo') - - // assign string to a new variable s - mut String s = "Hello Panda v1" - // assign new value to the s variable - s = "Hello Panda v2" - - // negative number - log -1 - // hexagonal number - log 0x5A, 0x5F // expected: 90, 95 - // int overflow - log Int.MAX_VALUE + 10_000_001 - - // assign integer in hex format to the i variable - Int i = 0x000001 - // perform some math operations - Number math = (10.1 + (3 + 4.2 + i) * 2) - (2 / 1) /* expected: 24.5 */ - // compare values and assign result to the flag variable - Bool flag = i == 1 - - // print some recent values in the console - log 'Hello Panda', flag, varFoo, s, test, i, math - - // verify logic - if not flag { - throw new RuntimeException('Nope If') - } - else if flag { - log 'Yay' // expected - } - else { - throw new RuntimeException('Nope Else') - } - - // assign ArrayList (class) value to List (interface) variable and add some values - List list = new ArrayList() - list.add("val1") - list.add("val2") - - // create string builder and append previous list - StringBuilder builder = new StringBuilder() - builder.append(list) - builder.append(list.size()) - - // loop i times, expr may be wrapped into ( ) - loop i { - // append some content in the - builder.append(" Loop x1 ") - - // iterate through the list and add elements to the builder - foreach (String var : list) { - builder.append(var) - } - - continue - builder.append(" Loop x3 ") // won't be called due to 'continue' - } - - // iterate as long as flag is not equal to the false - while flag != false { - log builder.toString() - break // or just stop - } - - // logical expressions - log "OR v AND: " + (false || false) + ", " + false || true, true && false, true && true - log "Compare: " + 1 > 2, 1 > 2, 1 < 2, 2 < 1 - log "Random", (false || false) + ", " + false || true, true && false, true && true, (false || false) + ", " + false || true, true && false, true && true - - // test (in/de)crease operations - mut Int creaseValue = 10 - log "Increase: " + creaseValue++, creaseValue++, ++creaseValue, ++creaseValue - log "Decrease: " + creaseValue--, creaseValue--, --creaseValue, --creaseValue - - // increase expression as standalone statement - creaseValue++ - log creaseValue - - // create instance of type imported from another file - // should use generated default constructor - Required required = new Required() - required.hello() - - // try to catch some exceptions - try { - throw new RuntimeException("Try") - } catch (Exception exception) { - log exception.getMessage() // gotcha - } - - // print constant from imported java class - log PandaConstants.VERSION - - // test standard fori loop - for (mut Int index = 3; index != 0; index /* comment in expression */ --) { - if index == 2 { - continue - } - - log "ForI: " + index - } - - // print variable declared by the expression :0 - log "Assignation: " + (Object assignation = 10) - - // check if variable defined in expr instanceof integer - if assignation is Int { - Int castTest = assignation as Int // and cast that value to integer - log "Is int value: " + castTest - } - - // Make sure that here is no way to create instance of interface - // Interface int = new Interface() - - // be sure that the result uses the same type - log 10 + Int.parseInt('5') + list.size() - - // map array to iterable in foreach - // foreach (String var : new Array(10)) { } - - // make sure that we can use primitive arrays - // PrimitiveChar[] primitiveArray = (')#onlypanda').toCharArray() - // Arrays.sort(primitiveArray) - //log primitiveArray[0] - // log new String(primitiveArray) - - // Use type from imported internal module - LocalModule.hello() - - // Autocast - Int intValue = 10 - Long longValue = intValue - log longValue.getClass() - - // Verify implementation of native equals - Entity a = new Entity("same") - Entity b = new Entity("same") - log a == b - - // Test implementation of Java class - CustomThread thread = new CustomThread() - thread.start() - - // Runnable runnable = { log 'x' } -} - -// simple interface -shared interface IEcho { - - // require implementation of static method - shared static anotherEcho (String doSth) -> String - - // standard method to impl - internal 'self test' () - -} - -// simple type that extends Test type and implements interface IEcho -shared type Foo : Test, IEcho { - - constructor () { - base('We need to call base constructor if we extend another type with custom constructor') - } - - // we need to mark overridden methods by the keyword - override static anotherEcho (String message1) -> String { - log message1 - return this - } - - // we need to impl all methods - override 'self test' () { } - - override toString () -> String { - return 'Foo' - } - -} - -// simple entity to test equality implemented as native method -internal type Entity { - - internal String name - - constructor (String name) { - this.name = name - } - - // override native equals and name-based equality - override equals (Object obj) -> PrimitiveBool { - return obj is Entity && name == (obj as Entity).name - } - -} - -// random Test class -internal type Test { - - // open static field INDEX with assigned value - open static Int INDEX = 1 - - // shared between submodules field - shared Test testField - // internal mutable field - internal mut Double double = 1.5D - // internal immutable field - internal String message2 - - // constructor prints random message and assigns itself to testField field - constructor (String message2) { - log message2 - this.testField = this - this.message2 = message2 - } - - // static field that creates instance of the current class - // open static Test TEST = { new Test('Static initialization of type instance') } - - shared echo (Object message3) { - log message3 - } - - // method with string based name - shared 'should return true' () -> Bool { - return true - } - - // get test instance - shared getTestField () -> Test { - if true { - return this.testField - } - else { - return Java.null() - } - } - - override toString () -> String { - return 'Custom toString() in Test type #' + Int.toHexString(System.identityHashCode(this)) - } - -} - -internal type CustomThread : Thread { - - constructor () { - base('CustomThread') - } - - override run () -> PrimitiveVoid { - log 'Called in ' + Thread.currentThread().getName() - } - -} \ No newline at end of file diff --git a/examples/summary-example/src/local-module/type.panda b/examples/summary-example/src/local-module/type.panda deleted file mode 100644 index 95bfbc0fd..000000000 --- a/examples/summary-example/src/local-module/type.panda +++ /dev/null @@ -1,7 +0,0 @@ -open type LocalModule { - - open static hello () { - log 'Local Module' - } - -} \ No newline at end of file diff --git a/examples/summary-example/src/required.panda b/examples/summary-example/src/required.panda deleted file mode 100644 index 3de90685b..000000000 --- a/examples/summary-example/src/required.panda +++ /dev/null @@ -1,16 +0,0 @@ -// export StringUtils class, this type will be visible in another files -export panda.utilities.StringUtils - -// shared type to test visibility access -shared type Required { - - // should generate default empty constructor - - shared hello() { - log "Required print" - - // Imported by current_test.panda java type should not be visible - // Console.print(PandaConstants.VERSION) - } - -} \ No newline at end of file diff --git a/examples/swing.panda b/examples/swing.panda deleted file mode 100644 index a52806464..000000000 --- a/examples/swing.panda +++ /dev/null @@ -1,17 +0,0 @@ -import javax.swing.JFrame -import javax.swing.SwingUtilities - -main { - SwingUtilities.invokeAndWait(new Window()) -} - -type Window : Runnable { - - override run () -> PrimitiveVoid { - JFrame frame = new JFrame('MonkaS') - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) - frame.setSize(720, 380) - frame.setVisible(true) - } - -} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 000000000..a8a1302e8 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,21 @@ +# Gradle +org.gradle.daemon=false +org.gradle.parallel=false +org.gradle.jvmargs=-Dfile.encoding=UTF-8 +org.gradle.logging.stacktrace=full + +# Kotlin +kotlin.stdlib.default.dependency=false + +# Maven +mavenUser= +mavenPassword= + +# Sonatype +sonatypeUser= +sonatypePassword= + +# Sign +signing.keyId= +signing.password= +signing.secretKeyRingFile= \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 000000000..249e5832f Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..8fad3f5a9 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 000000000..a69d9cb6c --- /dev/null +++ b/gradlew @@ -0,0 +1,240 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${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='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# 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 ;; #( + MSYS* | 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" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 000000000..f127cfd49 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,91 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@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 Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@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="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +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 execute + +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 + +: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 %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 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! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/panda-framework/pom.xml b/panda-framework/pom.xml deleted file mode 100644 index c4113caac..000000000 --- a/panda-framework/pom.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - 4.0.0 - - - panda-parent - org.panda-lang - 0.5.2-alpha - - - panda-framework - - - - org.panda-lang - panda-utilities - - - - - org.openjdk.jmh - jmh-core - test - - - org.openjdk.jmh - jmh-generator-annprocess - test - - - - - org.codehaus.groovy - groovy - test - - - org.junit.jupiter - junit-jupiter-engine - test - - - - - clean install - - - org.codehaus.gmavenplus - gmavenplus-plugin - - - org.apache.maven.plugins - maven-surefire-plugin - - - org.apache.maven.plugins - maven-source-plugin - - - org.apache.maven.plugins - maven-jar-plugin - - - org.apache.maven.plugins - maven-deploy-plugin - - - - \ No newline at end of file diff --git a/panda-framework/src/main/java/panda/interpreter/Failure.java b/panda-framework/src/main/java/panda/interpreter/Failure.java deleted file mode 100644 index fad2766f3..000000000 --- a/panda-framework/src/main/java/panda/interpreter/Failure.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter; - -import org.jetbrains.annotations.Nullable; -import panda.interpreter.source.IndicatedSource; -import panda.std.Option; - -/** - * Represents errors occurred in the framework - */ -public interface Failure { - - /** - * Get indicated source - * - * @return the indicated source - */ - IndicatedSource getIndicatedSource(); - - /** - * Get additional information about the failure - * - * @return the note - */ - Option getNote(); - - /** - * Returns the cause of this throwable or {@code null} if the - * cause is nonexistent or unknown. (The cause is the throwable that - * caused this throwable to get thrown.) - * - * @return the cause - */ - @Nullable Throwable getCause(); - - /** - * Get failure message - * - * @return the failure message - */ - String getMessage(); - - /** - * Get failure stacktrace - * - * @return the array of stack trace elements - */ - StackTraceElement[] getStackTrace(); - -} diff --git a/panda-framework/src/main/java/panda/interpreter/FrameworkController.java b/panda-framework/src/main/java/panda/interpreter/FrameworkController.java deleted file mode 100644 index a1a94cfdc..000000000 --- a/panda-framework/src/main/java/panda/interpreter/FrameworkController.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter; - -import panda.interpreter.logging.Logger; -import panda.interpreter.logging.LoggerHolder; -import panda.interpreter.resource.Language; -import panda.interpreter.resource.Resources; - -/** - * Panda Framework controller - */ -public interface FrameworkController extends LoggerHolder { - - /** - * Get resources used by framework controller - * - * @return the resources - */ - Resources getResources(); - - /** - * Get language used by framework controller - * - * @return the language - */ - Language getLanguage(); - - /** - * Get associated Panda class loader - * - * @return the class loader - */ - PandaClassLoader getClassLoader(); - - /** - * Get logger used by the framework - * - * @return the current logger - */ - @Override - Logger getLogger(); - - /** - * Get the current version of framework controller - * - * @return the current version - */ - String getVersion(); - - - -} diff --git a/panda-framework/src/main/java/panda/interpreter/Interpreter.java b/panda-framework/src/main/java/panda/interpreter/Interpreter.java deleted file mode 100644 index b1d7a150f..000000000 --- a/panda-framework/src/main/java/panda/interpreter/Interpreter.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter; - -import panda.interpreter.architecture.Application; -import panda.interpreter.architecture.Environment; -import panda.interpreter.architecture.packages.Package; -import panda.std.Result; - -/** - * Translate source code into efficient intermediate representation and build an application - */ -public interface Interpreter { - - /** - * Starts the process of interpretation - * - * @return interpreted application - */ - Result interpret(Package packageSource); - - /** - * Get associated environment - * - * @return the environment - */ - Environment getEnvironment(); - -} \ No newline at end of file diff --git a/panda-framework/src/main/java/panda/interpreter/InterpreterFailure.java b/panda-framework/src/main/java/panda/interpreter/InterpreterFailure.java deleted file mode 100644 index 569ef15a9..000000000 --- a/panda-framework/src/main/java/panda/interpreter/InterpreterFailure.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter; - -import org.jetbrains.annotations.Nullable; -import panda.interpreter.source.IndicatedSource; -import panda.std.Option; - -public class InterpreterFailure extends PandaFrameworkException implements Failure { - - private final IndicatedSource indicatedSource; - private final String note; - - public InterpreterFailure(IndicatedSource indicatedSource, String message, @Nullable String note) { - super(message); - this.indicatedSource = indicatedSource; - this.note = note; - } - - public InterpreterFailure(Throwable cause, IndicatedSource indicatedSource, String message, String note) { - super(message, cause); - this.indicatedSource = indicatedSource; - this.note = note; - } - - @Override - public Option getNote() { - return Option.of(note); - } - - @Override - public IndicatedSource getIndicatedSource() { - return indicatedSource; - } - -} diff --git a/panda-framework/src/main/java/panda/interpreter/PandaClassLoader.java b/panda-framework/src/main/java/panda/interpreter/PandaClassLoader.java deleted file mode 100644 index a41abf01a..000000000 --- a/panda-framework/src/main/java/panda/interpreter/PandaClassLoader.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter; - -import java.net.URL; -import java.net.URLClassLoader; - -public class PandaClassLoader extends URLClassLoader { - - public PandaClassLoader(ClassLoader parent, URL... urls) { - super(urls, parent); - } - - @Override - public void addURL(URL url) { - super.addURL(url); - } - -} diff --git a/panda-framework/src/main/java/panda/interpreter/PandaFramework.java b/panda-framework/src/main/java/panda/interpreter/PandaFramework.java deleted file mode 100644 index aa9041fbb..000000000 --- a/panda-framework/src/main/java/panda/interpreter/PandaFramework.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter; - -import panda.interpreter.logging.Logger; -import panda.interpreter.resource.Language; -import panda.interpreter.resource.Resources; - -public abstract class PandaFramework implements FrameworkController { - - private final Logger logger; - private final PandaClassLoader classLoader; - private final Language language; - private final Resources resources; - - protected PandaFramework(Logger logger, PandaClassLoader classLoader, Language language, Resources resources) { - if (logger == null) { - throw new IllegalArgumentException("Missing logger"); - } - - if (language == null) { - throw new IllegalArgumentException("Missing language"); - } - - if (resources == null) { - throw new IllegalArgumentException("Missing resources"); - } - - this.logger = logger; - this.classLoader = classLoader; - this.language = language; - this.resources = resources; - } - - /** - * Get resources used by this Panda instance - * - * @return the panda resources - */ - @Override - public Resources getResources() { - return resources; - } - - /** - * Get language used by this Panda instance - * - * @return the panda language - */ - @Override - public Language getLanguage() { - return language; - } - - @Override - public PandaClassLoader getClassLoader() { - return classLoader; - } - - @Override - public Logger getLogger() { - return logger; - } - - /** - * Get current version of Panda - * - * @return the current version - */ - @Override - public String getVersion() { - return PandaFrameworkConstants.VERSION; - } - -} diff --git a/panda-framework/src/main/java/panda/interpreter/PandaFrameworkConstants.java b/panda-framework/src/main/java/panda/interpreter/PandaFrameworkConstants.java deleted file mode 100644 index ada03c7a1..000000000 --- a/panda-framework/src/main/java/panda/interpreter/PandaFrameworkConstants.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter; - -public final class PandaFrameworkConstants { - - /** - * Current version of the Panda Framework - */ - public static final String VERSION = "0.5.2-alpha"; - - private PandaFrameworkConstants() { } - -} diff --git a/panda-framework/src/main/java/panda/interpreter/PandaFrameworkException.java b/panda-framework/src/main/java/panda/interpreter/PandaFrameworkException.java deleted file mode 100644 index bd53cb0f4..000000000 --- a/panda-framework/src/main/java/panda/interpreter/PandaFrameworkException.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter; - -/** - * Exception thrown by the framework - */ -public class PandaFrameworkException extends RuntimeException { - - public PandaFrameworkException() { - super(); - } - - public PandaFrameworkException(String message) { - super(message); - } - - public PandaFrameworkException(String message, Throwable cause) { - super(message, cause); - } - - public PandaFrameworkException(Throwable cause) { - super(cause); - } - -} diff --git a/panda-framework/src/main/java/panda/interpreter/architecture/Application.java b/panda-framework/src/main/java/panda/interpreter/architecture/Application.java deleted file mode 100644 index 45e038944..000000000 --- a/panda-framework/src/main/java/panda/interpreter/architecture/Application.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter.architecture; - -import panda.interpreter.logging.Logger; -import panda.interpreter.logging.LoggerHolder; -import panda.std.Option; -import panda.std.Result; - -/** - * Application is a group of bundled scripts - */ -public interface Application extends LoggerHolder { - - /** - * Launch application with a specified arguments - */ - Result, Throwable> launch(String... arguments); - - /** - * Get application environment - * - * @return the application environment - */ - Environment getEnvironment(); - - @Override - default Logger getLogger() { - return getEnvironment().getLogger(); - } - -} diff --git a/panda-framework/src/main/java/panda/interpreter/architecture/Environment.java b/panda-framework/src/main/java/panda/interpreter/architecture/Environment.java deleted file mode 100644 index be5205a89..000000000 --- a/panda-framework/src/main/java/panda/interpreter/architecture/Environment.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter.architecture; - -import panda.interpreter.FrameworkController; -import panda.interpreter.architecture.module.TypeLoader; -import panda.interpreter.architecture.packages.Packages; -import panda.interpreter.architecture.type.generator.TypeGenerator; -import panda.interpreter.Interpreter; -import panda.interpreter.logging.LoggerHolder; -import panda.interpreter.source.SourceService; - -import java.io.File; - -/** - * Application playground - */ -public interface Environment extends LoggerHolder { - - /** - * Get interpreter of environment - * - * @return the interpreter - */ - Interpreter getInterpreter(); - - /** - * Get assigned to the environment type loader - * - * @return the type loader - */ - TypeLoader getTypeLoader(); - - Packages getPackages(); - - /** - * Get default type generator - * - * @return the type generator - */ - TypeGenerator getTypeGenerator(); - - /** - * Get sources used by this environment - * - * @return the associated set of sources - */ - SourceService getSources(); - - /** - * Get working directory - * - * @return the working directory - */ - File getDirectory(); - - /** - * Get framework controller - * - * @return the controller - */ - FrameworkController getController(); - -} diff --git a/panda-framework/src/main/java/panda/interpreter/architecture/PandaApplication.java b/panda-framework/src/main/java/panda/interpreter/architecture/PandaApplication.java deleted file mode 100644 index df5fa3e5b..000000000 --- a/panda-framework/src/main/java/panda/interpreter/architecture/PandaApplication.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2021 dzikoysk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package panda.interpreter.architecture; - -import panda.interpreter.PandaFrameworkException; -import panda.interpreter.architecture.packages.Script; -import panda.interpreter.architecture.statement.Main; -import panda.interpreter.runtime.PandaProcess; -import panda.interpreter.runtime.Process; -import panda.std.Option; -import panda.std.Result; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -public final class PandaApplication implements Application { - - private final Environment environment; - private final List