Zero-knowledge proofs are powerful privacy-preserving tools, which are widely used in the financial applications, especially in the field of financial cryptography. Multiple existing zero-knowledge proof protocols, such as Pinocchio, Groth16, PLONK, are developed using high-level programming languages like C++, Java, Python, Rust, etc. However, these protocols cannot directly apply to the computational problems to be proved and verified, since the computational problems first need to be transformed into the correct formats, such as Algebraic Circuit, R1CS and QAP, that are not directly programmable. Therefore, zero-knowledge proof compiler needs to be designed to compile the problem to be proved/verified based on a high-level language into a format that can be handled by zero-knowledge proof protocols such as arithmetic circuits. Existing such compilers include circom2, snarky, jsanrk, franklin-crypto, xJsnark, etc. However, they have more or less disadvantages of poor versatility or low efficiency. Hence, we need more general and efficient zero-knowledge proof compilers.