several bug fixes...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2013-07-23 00:37:17 +04:00
parent a08c14a591
commit a3d1705bc4
2 changed files with 29 additions and 12 deletions

View File

@ -8,11 +8,6 @@
display: block;
}
.error {
color: red;
font-style: italic;
}
.command {
padding-left: 5px;
padding-right: 5px;
@ -37,15 +32,23 @@
opacity: 0.2;
}
.error {
color: red;
font-style: italic;
}
.output {
font-weight: bold;
}
.error:before,
.output:before {
content: ">";
color: blue;
color: red;
font-weight: bold;
margin: 5px;
}
.output:before {
color: blue;
}
#stack {
@ -105,8 +108,20 @@ NAMESPACE.print = function(context){
c.appendChild(data)
}
// XXX should this break exec?
NAMESPACE.err = function(context){
throw context.stack[context.stack.length-1]
var c = document.getElementById('console')
var e = context.stack[context.stack.length-1]
console.error('>>>', e)
var err = document.createElement('div')
err.classList.add('error')
if(e.message != null){
err.innerText = e.message
} else {
err.innerText = e
}
c.appendChild(err)
}

View File

@ -159,9 +159,12 @@ var NAMESPACE = {
if(typeof(code) == typeof('abc')){
// XXX BUG: '"aaa" "bbb"' translates to ['"aaa"', '" "', '"bbb"']
// i.e. quotes w/o whitespace are eaten...
if(/^(['"]).*\1$/m.test(code)){
code = code.split(/^(['"])(.*)\1$/m)[2]
if(/^\s*(['"]).*\1\s*$/m.test(code)){
code = code.split(/^\s*(['"])(.*)\1\s*$/m)[2]
}
console.log(code)
var res = []
code = code
// split by strings whitespace and block comments...
@ -546,10 +549,9 @@ function slang(code, context){
context = context == null ? CONTEXT : context
if(typeof(code) == typeof('abc')){
//code = [ '"'+code+'"', 'lex', 'prep', 'exec' ]
code = [ code, 'lex', 'prep', 'exec' ]
code = [ '\\', code, 'lex', 'prep', 'exec' ]
} else {
code = [ [code], 'b2s', 'prep', 'exec' ]
code = [ code, 'prep', 'exec' ]
}
context.code = code