'#!r6rs' Comment '\n\n' Text.Whitespace '#|' Comment.Multiline '\n\n The FACT procedure computes the factorial\n\n of a non-negative integer.\n\n ' Comment.Multiline '#|' Comment.Multiline ' These comments can be nested too. ' Comment.Multiline '|#' Comment.Multiline '\n\n' Comment.Multiline '|#' Comment.Multiline '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'fact' Name.Variable '\n\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'n' Name.Function ')' Punctuation '\n\n ' Text.Whitespace ';; base case' Comment.Single '\n\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation '=' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n\n ' Text.Whitespace '#;(' Comment '= n 1' Comment ')' Comment '\n ' Text.Whitespace '#;(' Comment '= n ' Comment '[' Comment '1+ ' Comment '(' Comment "eval '" Comment '(' Comment 'n' Comment ')' Comment ')' Comment ']' Comment ')' Comment '1' Literal.Number.Integer '\n ' Text.Whitespace '#;[' Comment '= n ' Comment '(' Comment '1+ ' Comment '[' Comment "eval '" Comment '[' Comment 'n' Comment ']' Comment ']' Comment ')' Comment ']' Comment ';; another comment' Comment.Single '\n ' Text.Whitespace '#;' Comment '1' Comment '\n ' Text.Whitespace '; identity of *' Comment.Single '\n\n ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ' ' Text.Whitespace '(' Punctuation 'fact' Name.Function ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n' Text.Whitespace