SYMBOL INDEX (197 symbols across 33 files) FILE: src/browser_runtime.ts function run (line 6) | async function run(script) { FILE: src/cli.ts constant MODULE_LIBRARY_NAME (line 16) | const MODULE_LIBRARY_NAME = "藏書樓"; function preprocess (line 93) | function preprocess() { function getCompiled (line 119) | function getCompiled() { function getImportPaths (line 127) | function getImportPaths() { function findModuleLibrary (line 141) | function findModuleLibrary() { function getCompileOptions (line 145) | function getCompileOptions() { function resolvePath (line 160) | function resolvePath(x) { function getSource (line 164) | function getSource() { function output (line 178) | function output(data) { function getTitle (line 183) | function getTitle() { function doRender (line 198) | function doRender() { function interactive (line 224) | function interactive() { function exec (line 235) | function exec() { function replscope (line 248) | function replscope() { function repl (line 272) | function repl(prescript?: string) { function logHandler (line 344) | function logHandler(f, mode) { FILE: src/converts/hanzi2num.ts type NumberTokenType (line 1) | enum NumberTokenType { type Digit (line 14) | type Digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"; type NumberToken (line 16) | type NumberToken = type ParseResult (line 36) | interface ParseResult { constant NUM_TOKENS (line 42) | const NUM_TOKENS = { constant NEG_WORD (line 88) | const NEG_WORD = "負"; constant INF_WORD (line 89) | const INF_WORD = "無限大數"; constant NAN_WORD (line 90) | const NAN_WORD = "不可算數"; constant DECIMAL_WORD (line 92) | const DECIMAL_WORD = { constant DIGIT_WORDS (line 96) | const DIGIT_WORDS = { constant MULT_WORDS (line 111) | const MULT_WORDS = { constant RESULT_2_TO_63 (line 164) | const RESULT_2_TO_63 = { function hanzi2numstr (line 170) | function hanzi2numstr(s: string): string | null { function hanzi2num (line 755) | function hanzi2num(s: string): number { function num2hanzi (line 764) | function num2hanzi( function bool2hanzi (line 915) | function bool2hanzi(b: boolean): string { FILE: src/converts/hanzi2pinyin.ts function hanzi2unicodeEntry (line 5) | function hanzi2unicodeEntry(s: string) { function hanzi2pinyin (line 17) | function hanzi2pinyin(a: string, system: RomanizeSystem = "pinyin") { FILE: src/execute.ts function isLangSupportedForEval (line 4) | function isLangSupportedForEval(lang: TargetLanguages) { function hanzinizeOuput (line 12) | function hanzinizeOuput(value: string) { function outputHanziWrapper (line 24) | function outputHanziWrapper(log: LogCallback, outputHanzi: boolean) { function evalCompiled (line 30) | function evalCompiled( FILE: src/highlight.js function newEditor (line 84) | function newEditor(txt) { function getCaretPosition (line 103) | function getCaretPosition(element, mode) { function setCaretPosition (line 124) | function setCaretPosition(element, i, j, ie, je) { function newLineNo (line 166) | function newLineNo(ed) { FILE: src/keywords.ts constant NUMBER_KEYWORDS (line 3) | const NUMBER_KEYWORDS = Array.from( constant KEYWORDS_DEFINE (line 7) | const KEYWORDS_DEFINE: Record< constant KEYWORDS (line 128) | const KEYWORDS = Object.fromEntries(ke); FILE: src/macro.ts function extractMacros (line 5) | function extractMacros(src: string, options: MarcoOptions) { function calcBracketStarts (line 140) | function calcBracketStarts(src: string) { function expandMacros (line 159) | function expandMacros(src: string, macros: MacroDefinition[]) { FILE: src/parser.ts constant IGNORE_SYMBOLS (line 30) | const IGNORE_SYMBOLS = "。、\n\r\t "; function wy2tokens (line 32) | function wy2tokens(txt: string, assert = defaultAssert()) { function tokenRomanize (line 169) | function tokenRomanize(tokens: Token[], system: RomanizeSystem) { function defaultLogCallback (line 197) | function defaultLogCallback(x: any) { function defaultErrorCallback (line 203) | function defaultErrorCallback(e: any) { function tokens2asc (line 208) | function tokens2asc(tokens: Token[], assert = defaultAssert()) { function compile (line 670) | function compile(txt: string, options: Partial = {}): st... function execute (line 790) | function execute( FILE: src/reader.ts constant INDEX_FILENAME (line 8) | const INDEX_FILENAME = "序"; function isHostTrusted (line 10) | function isHostTrusted(url: string, trustedHosts: string[]) { function isHttpURL (line 19) | function isHttpURL(uri: string) { function fetchTextSync (line 23) | function fetchTextSync(url: string, timeout: number) { function fetchSync (line 34) | function fetchSync(uri: string, cache: CacheObject, requestTimeout: numb... function importReader (line 46) | function importReader( function bundleImports (line 139) | function bundleImports( FILE: src/render.ts constant FONT (line 5) | const FONT = "'I.Ming', 'Source Han Serif KR', 'Noto Serif CJK KR', serif"; constant RED (line 6) | const RED = "#E53"; constant BLACK (line 7) | const BLACK = "#222"; constant BOOK_COLORS (line 9) | const BOOK_COLORS = { function render (line 36) | function render(fname, txt, { plotResult = false } = {}) { function unrender (line 326) | function unrender(svgs) { FILE: src/stdlib.ts function loadStdlib (line 3) | function loadStdlib() { constant STDLIB (line 24) | const STDLIB = loadStdlib(); FILE: src/transpilers/base.ts type ModuleWrapperOptions (line 3) | interface ModuleWrapperOptions { class BaseTranspiler (line 11) | class BaseTranspiler { method constructor (line 17) | constructor(asc: ASCNode[]) { method randVar (line 21) | randVar() { method currTmpVar (line 25) | currTmpVar() { method nextTmpVar (line 29) | nextTmpVar() { method transpile (line 33) | transpile( method wrapModule (line 39) | wrapModule(name: string, src: string): string { method moduleWrapper (line 53) | protected moduleWrapper({ src }: ModuleWrapperOptions) { FILE: src/transpilers/js.ts class JSCompiler (line 4) | class JSCompiler extends BaseTranspiler { method moduleWrapper (line 5) | protected moduleWrapper({ method transpile (line 14) | transpile(options: Partial = {}) { FILE: src/transpilers/py.ts class PythonTranspiler (line 4) | class PythonTranspiler extends BaseTranspiler { method moduleWrapper (line 5) | protected moduleWrapper({ method transpile (line 13) | transpile(options: Partial = {}) { FILE: src/transpilers/rb.ts class RubyCompiler (line 4) | class RubyCompiler extends BaseTranspiler { method moduleWrapper (line 5) | protected moduleWrapper({ method rename (line 13) | rename(name) { method lowerAllPinYinAndMakeItGlobal (line 17) | lowerAllPinYinAndMakeItGlobal(asc) { method transpile (line 87) | transpile(options: Partial = {}) { FILE: src/typecheck.ts function printType (line 11) | function printType(t: IdenType, n = 0, d = 0): string { function printSignature (line 51) | function printSignature(signature: TypeSignature) { function typecheck (line 82) | function typecheck(asc: ASCNode[], assert = defaultAssert()) { FILE: src/types.ts type TargetLanguages (line 1) | type TargetLanguages = "js" | "py" | "rb"; type RomanizeSystem (line 2) | type RomanizeSystem = "none" | "pinyin" | "unicode" | "baxter"; type LogCallback (line 3) | type LogCallback = (...args: any[]) => void; type CacheObject (line 4) | type CacheObject = Record; type StandardLibraryObject (line 5) | type StandardLibraryObject = Record & type CompileOnlyOptions (line 8) | interface CompileOnlyOptions { type ImportOptions (line 18) | interface ImportOptions { type CompileOptions (line 28) | type CompileOptions = CompileOnlyOptions & ImportOptions; type MarcoOptions (line 30) | interface MarcoOptions { type TranspilerOptions (line 36) | interface TranspilerOptions { type ExecuteOptions (line 40) | interface ExecuteOptions { type MacroDefinition (line 47) | type MacroDefinition = [string, string]; type ImportedModule (line 49) | interface ImportedModule { type TokenType (line 55) | type TokenType = type Token (line 86) | type Token = [TokenType, string | undefined, number] | ["ans"]; type ASCNodeCommon (line 88) | interface ASCNodeCommon { type ASCNodeOperator (line 92) | interface ASCNodeOperator { type ASCNodeReturn (line 98) | interface ASCNodeReturn { type ASCNodeIf (line 103) | interface ASCNodeIf { type ASCNodeFunction (line 110) | interface ASCNodeFunction { type ASCNodeWithValue (line 118) | interface ASCNodeWithValue { type ASCNodeName (line 123) | interface ASCNodeName { type ASCNodeReassign (line 128) | interface ASCNodeReassign { type ASCNodeCat (line 137) | interface ASCNodeCat { type ASCNodeFor (line 142) | interface ASCNodeFor { type ASCNodeCall (line 148) | interface ASCNodeCall { type ASCNodeLength (line 155) | interface ASCNodeLength { type ASCNodeTake (line 160) | interface ASCNodeTake { type ASCNodeTemp (line 165) | interface ASCNodeTemp { type ASCNodeImport (line 170) | interface ASCNodeImport { type ASCNodePush (line 176) | interface ASCNodePush { type ASCNodeWithError (line 182) | interface ASCNodeWithError { type ASCNodeSubscript (line 189) | interface ASCNodeSubscript { type ASCNodeVariable (line 195) | interface ASCNodeVariable { type ASCNodePropertry (line 204) | interface ASCNodePropertry { type ASCNodeGlobal (line 211) | interface ASCNodeGlobal { type ASCNodeEOF (line 215) | interface ASCNodeEOF { type ASCNodeSimple (line 219) | interface ASCNodeSimple { type ASCNode (line 237) | type ASCNode = ASCNodeCommon & function isASCNodeOperator (line 263) | function isASCNodeOperator( type IdenType (line 269) | interface IdenType { type TypeScope (line 279) | type TypeScope = Record; type TypeSignature (line 281) | type TypeSignature = [[number, number, number], TypeScope][]; FILE: src/utils.ts function match (line 4) | function match(src: string, startAt: number, target: string) { function isRoman (line 22) | function isRoman(x: string) { FILE: static/assets/js/site.js function main (line 2) | function main() { FILE: test/examples.test.ts function runExample (line 19) | async function runExample(lang, name, options = {}) { function runAll (line 49) | function runAll( FILE: test/stdlib.math.test.cases.ts constant MIN_NORMAL_VALUE (line 1) | const MIN_NORMAL_VALUE = Number.MIN_VALUE / Number.EPSILON; constant MAX_POW_OF_2 (line 2) | const MAX_POW_OF_2 = Number.MAX_VALUE / (2 - Number.EPSILON); constant ROUND (line 6) | const ROUND = [ constant SQRT (line 78) | const SQRT = [ constant TRIG (line 328) | const TRIG = [ constant ASIN_ACOS (line 2264) | const ASIN_ACOS = [ constant ATAN (line 2888) | const ATAN = [ constant TO_POLAR (line 3351) | const TO_POLAR = [ constant EXP (line 4765) | const EXP = [ constant LOG (line 5266) | const LOG = [ constant POW (line 6141) | const POW = [ FILE: test/stdlib.wonton.test.ts function escape (line 15) | function escape(str: TemplateStringsArray) { FILE: test/utils.ts type Options (line 7) | interface Options { function createTestUtil (line 14) | function createTestUtil(options: Partial = {}) { function compileLib (line 48) | function compileLib(name: string, options: Partial = {}) { function assertNumberEqual (line 70) | function assertNumberEqual(actual: number, expected: number, message?: s... function compareResults (line 83) | function compareResults(x: number | number[], y: number | number[]) { function isOnCorrectSide (line 101) | function isOnCorrectSide( function calcError (line 111) | function calcError(actual: number, expected: number | number[]) { function nearlyEqual (line 119) | function nearlyEqual( function assertNearlyEqual (line 165) | function assertNearlyEqual( FILE: tools/examples.js function loadExamples (line 1) | function loadExamples() { FILE: tools/make_calendar.js constant MONTH_FIX_START (line 31) | const MONTH_FIX_START = 57105; constant MONTH_FIX_TABLE (line 35) | const MONTH_FIX_TABLE = [ constant LEAP_FIX_START (line 2529) | const LEAP_FIX_START = 1701; constant LEAP_FIX_TABLE (line 2533) | const LEAP_FIX_TABLE = [ constant WENYAN_HEAD (line 2611) | const WENYAN_HEAD = `注曰「「此文程式之作文也。勿施以修訂。」」 constant HTML_HEAD (line 2665) | const HTML_HEAD = ` constant TABLE_HEAD (line 2698) | const TABLE_HEAD = ` constant HTML_TAIL (line 2715) | const HTML_TAIL = ` constant CE_YEAR_OFFSET (line 2720) | const CE_YEAR_OFFSET = 2697; FILE: tools/make_examples_readme.js function update (line 5) | function update(srcDir, outputFile) { FILE: tools/publish.js function Build (line 22) | async function Build() { function CopyFiles (line 27) | async function CopyFiles() { function MakePackageJSON (line 39) | async function MakePackageJSON() { function Publish (line 65) | async function Publish() { FILE: tools/test_parser.ts function readOtherExample (line 10) | function readOtherExample(x) { function runExample (line 14) | function runExample(lang, name) { function runAll (line 43) | function runAll(lang, skips = []) { FILE: tools/utils.js function loadlib (line 5) | function loadlib(libDir = path.resolve(__dirname, "../lib/")) { function pyeval (line 19) | function pyeval(py) { function rbeval (line 28) | function rbeval(rb) { FILE: tools/wiki/stdlib_cheatsheet.js constant HEAD (line 43) | const HEAD = ` constant BODY (line 46) | const BODY = ` constant TAIL (line 54) | const TAIL = ` function escapeMarkdown (line 69) | function escapeMarkdown(text) { function getLineIndexes (line 73) | function getLineIndexes(text) { function getLineNumberOfIndex (line 83) | function getLineNumberOfIndex(lines, index) { function readFile (line 91) | function readFile(filepath, relativePath) { function updateStdlibCheatsheet (line 137) | function updateStdlibCheatsheet(srcDir, outputFile) { FILE: tools/wiki/update.js function ensureRepo (line 9) | function ensureRepo(url, dir) { function pushChanges (line 18) | function pushChanges(dir, msg) { FILE: webpack.base.config.js function DtsBundlePlugin (line 41) | function DtsBundlePlugin(options){ function _bundle (line 46) | function _bundle(options) {