├── .github ├── CODEOWNERS └── workflows │ └── scala.yml ├── .gitignore ├── README.md ├── example ├── draw_rectangle.nk └── hello.nk ├── project ├── build.properties └── plugins.sbt ├── release.sbt ├── src ├── main │ └── scala │ │ └── com │ │ └── github │ │ ├── kmizu │ │ └── scomb │ │ │ ├── Location.scala │ │ │ ├── Result.scala │ │ │ └── SCombinator.scala │ │ └── nuko │ │ ├── ASTVisualizer.scala │ │ ├── Ast.scala │ │ ├── ConstructorSeachResult.scala │ │ ├── DataConstructor.scala │ │ ├── Evaluator.scala │ │ ├── FormalParameter.scala │ │ ├── FormalParameterOptional.scala │ │ ├── InteractiveSession.scala │ │ ├── LanguageException.scala │ │ ├── Location.scala │ │ ├── Main.scala │ │ ├── MethodSearchResult.scala │ │ ├── ModuleEnvironment.scala │ │ ├── NukoInterpreter.scala │ │ ├── NukoParser.scala │ │ ├── Operator.scala │ │ ├── PlaceholderDesugerer.scala │ │ ├── Processor.scala │ │ ├── RecordEnvironment.scala │ │ ├── RuntimeEnvironment.scala │ │ ├── SyntaxRewriter.scala │ │ ├── Type.scala │ │ ├── TypeEnvironment.scala │ │ ├── TypedAst.scala │ │ ├── Typer.scala │ │ ├── Value.scala │ │ ├── Visualizer.scala │ │ └── package.scala └── test │ ├── resources │ └── hello.txt │ └── scala │ └── com │ └── github │ ├── kmizu │ └── scomb │ │ ├── CalculatorSpec.scala │ │ ├── JsonSpec.scala │ │ ├── PrimitiveSpec.scala │ │ └── RegularExpressionSpec.scala │ └── nuko │ ├── BinaryExpressionSpec.scala │ ├── BuiltinFunctionSpec.scala │ ├── CommentSpec.scala │ ├── DictionarySpec.scala │ ├── ExpressionSpec.scala │ ├── FileBasedProgramSpec.scala │ ├── FunctionSpec.scala │ ├── JapaneseVariableSpec.scala │ ├── ListLiteralSpec.scala │ ├── ListSpec.scala │ ├── LiteralSpec.scala │ ├── PlaceholderSpec.scala │ ├── RealSpec.scala │ ├── SetSpec.scala │ ├── SpecHelper.scala │ ├── TestSuiteHelper.scala │ ├── ToDoSpec.scala │ └── TypeCheckerSpec.scala ├── test-programs ├── block-comment.nk ├── block-def-fact.nk ├── block_fold_left.nk ├── boolean-literal.nk ├── builtin_functions-interop.nk ├── builtin_functions-list.nk ├── builtin_functions-thread.nk ├── builtin_functions.nk ├── dictionary-literal.nk ├── file_io.nk ├── function-params-evaluation-count.nk ├── function_application.nk ├── functions-simple.nk ├── line-comment.nk ├── list-literal.nk ├── mutable.nk ├── numeric-literals.nk ├── object.nk ├── record.nk ├── set-literal.nk ├── string-interpolation.nk ├── sum.nk ├── ternary-expression.nk ├── type-cast.nk └── web_read.nk └── version.sbt /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @kmizu 2 | -------------------------------------------------------------------------------- /.github/workflows/scala.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/.github/workflows/scala.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/README.md -------------------------------------------------------------------------------- /example/draw_rectangle.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/example/draw_rectangle.nk -------------------------------------------------------------------------------- /example/hello.nk: -------------------------------------------------------------------------------- 1 | 表示("こんにちは") -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.10.1 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /release.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/release.sbt -------------------------------------------------------------------------------- /src/main/scala/com/github/kmizu/scomb/Location.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/kmizu/scomb/Location.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/kmizu/scomb/Result.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/kmizu/scomb/Result.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/kmizu/scomb/SCombinator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/kmizu/scomb/SCombinator.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/ASTVisualizer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/ASTVisualizer.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/Ast.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/Ast.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/ConstructorSeachResult.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/ConstructorSeachResult.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/DataConstructor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/DataConstructor.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/Evaluator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/Evaluator.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/FormalParameter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/FormalParameter.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/FormalParameterOptional.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/FormalParameterOptional.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/InteractiveSession.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/InteractiveSession.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/LanguageException.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/LanguageException.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/Location.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/Location.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/Main.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/Main.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/MethodSearchResult.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/MethodSearchResult.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/ModuleEnvironment.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/ModuleEnvironment.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/NukoInterpreter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/NukoInterpreter.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/NukoParser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/NukoParser.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/Operator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/Operator.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/PlaceholderDesugerer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/PlaceholderDesugerer.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/Processor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/Processor.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/RecordEnvironment.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/RecordEnvironment.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/RuntimeEnvironment.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/RuntimeEnvironment.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/SyntaxRewriter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/SyntaxRewriter.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/Type.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/Type.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/TypeEnvironment.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/TypeEnvironment.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/TypedAst.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/TypedAst.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/Typer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/Typer.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/Value.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/Value.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/Visualizer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/Visualizer.scala -------------------------------------------------------------------------------- /src/main/scala/com/github/nuko/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/main/scala/com/github/nuko/package.scala -------------------------------------------------------------------------------- /src/test/resources/hello.txt: -------------------------------------------------------------------------------- 1 | こんにちは -------------------------------------------------------------------------------- /src/test/scala/com/github/kmizu/scomb/CalculatorSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/kmizu/scomb/CalculatorSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/kmizu/scomb/JsonSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/kmizu/scomb/JsonSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/kmizu/scomb/PrimitiveSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/kmizu/scomb/PrimitiveSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/kmizu/scomb/RegularExpressionSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/kmizu/scomb/RegularExpressionSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/BinaryExpressionSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/BinaryExpressionSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/BuiltinFunctionSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/BuiltinFunctionSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/CommentSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/CommentSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/DictionarySpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/DictionarySpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/ExpressionSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/ExpressionSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/FileBasedProgramSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/FileBasedProgramSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/FunctionSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/FunctionSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/JapaneseVariableSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/JapaneseVariableSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/ListLiteralSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/ListLiteralSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/ListSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/ListSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/LiteralSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/LiteralSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/PlaceholderSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/PlaceholderSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/RealSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/RealSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/SetSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/SetSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/SpecHelper.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/SpecHelper.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/TestSuiteHelper.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/TestSuiteHelper.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/ToDoSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/ToDoSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/github/nuko/TypeCheckerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/src/test/scala/com/github/nuko/TypeCheckerSpec.scala -------------------------------------------------------------------------------- /test-programs/block-comment.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/block-comment.nk -------------------------------------------------------------------------------- /test-programs/block-def-fact.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/block-def-fact.nk -------------------------------------------------------------------------------- /test-programs/block_fold_left.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/block_fold_left.nk -------------------------------------------------------------------------------- /test-programs/boolean-literal.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/boolean-literal.nk -------------------------------------------------------------------------------- /test-programs/builtin_functions-interop.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/builtin_functions-interop.nk -------------------------------------------------------------------------------- /test-programs/builtin_functions-list.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/builtin_functions-list.nk -------------------------------------------------------------------------------- /test-programs/builtin_functions-thread.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/builtin_functions-thread.nk -------------------------------------------------------------------------------- /test-programs/builtin_functions.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/builtin_functions.nk -------------------------------------------------------------------------------- /test-programs/dictionary-literal.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/dictionary-literal.nk -------------------------------------------------------------------------------- /test-programs/file_io.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/file_io.nk -------------------------------------------------------------------------------- /test-programs/function-params-evaluation-count.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/function-params-evaluation-count.nk -------------------------------------------------------------------------------- /test-programs/function_application.nk: -------------------------------------------------------------------------------- 1 | 一致を確認( 2 | 1 3 | )(1) -------------------------------------------------------------------------------- /test-programs/functions-simple.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/functions-simple.nk -------------------------------------------------------------------------------- /test-programs/line-comment.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/line-comment.nk -------------------------------------------------------------------------------- /test-programs/list-literal.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/list-literal.nk -------------------------------------------------------------------------------- /test-programs/mutable.nk: -------------------------------------------------------------------------------- 1 | 変数 i は 1 2 | i ← i + 1 // OK 3 | 4 | 一致を確認(2)(i) 5 | -------------------------------------------------------------------------------- /test-programs/numeric-literals.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/numeric-literals.nk -------------------------------------------------------------------------------- /test-programs/object.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/object.nk -------------------------------------------------------------------------------- /test-programs/record.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/record.nk -------------------------------------------------------------------------------- /test-programs/set-literal.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/set-literal.nk -------------------------------------------------------------------------------- /test-programs/string-interpolation.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/string-interpolation.nk -------------------------------------------------------------------------------- /test-programs/sum.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/sum.nk -------------------------------------------------------------------------------- /test-programs/ternary-expression.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/ternary-expression.nk -------------------------------------------------------------------------------- /test-programs/type-cast.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/type-cast.nk -------------------------------------------------------------------------------- /test-programs/web_read.nk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kmizu/nuko/HEAD/test-programs/web_read.nk -------------------------------------------------------------------------------- /version.sbt: -------------------------------------------------------------------------------- 1 | ThisBuild / version := "0.0.1-SNAPSHOT" 2 | --------------------------------------------------------------------------------