The AST Interpreter component of Gallium (i.e. does not include any breakpoint, stuff, etc.). This is a development prototype and comes with it's own debug prompt for that purpose.
Usage:
using ASTInterpreter
function foo(n)
x = n+1
((BigInt[1 1; 1 0])^x)[2,1]
end
interp = enter(foo, Environment(Dict(:n => 20),Dict{Symbol,Any}()))
ASTInterpreter.RunDebugREPL(interp)
Basic Commands:
nsteps to the next linessteps into the next callfinishruns to the end of the functionbtshows a simple backtrace`stuffrunsstuffin the current frame's contextfr vwill show all variables in the current framef nwherenis an integer, will go to then-th frame.
Advanced commands:
ncsteps to the next callnssteps to the next statementsedoes one expression stepsidoes the same but steps into a call if a call is the next expressionsgsteps into a generated functionshadowshows the internal representation of the expression tree (for debugger debugging only)locshows the column data for the current top frame, in the same format as JuliaParsers's testshell.
This is a prototype, do not expect it to be correct or usable.
There is an experimental UI mode accessible by setting ASTInterpreter.fancy_mode = true, which attempts to provide a better interface but is not currently not capable of handling all julia code. Use at your own peril.
Pkg.clone("https://github.com/JuliaLang/Reactive.jl.git")
Pkg.clone("https://github.com/JuliaLang/JuliaParser.jl.git")
Pkg.clone("https://github.com/Keno/TerminalUI.jl.git")
Pkg.clone("https://github.com/Keno/VT100.jl.git")
Pkg.clone("https://github.com/Keno/AbstractTrees.jl.git")
Pkg.clone("https://github.com/Keno/LineNumbers.jl.git")
Pkg.clone("https://github.com/Keno/ASTInterpreter.jl.git")