mirror of
https://github.com/flynx/Slang.git
synced 2025-10-29 02:30:08 +00:00
reworking lexer (not enabled yet) + scroll to bottom on exec...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
53b91ecf20
commit
2fc89940c9
@ -143,6 +143,8 @@ function runCommand(){
|
||||
next.setAttribute('contenteditable', true)
|
||||
console.appendChild(next)
|
||||
next.focus()
|
||||
|
||||
window.scrollTo(0,document.body.scrollHeight)
|
||||
}
|
||||
|
||||
NAMESPACE.print = function(context){
|
||||
|
||||
@ -61,11 +61,48 @@ function run(context){
|
||||
}
|
||||
|
||||
// XXX make this add '\n' / EOL words to the stream...
|
||||
var SPLITTER = /\s*\([^\)]*\)\s*|\s*--.*[\n$]|\s*"([^"]*)"\s*|\s*'([^']*)'\s*|\s+/m
|
||||
//var SPLITTER = /\s*\([^\)]*\)\s*|\s*--.*[\n$]|\s*"([^"]*)"\s*|\s*'([^']*)'\s*|\s+/m
|
||||
var SPLITTER = RegExp([
|
||||
// terms to keep in the stream...
|
||||
/*'('+[
|
||||
'\\n',
|
||||
'--',
|
||||
].join('|')+')',*/
|
||||
|
||||
// comments...
|
||||
'\\s*\\([^\\)]*\\)\\s*',
|
||||
'\\s*--.*[\\n$]',
|
||||
|
||||
// quoted strings...
|
||||
'\\s*"([^"]*)"\\s*',
|
||||
"\\s*'([^']*)'\\s*",
|
||||
|
||||
// whitespace...
|
||||
'\\s+',
|
||||
].join('|'),
|
||||
'm')
|
||||
|
||||
|
||||
// pre-processor namespace...
|
||||
var PRE_NAMESPACE = {
|
||||
// comment...
|
||||
// syntax: -- ... \n
|
||||
//
|
||||
// drop everything until '\n'
|
||||
//
|
||||
// NOTE: this depends on explicit '\n' words...
|
||||
'--': function(context){
|
||||
var res = ['--']
|
||||
var code = context.code
|
||||
var cur = code.splice(0, 1)[0]
|
||||
res.push(cur)
|
||||
while(cur != '\n' && code.length > 0){
|
||||
cur = code.splice(0, 1)[0]
|
||||
res.push(cur)
|
||||
}
|
||||
console.log(res.join(' '))
|
||||
},
|
||||
|
||||
// XXX use the real reader...
|
||||
// block...
|
||||
// syntax: [ ... ]
|
||||
@ -98,19 +135,10 @@ var PRE_NAMESPACE = {
|
||||
this[ident] = cur[0]
|
||||
},
|
||||
|
||||
// comment...
|
||||
// drop everything until '\n'
|
||||
//
|
||||
// NOTE: this depends on explicit '\n' words...
|
||||
'--': function(context){
|
||||
var code = context.code
|
||||
var cur = code.splice(0, 1)[0]
|
||||
while(cur != '\n' && code.length > 0){
|
||||
cur = code.splice(0, 1)[0]
|
||||
}
|
||||
},
|
||||
// a no op...
|
||||
'\n': function(){},
|
||||
'\n': function(){
|
||||
console.log('NL')
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user