├── .github ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── maven.yml ├── .gitignore ├── .idea ├── .gitignore ├── artifacts │ └── imp_build.xml ├── codeStyles │ └── codeStyleConfig.xml ├── compiler.xml ├── dataSources.xml ├── jarRepositories.xml ├── libraries │ ├── Maven__com_diogonunes_JColor_5_2_0.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_1.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_13_1.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_13_1.xml │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_toml_2_13_1.xml │ ├── Maven__com_google_code_findbugs_jsr305_3_0_2.xml │ ├── Maven__commons_io_commons_io_2_5.xml │ ├── Maven__info_picocli_picocli_4_6_1.xml │ ├── Maven__net_java_dev_jna_jna_5_8_0.xml │ ├── Maven__net_java_dev_jna_jna_platform_5_8_0.xml │ ├── Maven__net_sf_jopt_simple_jopt_simple_4_6.xml │ ├── Maven__org_antlr_antlr4_runtime_4_7_2.xml │ ├── Maven__org_apache_commons_commons_collections4_4_1.xml │ ├── Maven__org_apache_commons_commons_lang3_3_5.xml │ ├── Maven__org_apache_commons_commons_math3_3_2.xml │ ├── Maven__org_apache_commons_commons_text_1_8.xml │ ├── Maven__org_apiguardian_apiguardian_api_1_1_2.xml │ ├── Maven__org_javatuples_javatuples_1_2.xml │ ├── Maven__org_jgrapht_jgrapht_core_1_5_1.xml │ ├── Maven__org_jgrapht_jgrapht_io_1_5_1.xml │ ├── Maven__org_jheaps_jheaps_0_13.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml │ ├── Maven__org_junit_platform_junit_platform_commons_1_8_2.xml │ ├── Maven__org_junit_platform_junit_platform_engine_1_8_2.xml │ ├── Maven__org_openjdk_jmh_jmh_core_1_32.xml │ ├── Maven__org_openjdk_jmh_jmh_generator_annprocess_1_32.xml │ ├── Maven__org_opentest4j_opentest4j_1_2_0.xml │ ├── Maven__org_ow2_asm_asm_9_1.xml │ ├── Maven__org_ow2_asm_asm_analysis_4_1.xml │ ├── Maven__org_ow2_asm_asm_commons_9_2.xml │ ├── Maven__org_ow2_asm_asm_tree_9_2.xml │ ├── Maven__org_ow2_asm_asm_util_9_2.xml │ ├── Maven__org_tomlj_tomlj_1_0_0.xml │ └── Maven__org_xerial_sqlite_jdbc_3_36_0_3.xml ├── misc.xml ├── modules.xml ├── runConfigurations │ ├── Run.xml │ ├── Test_Suite.xml │ └── _template__of_Application.xml ├── saveactions_settings.xml ├── statistic.xml ├── uiDesigner.xml └── vcs.xml ├── AUTHORS.md ├── CODE_OF_CONDUCT.md ├── LICENSE ├── Readme.md ├── grammar.md ├── imp ├── imp.bat ├── imp.iml ├── pom.xml ├── sample ├── example.imp ├── imp.toml ├── lib │ ├── date.imp │ ├── external.imp │ ├── nested.imp │ ├── person.imp │ └── trees.imp ├── main.imp ├── neighbor.imp └── shared.imp ├── src ├── META-INF │ └── MANIFEST.MF ├── java │ └── org │ │ └── imp │ │ ├── jvm │ │ ├── BytecodeGenerator.java │ │ ├── Constants.java │ │ ├── TestFile.java │ │ ├── Util.java │ │ ├── domain │ │ │ ├── Environment.java │ │ │ ├── Mutability.java │ │ │ └── SourceFile.java │ │ ├── errors │ │ │ └── Comptime.java │ │ ├── parser │ │ │ ├── Expr.java │ │ │ ├── InfixParselet.java │ │ │ ├── Node.java │ │ │ ├── Parser.java │ │ │ ├── ParserBase.java │ │ │ ├── ParserMain.java │ │ │ ├── Precedence.java │ │ │ ├── PrefixParselet.java │ │ │ ├── ReservedWords.java │ │ │ ├── Stmt.java │ │ │ └── tokenizer │ │ │ │ ├── Location.java │ │ │ │ ├── Token.java │ │ │ │ ├── TokenType.java │ │ │ │ ├── Tokenizer.java │ │ │ │ └── TokenizerMain.java │ │ ├── tool │ │ │ ├── Compiler.java │ │ │ ├── Glue.java │ │ │ ├── Timer.java │ │ │ ├── cli │ │ │ │ ├── BuildCommand.java │ │ │ │ └── CLI.java │ │ │ └── manifest │ │ │ │ └── Manifest.java │ │ ├── types │ │ │ ├── BuiltInType.java │ │ │ ├── ExternalType.java │ │ │ ├── FuncType.java │ │ │ ├── GenericType.java │ │ │ ├── ImpType.java │ │ │ ├── ListType.java │ │ │ ├── MonomorphizedStruct.java │ │ │ ├── StructType.java │ │ │ ├── TypeResolver.java │ │ │ ├── TypeSpecificOpcodes.java │ │ │ ├── UnionType.java │ │ │ └── UnknownType.java │ │ └── visitors │ │ │ ├── BinaryExprVisitor.java │ │ │ ├── CodegenVisitor.java │ │ │ ├── EnvironmentVisitor.java │ │ │ ├── IVisitor.java │ │ │ ├── PrettyPrinterVisitor.java │ │ │ └── TypeCheckVisitor.java │ │ └── runtime │ │ ├── Batteries.java │ │ ├── ListWrapper.java │ │ └── MathLib.java └── test │ └── org │ └── imp │ └── test │ ├── BaseTest.java │ ├── ErrorTest.java │ ├── ModulesTest.java │ ├── RosettaCodeTest.java │ ├── SimpleConstructsTest.java │ └── SimpleTypesTest.java └── verification ├── errors ├── matchCoverage.imp ├── mutabilityError.imp ├── parameterTypeMismatch.imp ├── unreachable.imp └── voidUsage.imp ├── imp.toml ├── modules ├── lib │ ├── external.imp │ └── nested.imp ├── main.imp ├── neighbor.imp └── shared.imp ├── rosetta ├── binaryTree.imp ├── factorial.imp ├── fibonacci.imp └── rosettaTemperatureConversion.imp ├── simple ├── Arithmetic.imp ├── Arithmetic.txt ├── assignment.imp ├── empty.imp ├── emptyWithComment.imp ├── for.imp ├── for.txt ├── function.imp ├── generics.imp ├── helloWorld.imp ├── ifElseLogical.imp ├── match.imp ├── match.txt ├── postfix.imp ├── relational.imp ├── relational.txt ├── structAccess.imp ├── structInit.imp ├── unions.imp └── unions.txt └── stdlib ├── MathLibTest.imp ├── lists.imp └── lists.txt /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/maven.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.github/workflows/maven.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/artifacts/imp_build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/artifacts/imp_build.xml -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/codeStyles/codeStyleConfig.xml -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/compiler.xml -------------------------------------------------------------------------------- /.idea/dataSources.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/dataSources.xml -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/jarRepositories.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_diogonunes_JColor_5_2_0.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__com_diogonunes_JColor_5_2_0.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_1.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_13_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_13_1.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_13_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_13_1.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_toml_2_13_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_toml_2_13_1.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_io_commons_io_2_5.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__commons_io_commons_io_2_5.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__info_picocli_picocli_4_6_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__info_picocli_picocli_4_6_1.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_java_dev_jna_jna_5_8_0.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__net_java_dev_jna_jna_5_8_0.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_java_dev_jna_jna_platform_5_8_0.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__net_java_dev_jna_jna_platform_5_8_0.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_sf_jopt_simple_jopt_simple_4_6.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__net_sf_jopt_simple_jopt_simple_4_6.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_antlr_antlr4_runtime_4_7_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_7_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_collections4_4_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_1.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_math3_3_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_apache_commons_commons_math3_3_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_text_1_8.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_apache_commons_commons_text_1_8.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_javatuples_javatuples_1_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_javatuples_javatuples_1_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jgrapht_jgrapht_core_1_5_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_jgrapht_jgrapht_core_1_5_1.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jgrapht_jgrapht_io_1_5_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_jgrapht_jgrapht_io_1_5_1.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jheaps_jheaps_0_13.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_jheaps_jheaps_0_13.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_8_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_8_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_8_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_8_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_openjdk_jmh_jmh_core_1_32.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_openjdk_jmh_jmh_core_1_32.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_openjdk_jmh_jmh_generator_annprocess_1_32.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_openjdk_jmh_jmh_generator_annprocess_1_32.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_ow2_asm_asm_analysis_4_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_ow2_asm_asm_analysis_4_1.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_ow2_asm_asm_commons_9_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_ow2_asm_asm_commons_9_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_ow2_asm_asm_tree_9_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_ow2_asm_asm_tree_9_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_ow2_asm_asm_util_9_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_ow2_asm_asm_util_9_2.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_tomlj_tomlj_1_0_0.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_tomlj_tomlj_1_0_0.xml -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_xerial_sqlite_jdbc_3_36_0_3.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/libraries/Maven__org_xerial_sqlite_jdbc_3_36_0_3.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/runConfigurations/Run.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/runConfigurations/Run.xml -------------------------------------------------------------------------------- /.idea/runConfigurations/Test_Suite.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/runConfigurations/Test_Suite.xml -------------------------------------------------------------------------------- /.idea/runConfigurations/_template__of_Application.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/runConfigurations/_template__of_Application.xml -------------------------------------------------------------------------------- /.idea/saveactions_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/saveactions_settings.xml -------------------------------------------------------------------------------- /.idea/statistic.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/statistic.xml -------------------------------------------------------------------------------- /.idea/uiDesigner.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/uiDesigner.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /AUTHORS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/AUTHORS.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/LICENSE -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/Readme.md -------------------------------------------------------------------------------- /grammar.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/grammar.md -------------------------------------------------------------------------------- /imp: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | java --enable-preview -jar target/imp-0.1.jar "$@" -------------------------------------------------------------------------------- /imp.bat: -------------------------------------------------------------------------------- 1 | @echo OFF 2 | java --enable-preview -jar target/imp-0.1.jar %* -------------------------------------------------------------------------------- /imp.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/imp.iml -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/pom.xml -------------------------------------------------------------------------------- /sample/example.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/sample/example.imp -------------------------------------------------------------------------------- /sample/imp.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/sample/imp.toml -------------------------------------------------------------------------------- /sample/lib/date.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/sample/lib/date.imp -------------------------------------------------------------------------------- /sample/lib/external.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/sample/lib/external.imp -------------------------------------------------------------------------------- /sample/lib/nested.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/sample/lib/nested.imp -------------------------------------------------------------------------------- /sample/lib/person.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/sample/lib/person.imp -------------------------------------------------------------------------------- /sample/lib/trees.imp: -------------------------------------------------------------------------------- 1 | struct Empty {} -------------------------------------------------------------------------------- /sample/main.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/sample/main.imp -------------------------------------------------------------------------------- /sample/neighbor.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/sample/neighbor.imp -------------------------------------------------------------------------------- /sample/shared.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/sample/shared.imp -------------------------------------------------------------------------------- /src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Main-Class: org.imp.jvm.tool.cli.CLI 3 | 4 | -------------------------------------------------------------------------------- /src/java/org/imp/jvm/BytecodeGenerator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/BytecodeGenerator.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/Constants.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/Constants.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/TestFile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/TestFile.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/Util.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/Util.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/domain/Environment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/domain/Environment.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/domain/Mutability.java: -------------------------------------------------------------------------------- 1 | package org.imp.jvm.domain; 2 | 3 | public enum Mutability { 4 | Val, 5 | Mut 6 | } 7 | -------------------------------------------------------------------------------- /src/java/org/imp/jvm/domain/SourceFile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/domain/SourceFile.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/errors/Comptime.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/errors/Comptime.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/Expr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/Expr.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/InfixParselet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/InfixParselet.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/Node.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/Parser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/Parser.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/ParserBase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/ParserBase.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/ParserMain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/ParserMain.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/Precedence.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/Precedence.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/PrefixParselet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/PrefixParselet.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/ReservedWords.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/ReservedWords.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/Stmt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/Stmt.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/tokenizer/Location.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/tokenizer/Location.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/tokenizer/Token.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/tokenizer/Token.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/tokenizer/TokenType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/tokenizer/TokenType.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/tokenizer/Tokenizer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/tokenizer/Tokenizer.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/parser/tokenizer/TokenizerMain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/parser/tokenizer/TokenizerMain.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/tool/Compiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/tool/Compiler.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/tool/Glue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/tool/Glue.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/tool/Timer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/tool/Timer.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/tool/cli/BuildCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/tool/cli/BuildCommand.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/tool/cli/CLI.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/tool/cli/CLI.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/tool/manifest/Manifest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/tool/manifest/Manifest.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/BuiltInType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/BuiltInType.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/ExternalType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/ExternalType.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/FuncType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/FuncType.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/GenericType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/GenericType.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/ImpType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/ImpType.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/ListType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/ListType.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/MonomorphizedStruct.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/MonomorphizedStruct.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/StructType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/StructType.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/TypeResolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/TypeResolver.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/TypeSpecificOpcodes.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/TypeSpecificOpcodes.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/UnionType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/UnionType.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/types/UnknownType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/types/UnknownType.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/visitors/BinaryExprVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/visitors/BinaryExprVisitor.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/visitors/CodegenVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/visitors/CodegenVisitor.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/visitors/EnvironmentVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/visitors/EnvironmentVisitor.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/visitors/IVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/visitors/IVisitor.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/visitors/PrettyPrinterVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/visitors/PrettyPrinterVisitor.java -------------------------------------------------------------------------------- /src/java/org/imp/jvm/visitors/TypeCheckVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/jvm/visitors/TypeCheckVisitor.java -------------------------------------------------------------------------------- /src/java/org/imp/runtime/Batteries.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/runtime/Batteries.java -------------------------------------------------------------------------------- /src/java/org/imp/runtime/ListWrapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/runtime/ListWrapper.java -------------------------------------------------------------------------------- /src/java/org/imp/runtime/MathLib.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/java/org/imp/runtime/MathLib.java -------------------------------------------------------------------------------- /src/test/org/imp/test/BaseTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/test/org/imp/test/BaseTest.java -------------------------------------------------------------------------------- /src/test/org/imp/test/ErrorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/test/org/imp/test/ErrorTest.java -------------------------------------------------------------------------------- /src/test/org/imp/test/ModulesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/test/org/imp/test/ModulesTest.java -------------------------------------------------------------------------------- /src/test/org/imp/test/RosettaCodeTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/test/org/imp/test/RosettaCodeTest.java -------------------------------------------------------------------------------- /src/test/org/imp/test/SimpleConstructsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/test/org/imp/test/SimpleConstructsTest.java -------------------------------------------------------------------------------- /src/test/org/imp/test/SimpleTypesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/src/test/org/imp/test/SimpleTypesTest.java -------------------------------------------------------------------------------- /verification/errors/matchCoverage.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/errors/matchCoverage.imp -------------------------------------------------------------------------------- /verification/errors/mutabilityError.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/errors/mutabilityError.imp -------------------------------------------------------------------------------- /verification/errors/parameterTypeMismatch.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/errors/parameterTypeMismatch.imp -------------------------------------------------------------------------------- /verification/errors/unreachable.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/errors/unreachable.imp -------------------------------------------------------------------------------- /verification/errors/voidUsage.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/errors/voidUsage.imp -------------------------------------------------------------------------------- /verification/imp.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/imp.toml -------------------------------------------------------------------------------- /verification/modules/lib/external.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/modules/lib/external.imp -------------------------------------------------------------------------------- /verification/modules/lib/nested.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/modules/lib/nested.imp -------------------------------------------------------------------------------- /verification/modules/main.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/modules/main.imp -------------------------------------------------------------------------------- /verification/modules/neighbor.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/modules/neighbor.imp -------------------------------------------------------------------------------- /verification/modules/shared.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/modules/shared.imp -------------------------------------------------------------------------------- /verification/rosetta/binaryTree.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/rosetta/binaryTree.imp -------------------------------------------------------------------------------- /verification/rosetta/factorial.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/rosetta/factorial.imp -------------------------------------------------------------------------------- /verification/rosetta/fibonacci.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/rosetta/fibonacci.imp -------------------------------------------------------------------------------- /verification/rosetta/rosettaTemperatureConversion.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/rosetta/rosettaTemperatureConversion.imp -------------------------------------------------------------------------------- /verification/simple/Arithmetic.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/Arithmetic.imp -------------------------------------------------------------------------------- /verification/simple/Arithmetic.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/Arithmetic.txt -------------------------------------------------------------------------------- /verification/simple/assignment.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/assignment.imp -------------------------------------------------------------------------------- /verification/simple/empty.imp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /verification/simple/emptyWithComment.imp: -------------------------------------------------------------------------------- 1 | // An empty file, no output expected. -------------------------------------------------------------------------------- /verification/simple/for.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/for.imp -------------------------------------------------------------------------------- /verification/simple/for.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/for.txt -------------------------------------------------------------------------------- /verification/simple/function.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/function.imp -------------------------------------------------------------------------------- /verification/simple/generics.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/generics.imp -------------------------------------------------------------------------------- /verification/simple/helloWorld.imp: -------------------------------------------------------------------------------- 1 | 2 | log("Hello, World!") 3 | -------------------------------------------------------------------------------- /verification/simple/ifElseLogical.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/ifElseLogical.imp -------------------------------------------------------------------------------- /verification/simple/match.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/match.imp -------------------------------------------------------------------------------- /verification/simple/match.txt: -------------------------------------------------------------------------------- 1 | 4 2 | int 3 | s 4 | string 5 | [4, 3, 2, 1] 6 | int[] 7 | -------------------------------------------------------------------------------- /verification/simple/postfix.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/postfix.imp -------------------------------------------------------------------------------- /verification/simple/relational.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/relational.imp -------------------------------------------------------------------------------- /verification/simple/relational.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/relational.txt -------------------------------------------------------------------------------- /verification/simple/structAccess.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/structAccess.imp -------------------------------------------------------------------------------- /verification/simple/structInit.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/structInit.imp -------------------------------------------------------------------------------- /verification/simple/unions.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/unions.imp -------------------------------------------------------------------------------- /verification/simple/unions.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/simple/unions.txt -------------------------------------------------------------------------------- /verification/stdlib/MathLibTest.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/stdlib/MathLibTest.imp -------------------------------------------------------------------------------- /verification/stdlib/lists.imp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/stdlib/lists.imp -------------------------------------------------------------------------------- /verification/stdlib/lists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imp-language/imp/HEAD/verification/stdlib/lists.txt --------------------------------------------------------------------------------