- Extended and fixed some issues in the parser - Complete rewrite of TypeChecker as a SymbolResolver - Created basic structure for a new class TypeChecker - Introduces verification passes - Updated frontend and all bits depending on it
32 lines
748 B
Makefile
32 lines
748 B
Makefile
|
|
TREEGEN_FILES = src/ast-spec.txt lib/bin/bolt-treegen.js lib/treegen/parser.js lib/treegen/index.js lib/treegen/util.js src/treegen/ast-template.js
|
|
|
|
all: lib/ast.js
|
|
bolt check stdlib
|
|
|
|
lib/ast.js: $(TREEGEN_FILES)
|
|
@echo "Generating AST definitions ..."
|
|
@mkdir -p lib/
|
|
@chmod +x lib/bin/*.js
|
|
@bolt-treegen --js-file=lib/ast.js --dts-file src/ast.d.ts src/ast-spec.txt
|
|
|
|
lib/treegen/parser.js: src/treegen/parser.pegjs
|
|
@echo "Generating parser ..."
|
|
@mkdir -p lib/treegen/
|
|
@if ! npx pegjs --output lib/treegen/parser.js src/treegen/parser.pegjs; then \
|
|
rm -rf lib/treegen/parser.js; \
|
|
exit 1; \
|
|
fi
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
|
rm -rf lib/treegen/parser.js
|
|
rm -rf lib/ast.js
|
|
rm -rf src/ast.d.ts
|
|
|
|
.PHONY: distclean
|
|
|
|
distclean:
|
|
rm -rf lib/
|
|
|