SYMBOL INDEX (80 symbols across 6 files) FILE: code/hi/interpret-visitor.js class InterpretVisitor (line 3) | class InterpretVisitor extends Visitor { method visitProg (line 4) | visitProg(node) { method visitSayHi (line 8) | visitSayHi(node) { method visitBinaryExpr (line 12) | visitBinaryExpr(node) { method visitPrintStmt (line 30) | visitPrintStmt(node) { method visitNumLiteral (line 34) | visitNumLiteral(node) { FILE: code/hi/lexer.js class SourceLoc (line 4) | class SourceLoc { method constructor (line 5) | constructor(start, end) { class Token (line 11) | class Token { method constructor (line 12) | constructor(type, value, loc) { class TokenType (line 19) | class TokenType {} class Lexer (line 31) | class Lexer { method constructor (line 32) | constructor(src) { method isDigit (line 36) | static isDigit(n) { method isOp (line 40) | static isOp(ch) { method next (line 44) | next() { method makeErrMsg (line 56) | makeErrMsg() { method readPrint (line 60) | readPrint() { method readHi (line 70) | readHi() { method readString (line 80) | readString() { method readNumber (line 96) | readNumber() { method readOp (line 113) | readOp() { method skipWhitespace (line 127) | skipWhitespace() { method peek (line 138) | peek() { method getPos (line 145) | getPos() { FILE: code/hi/parser.js class Node (line 4) | class Node { method constructor (line 5) | constructor(type, loc) { class Prog (line 11) | class Prog extends Node { method constructor (line 12) | constructor(loc, body = []) { class SayHi (line 18) | class SayHi extends Node { method constructor (line 19) | constructor(loc, value) { class PrintStmt (line 25) | class PrintStmt extends Node { method constructor (line 26) | constructor(loc, value) { class ExprStmt (line 32) | class ExprStmt extends Node { method constructor (line 33) | constructor(loc, value) { class BinaryExpr (line 39) | class BinaryExpr extends Node { method constructor (line 40) | constructor(loc, op, left, right) { class NumLiteral (line 48) | class NumLiteral extends Node { method constructor (line 49) | constructor(loc, value) { class NodeType (line 55) | class NodeType {} class Parser (line 63) | class Parser { method constructor (line 64) | constructor(lexer) { method parseProg (line 68) | parseProg() { method parsePrintStmt (line 84) | parsePrintStmt() { method parseSayHi (line 93) | parseSayHi() { method parseExprStmt (line 105) | parseExprStmt() { method parseExpr (line 113) | parseExpr() { method parseTerm (line 128) | parseTerm() { method parseExpo (line 143) | parseExpo() { method parseFactor (line 158) | parseFactor() { method parseNum (line 162) | parseNum() { method makeErrMsg (line 171) | makeErrMsg(tok) { FILE: code/hi/source.js constant EOL (line 3) | const EOL = "\n"; constant EOF (line 4) | const EOF = "\x03"; class Position (line 6) | class Position { method constructor (line 7) | constructor(ofst, line, col) { class Source (line 14) | class Source { method constructor (line 15) | constructor(code = "", file = "stdin") { method read (line 26) | read(cnt = 1) { method peek (line 57) | peek(cnt = 1) { method getPos (line 64) | getPos() { method pushPos (line 68) | pushPos() { method restorePos (line 72) | restorePos() { FILE: code/hi/visitor.js class Visitor (line 3) | class Visitor { method visitProg (line 4) | visitProg(node) {} method visitSayHi (line 6) | visitSayHi(node) {} method visitExprStmt (line 8) | visitExprStmt(node) {} method visitPrintStmt (line 10) | visitPrintStmt(node) {} method visitStmt (line 12) | visitStmt(node) { method visitStmtList (line 23) | visitStmtList(list) {} method visitNumLiteral (line 25) | visitNumLiteral(node) {} method visitBinaryExpr (line 27) | visitBinaryExpr(node) {} method visitExpr (line 29) | visitExpr(node) { FILE: code/hi/yaml-visitor.js class YamlVisitor (line 4) | class YamlVisitor extends Visitor { method visitProg (line 5) | visitProg(node) { method visitStmtList (line 12) | visitStmtList(list) { method visitExprStmt (line 16) | visitExprStmt(node) { method visitPrintStmt (line 23) | visitPrintStmt(node) { method visitBinaryExpr (line 30) | visitBinaryExpr(node) { method visitNumLiteral (line 39) | visitNumLiteral(node) {