Один из наиболее динамичных способов сделать это - использовать Text
вместо метки и установить boundsType
как VISUAL
. Это приводит к тексту без каких-либо отступов на любой из сторон текста, независимо от размера шрифта.
Text text = new Text();
text.setBoundsType(TextBoundsType.VISUAL);
] В какой-то момент вы, вероятно, захотите предоставить API для обёртывания библиотек C в качестве модулей расширения. LLVM, возможно, уже поддерживает это (я знаю, что Parrot vm поддерживает). Почему бы не использовать ту систему расширений, которую вы используете для обёртывания собственного API LLVM? Они тоже могут это поддерживать. :)[
].Можно использовать связки LLVM на Си, но для этого необходимо, чтобы ваш язык понимал достаточно Си.
Другой вариант - это переписать ассемблерный язык LLVM (текстовый файл) и использовать llvm-as, чтобы превратить его в биткод.
Я перечитал вопрос, думаю, вы уже понимаете, что такое llvm-as vs. binding stuff.
Ваш язык, вероятно, захочет иметь возможность связываться с C в любом случае для поддержки библиотек и т.д. Используйте пока связки на C и напишите свои собственные связки, когда будете двигаться дальше.