1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 10:07:45 +03:00

optimization: conditionally remove some debugging code

This commit is contained in:
Keith Rollin 2015-03-29 00:55:16 -07:00
parent 132f9c9c42
commit 2c4b8bd1f8
7 changed files with 35 additions and 21 deletions

View File

@ -41,6 +41,7 @@ let INDENT_TEMPLATE = "|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|"
var indent = String()
let kSymbolDef = MalSymbol(symbol: "def!")
let kSymbolDo = MalSymbol(symbol: "do")
@ -121,13 +122,14 @@ func eval_ast(ast: MalVal, env: Environment) -> MalVal {
// forms and function calls.
//
func EVAL(var ast: MalVal, var env: Environment) -> MalVal {
var x = EVAL_Counter()
let x = EVAL_Counter()
if EVAL_level > EVAL_leval_max {
return MalError(message: "Recursing too many levels (> \(EVAL_leval_max))")
}
let indent = INDENT_TEMPLATE.substringToIndex(
advance(INDENT_TEMPLATE.startIndex, EVAL_level, INDENT_TEMPLATE.endIndex))
if DEBUG_EVAL {
indent = prefix(INDENT_TEMPLATE, EVAL_level)
}
while true {
if is_error(ast) { return ast }

View File

@ -41,6 +41,7 @@ let INDENT_TEMPLATE = "|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|"
var indent = String()
let kSymbolArgv = MalSymbol(symbol: "*ARGV*")
let kSymbolDef = MalSymbol(symbol: "def!")
@ -123,13 +124,14 @@ func eval_ast(ast: MalVal, env: Environment) -> MalVal {
// forms and function calls.
//
func EVAL(var ast: MalVal, var env: Environment) -> MalVal {
var x = EVAL_Counter()
let x = EVAL_Counter()
if EVAL_level > EVAL_leval_max {
return MalError(message: "Recursing too many levels (> \(EVAL_leval_max))")
}
let indent = INDENT_TEMPLATE.substringToIndex(
advance(INDENT_TEMPLATE.startIndex, EVAL_level, INDENT_TEMPLATE.endIndex))
if DEBUG_EVAL {
indent = prefix(INDENT_TEMPLATE, EVAL_level)
}
while true {
if is_error(ast) { return ast }

View File

@ -41,6 +41,7 @@ let INDENT_TEMPLATE = "|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|"
var indent = String()
let kSymbolArgv = MalSymbol(symbol: "*ARGV*")
let kSymbolConcat = MalSymbol(symbol: "concat")
@ -229,13 +230,14 @@ func eval_ast(ast: MalVal, env: Environment) -> MalVal {
// forms and function calls.
//
func EVAL(var ast: MalVal, var env: Environment) -> MalVal {
var x = EVAL_Counter()
let x = EVAL_Counter()
if EVAL_level > EVAL_leval_max {
return MalError(message: "Recursing too many levels (> \(EVAL_leval_max))")
}
let indent = INDENT_TEMPLATE.substringToIndex(
advance(INDENT_TEMPLATE.startIndex, EVAL_level, INDENT_TEMPLATE.endIndex))
if DEBUG_EVAL {
indent = prefix(INDENT_TEMPLATE, EVAL_level)
}
while true {
if is_error(ast) { return ast }

View File

@ -41,6 +41,7 @@ let INDENT_TEMPLATE = "|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|"
var indent = String()
let kSymbolArgv = MalSymbol(symbol: "*ARGV*")
let kSymbolConcat = MalSymbol(symbol: "concat")
@ -255,13 +256,14 @@ func eval_ast(ast: MalVal, env: Environment) -> MalVal {
// forms and function calls.
//
func EVAL(var ast: MalVal, var env: Environment) -> MalVal {
var x = EVAL_Counter()
let x = EVAL_Counter()
if EVAL_level > EVAL_leval_max {
return MalError(message: "Recursing too many levels (> \(EVAL_leval_max))")
}
let indent = INDENT_TEMPLATE.substringToIndex(
advance(INDENT_TEMPLATE.startIndex, EVAL_level, INDENT_TEMPLATE.endIndex))
if DEBUG_EVAL {
indent = prefix(INDENT_TEMPLATE, EVAL_level)
}
while true {
if is_error(ast) { return ast }

View File

@ -41,6 +41,7 @@ let INDENT_TEMPLATE = "|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|"
var indent = String()
let kSymbolArgv = MalSymbol(symbol: "*ARGV*")
let kSymbolCatch = MalSymbol(symbol: "catch*")
@ -257,13 +258,14 @@ func eval_ast(ast: MalVal, env: Environment) -> MalVal {
// forms and function calls.
//
func EVAL(var ast: MalVal, var env: Environment) -> MalVal {
var x = EVAL_Counter()
let x = EVAL_Counter()
if EVAL_level > EVAL_leval_max {
return MalError(message: "Recursing too many levels (> \(EVAL_leval_max))")
}
let indent = INDENT_TEMPLATE.substringToIndex(
advance(INDENT_TEMPLATE.startIndex, EVAL_level, INDENT_TEMPLATE.endIndex))
if DEBUG_EVAL {
indent = prefix(INDENT_TEMPLATE, EVAL_level)
}
while true {
if is_error(ast) { return ast }

View File

@ -41,6 +41,7 @@ let INDENT_TEMPLATE = "|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|"
var indent = String()
let kSymbolArgv = MalSymbol(symbol: "*ARGV*")
let kSymbolCatch = MalSymbol(symbol: "catch*")
@ -257,13 +258,14 @@ func eval_ast(ast: MalVal, env: Environment) -> MalVal {
// forms and function calls.
//
func EVAL(var ast: MalVal, var env: Environment) -> MalVal {
var x = EVAL_Counter()
let x = EVAL_Counter()
if EVAL_level > EVAL_leval_max {
return MalError(message: "Recursing too many levels (> \(EVAL_leval_max))")
}
let indent = INDENT_TEMPLATE.substringToIndex(
advance(INDENT_TEMPLATE.startIndex, EVAL_level, INDENT_TEMPLATE.endIndex))
if DEBUG_EVAL {
indent = prefix(INDENT_TEMPLATE, EVAL_level)
}
while true {
if is_error(ast) { return ast }

View File

@ -102,6 +102,7 @@ let INDENT_TEMPLATE = "|----|----|----|----|----|----|----|----|" +
"----|----|----|----|----|----|----|----|----|----|----|" + // malstep(5,6,7,8,9,A)
"----|----|----|----|----|----|----|----|----|----|----|" + // malstep(5,6,7,8,9,A)
"----|----|----|----|----|----|----|----|----|----|----|" // malstep(5,6,7,8,9,A)
var indent = String() // malstep(5,6,7,8,9,A)
// malstep(5,6,7,8,9,A)
let kSymbolArgv = MalSymbol(symbol: "*ARGV*") // malstep(6,7,8,9,A)
let kSymbolCatch = MalSymbol(symbol: "catch*") // malstep(9,A)
@ -340,13 +341,14 @@ func EVAL(ast: MalVal) -> MalVal {
return ast // malstep(1)
} // malstep(1)
func EVAL(var ast: MalVal, var env: Environment) -> MalVal { // malstep(2,3,4,5,6,7,8,9,A)
var x = EVAL_Counter() // malstep(5,6,7,8,9,A)
let x = EVAL_Counter() // malstep(5,6,7,8,9,A)
if EVAL_level > EVAL_leval_max { // malstep(5,6,7,8,9,A)
return MalError(message: "Recursing too many levels (> \(EVAL_leval_max))") // malstep(5,6,7,8,9,A)
} // malstep(5,6,7,8,9,A)
// malstep(5,6,7,8,9,A)
let indent = INDENT_TEMPLATE.substringToIndex( // malstep(5,6,7,8,9,A)
advance(INDENT_TEMPLATE.startIndex, EVAL_level, INDENT_TEMPLATE.endIndex)) // malstep(5,6,7,8,9,A)
if DEBUG_EVAL { // malstep(5,6,7,8,9,A)
indent = prefix(INDENT_TEMPLATE, EVAL_level) // malstep(5,6,7,8,9,A)
} // malstep(5,6,7,8,9,A)
// malstep(5,6,7,8,9,A)
while true { // malstep(5,6,7,8,9,A)
if is_error(ast) { return ast } // malstep(2,3,4,5,6,7,8,9,A)