I built a TypeScript to C++ compiler using Oilpan for GC

265 views
Skip to first unread message

Cheng

unread,
Aug 2, 2024, 9:01:09 AM8/2/24
to v8-users
I learnt about cppgc some time earlier and then an idea came to me: can I convert TypeScript code to C++ and then use cppgc to manage the lifetime of classes and functions?

I built a toy TypeScript to C++ compiler to validate the idea, and it seems to work perfectly. I'm sharing the code in case anyone is interested in it:

guest271314

unread,
Dec 3, 2024, 10:28:07 AM12/3/24
to v8-users
I can't get your code to work. Keeps throwing errors

./node_modules/.bin/compilets gen

Internal Error: Raw function type should never be printed out
    at printTypeName (/home/user/node_modules/compilets/dist/print-utils.js:342:15)
    at printTypeNameForDeclaration (/home/user/node_modules/compilets/dist/print-utils.js:419:12)
    at FunctionType.print (/home/user/node_modules/compilets/dist/cpp-syntax-type.js:115:62)
    at ParameterDeclaration.print (/home/user/node_modules/compilets/dist/cpp-syntax.js:638:35)
    at /home/user/node_modules/compilets/dist/cpp-syntax.js:645:42
    at Array.map (<anonymous>)
    at ParameterDeclaration.printParameters (/home/user/node_modules/compilets/dist/cpp-syntax.js:645:31)
    at ConstructorDeclaration.print ($ ../node_modules/.bin/compilets gen
Internal Error: Raw function type should never be printed out
    at printTypeName (/home/user/node_modules/compilets/dist/print-utils.js:342:15)
    at printTypeNameForDeclaration (/home/user/node_modules/compilets/dist/print-utils.js:419:12)
    at FunctionType.print (/home/user/node_modules/compilets/dist/cpp-syntax-type.js:115:62)
    at ParameterDeclaration.print (/home/user/node_modules/compilets/dist/cpp-syntax.js:638:35)
    at /home/user/node_modules/compilets/dist/cpp-syntax.js:645:42
    at Array.map (<anonymous>)
    at ParameterDeclaration.printParameters (/home/user/node_modules/compilets/dist/cpp-syntax.js:645:31)
    at ConstructorDeclaration.print (/home/user/node_modules/compilets/dist/cpp-syntax.js:706:49)
    at /home/user/node_modules/compilets/dist/cpp-syntax-type.js:518:23
    at joinArray (/home/user/node_modules/compilets/dist/js-utils.js:26:19)
node_modules/compilets/dist/cpp-syntax.js:706:49)

Reply all
Reply to author
Forward
0 new messages