├── .editorconfig ├── .gitignore ├── .prettierrc ├── .vscode └── settings.json ├── README.md ├── babel.config.js ├── docs └── tutorial.md ├── examples └── hello-world.html ├── jest.config.js ├── package.json ├── src ├── ast │ ├── expression.ts │ ├── index.ts │ └── statement.ts ├── browser.ts ├── errorObject.ts ├── interpreter │ ├── context │ │ ├── builtIn │ │ │ └── math.ts │ │ ├── environment.ts │ │ ├── index.ts │ │ └── input.ts │ ├── index.ts │ ├── io.ts │ ├── runBlock.ts │ ├── runExpression.ts │ ├── runStatement.ts │ ├── runtimeError.ts │ └── value.ts ├── parser │ ├── SyntaxError.ts │ ├── expect.ts │ ├── index.ts │ ├── parseExpression.ts │ ├── parseExpressionList.ts │ ├── parseMathExpression.ts │ ├── parseStatement.ts │ ├── parseStatementList.ts │ ├── skipTrivia.ts │ └── util.ts ├── test │ └── program │ │ ├── __snapshots__ │ │ └── index.test.ts.snap │ │ ├── cases │ │ ├── dl.html │ │ ├── fizzbuzz.html │ │ ├── func-no-arg-no-return-value.html │ │ ├── func-no-arg-return-value.html │ │ ├── func-one-arg-return-value.html │ │ ├── func-two-args.html │ │ ├── hello_br_world.html │ │ ├── helloworld.html │ │ ├── input-from-var.html │ │ ├── input-reverse.html │ │ ├── math-many.html │ │ ├── math-many2.html │ │ ├── math-many3.html │ │ ├── math-plus.html │ │ ├── ruby.html │ │ └── var-and-a-func.html │ │ └── index.test.ts └── util │ ├── assertNever.ts │ └── asyncMap.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | dist 4 | # build output 5 | /browser.min.js -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/README.md -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/babel.config.js -------------------------------------------------------------------------------- /docs/tutorial.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/docs/tutorial.md -------------------------------------------------------------------------------- /examples/hello-world.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/examples/hello-world.html -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/package.json -------------------------------------------------------------------------------- /src/ast/expression.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/ast/expression.ts -------------------------------------------------------------------------------- /src/ast/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/ast/index.ts -------------------------------------------------------------------------------- /src/ast/statement.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/ast/statement.ts -------------------------------------------------------------------------------- /src/browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/browser.ts -------------------------------------------------------------------------------- /src/errorObject.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/errorObject.ts -------------------------------------------------------------------------------- /src/interpreter/context/builtIn/math.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/context/builtIn/math.ts -------------------------------------------------------------------------------- /src/interpreter/context/environment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/context/environment.ts -------------------------------------------------------------------------------- /src/interpreter/context/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/context/index.ts -------------------------------------------------------------------------------- /src/interpreter/context/input.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/context/input.ts -------------------------------------------------------------------------------- /src/interpreter/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/index.ts -------------------------------------------------------------------------------- /src/interpreter/io.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/io.ts -------------------------------------------------------------------------------- /src/interpreter/runBlock.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/runBlock.ts -------------------------------------------------------------------------------- /src/interpreter/runExpression.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/runExpression.ts -------------------------------------------------------------------------------- /src/interpreter/runStatement.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/runStatement.ts -------------------------------------------------------------------------------- /src/interpreter/runtimeError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/runtimeError.ts -------------------------------------------------------------------------------- /src/interpreter/value.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/interpreter/value.ts -------------------------------------------------------------------------------- /src/parser/SyntaxError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/parser/SyntaxError.ts -------------------------------------------------------------------------------- /src/parser/expect.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/parser/expect.ts -------------------------------------------------------------------------------- /src/parser/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/parser/index.ts -------------------------------------------------------------------------------- /src/parser/parseExpression.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/parser/parseExpression.ts -------------------------------------------------------------------------------- /src/parser/parseExpressionList.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/parser/parseExpressionList.ts -------------------------------------------------------------------------------- /src/parser/parseMathExpression.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/parser/parseMathExpression.ts -------------------------------------------------------------------------------- /src/parser/parseStatement.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/parser/parseStatement.ts -------------------------------------------------------------------------------- /src/parser/parseStatementList.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/parser/parseStatementList.ts -------------------------------------------------------------------------------- /src/parser/skipTrivia.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/parser/skipTrivia.ts -------------------------------------------------------------------------------- /src/parser/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/parser/util.ts -------------------------------------------------------------------------------- /src/test/program/__snapshots__/index.test.ts.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/__snapshots__/index.test.ts.snap -------------------------------------------------------------------------------- /src/test/program/cases/dl.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/dl.html -------------------------------------------------------------------------------- /src/test/program/cases/fizzbuzz.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/fizzbuzz.html -------------------------------------------------------------------------------- /src/test/program/cases/func-no-arg-no-return-value.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/func-no-arg-no-return-value.html -------------------------------------------------------------------------------- /src/test/program/cases/func-no-arg-return-value.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/func-no-arg-return-value.html -------------------------------------------------------------------------------- /src/test/program/cases/func-one-arg-return-value.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/func-one-arg-return-value.html -------------------------------------------------------------------------------- /src/test/program/cases/func-two-args.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/func-two-args.html -------------------------------------------------------------------------------- /src/test/program/cases/hello_br_world.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/hello_br_world.html -------------------------------------------------------------------------------- /src/test/program/cases/helloworld.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/helloworld.html -------------------------------------------------------------------------------- /src/test/program/cases/input-from-var.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/input-from-var.html -------------------------------------------------------------------------------- /src/test/program/cases/input-reverse.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/input-reverse.html -------------------------------------------------------------------------------- /src/test/program/cases/math-many.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/math-many.html -------------------------------------------------------------------------------- /src/test/program/cases/math-many2.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/math-many2.html -------------------------------------------------------------------------------- /src/test/program/cases/math-many3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/math-many3.html -------------------------------------------------------------------------------- /src/test/program/cases/math-plus.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/math-plus.html -------------------------------------------------------------------------------- /src/test/program/cases/ruby.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/ruby.html -------------------------------------------------------------------------------- /src/test/program/cases/var-and-a-func.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/cases/var-and-a-func.html -------------------------------------------------------------------------------- /src/test/program/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/test/program/index.test.ts -------------------------------------------------------------------------------- /src/util/assertNever.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/util/assertNever.ts -------------------------------------------------------------------------------- /src/util/asyncMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/src/util/asyncMap.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uhyo/the-html-programming-language/HEAD/tsconfig.json --------------------------------------------------------------------------------