Project structure of: ShorterThanDijkstra/Kacket
Kacket
Comprehensive source code collection
README.md
Analyzes Racket/Scheme code using Kotlin
src
Source code repository
main
Main source directory
kotlin
Kotlin classes, functions, error handling
CMD.kt
CMD class with pcc and eopl Boolean variables, parse function for options.
com
github
std
kacket
Kacket: Kotlin interpreter for Scheme scripts.
analysis
Analyze and extend environments with Kacket expressions.
expr
Kacket language extensions through Kotlin expression library
parse
Kotlin parsing tools with error handling.
Bool.kt
Boolean Kacket parser token class with line, column info
Character.kt
Represents character token with line, column, and value. Extends Token class.
EOF.kt
EOF token class with line, column, and string representation.
exten
Exten package: Kotlin extensions for parsing extended regex in specific contexts.
Identifier.kt
Identifier class for program identifiers with position tracking
Lexer.kt
Kacket Lexer for input parsing
LexError.kt
Custom error class for Kacket parsing.
Num.kt
Num class: Number token with line, column numbers and custom toString.
ParseError.kt
Custom exception class for syntax errors with location info
Parser.kt
Kacket language parser: syntax, functions, parentheses, let-expressions.
Punctuation.kt
Punctuation class for parentheses with line, column.
Symbol.kt
Symbol class: Kacket parser's symbol token representation.
Text.kt
Text class: Token representation with line, column, and value.
Token.kt
Token class with line/column functions
transpiler
scheme-js.js
Transpiles Scheme to JavaScript with nested functions, loops, and recursion.
Main.kt
Kotlin code with functions, imports, parsing, and error handling
resources
Project resources
test
kotlin
com
github
std
kacket
Kacket parser tests for Lisp-like features.
analysis
parse
Kacket parse tests for lexer and parser.
TODO.md
TODO: Lambda case, dynamic arg proc, block comment.