该问题本身叙述有误:Pascal 和 BASIC 属于(通常意义下的)高级语言。
[语境1] 通常意义下,低级语言,即机器级语言 (machine-level language),是指特定于机器的指令集 (ISA) 的编程语言(机器可以指代硬件处理器或者虚拟机)。这时低级语言就是指机器码 (machine codebyte) 和汇编语言 (assembly language)。
[语境2] 在特指时,有时会说某一语言 A 比另一语言 B 更低级,这通常是说:在 A 和 B 的源程序都可通过各自的语言翻译机制转换 (translation) 为目标机器 M 的机器码前提下,A 的语言特性和描述性更接近于 M 机器模型。例如,C 语言比 Java 更低级;再如,C++ 相较于 C 语言有着相同的机器模型层次,但是增加了更高层的语义抽象特性。
无论 [语境1] 还是 [语境2],对于你的问题的回答都是:可以,但不一定有意义。
需要注意的是,广义的“编译技术”或者说程序语言翻译是个很大的范畴,有时指语言翻译的某几个阶段 (phase),还有时其目的不是直接产生目标代码 (codegen)。
以下是用高级语言开发低级语言的翻译设施的实例:用 C/C++ 开发汇编器,或 C/C++ 编译器 [有意义]。现实中很多汇编器确实是这么做的。对一个特定编译器,如何编译编译器自己的源码,参考 Wikipedia: compilers bootstrapping。
用 Java 开发 C/C++ 编译器。用 ANTLR 这种 general parser gen 为 C/C++ 产生 parser 前端,然后基于此前端开发 C/C++ 源码静态分析工具 [有意义],或进一步完成 codegen 功能(如果继续用 Java 开发 optimizer 和 codegen 意义则不大)。
用 JavaScript 开发 C/C++ 编译器。在一些 Web IDE 上可用 JavaScript 开发分析 C/C++ 源码的 parser 前端,通常目的是建立静态分析工具(例如类似 IntelliSense、Lint 等功能)[有意义]。用 JavaScript 做 codegen 的意义很小。