mirror of
https://github.com/seigler/rockstar-playground
synced 2025-07-26 09:16:09 +00:00
Tidy project
This commit is contained in:
parent
20b8d44de1
commit
abca4965a3
26 changed files with 2315 additions and 465 deletions
38
start.js
38
start.js
|
@ -1,26 +1,36 @@
|
|||
const trackNum = process.argv[2];
|
||||
if (!trackNum) { console.error('Usage: node start <daynumber>'); process.exit(1); }
|
||||
const trackNum = process.argv[2]
|
||||
if (!trackNum) { console.error('Usage: node start <daynumber>'); process.exit(1) }
|
||||
|
||||
const satriani = require('./rockstar/satriani/satriani.js');
|
||||
const fs = require('fs');
|
||||
const lineByLine = require('n-readlines');
|
||||
const satriani = require('./rockstar/satriani/satriani.js')
|
||||
const path = require('path')
|
||||
const fs = require('fs')
|
||||
const lineByLine = require('n-readlines')
|
||||
|
||||
const rockstar = new satriani.Interpreter();
|
||||
const program = fs.readFileSync(`lyrics/${trackNum}.rock`, {encoding:'utf8', flag:'r'});
|
||||
const inputByLine = new lineByLine(`inputs/${trackNum}.txt`, {encoding:'utf8', flag:'r'});
|
||||
const rockstar = new satriani.Interpreter()
|
||||
const source = path.normalize(
|
||||
`${
|
||||
fs.existsSync(path.normalize(`lyrics/${trackNum}.rock`))
|
||||
? 'lyrics'
|
||||
: 'contracts'
|
||||
}/${trackNum}.rock`)
|
||||
const program = fs.readFileSync(source, { encoding: 'utf8', flag: 'r' })
|
||||
const inputByLine = new lineByLine(
|
||||
path.normalize(`music/${trackNum}.txt`),
|
||||
{ encoding: 'utf8', flag: 'r' }
|
||||
)
|
||||
const getNextInputLineAscii = () => {
|
||||
const next = inputByLine.next();
|
||||
const next = inputByLine.next()
|
||||
if (next === false) {
|
||||
return null;
|
||||
return null
|
||||
} else {
|
||||
return next.toString('ascii');
|
||||
return next.toString('ascii')
|
||||
}
|
||||
}
|
||||
|
||||
const ast = rockstar.parse(program);
|
||||
const ast = rockstar.parse(program)
|
||||
// Draw the abstract syntax tree (AST) to the console as a JSON object
|
||||
//console.log(JSON.stringify(ast, null, 2))
|
||||
// console.log(JSON.stringify(ast, null, 2))
|
||||
|
||||
const output = console.log
|
||||
const result = rockstar.run(ast, getNextInputLineAscii, output)
|
||||
if (result) console.log(result);
|
||||
if (result) console.log(result)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue