No mate, you don't use binary tree, you use lexer. This lexer basically parses your source code into a list of tokens, which is fed into a parser that turns that list into a tree of nodes, aka Abstract Syntax Tree. First and foremost though, you need to KNOW why you making a new language, so you ask questions like:
1 .What execution paradigm do we want to use? Will it be imperative or functional? Or maybe based on state machines or business rules? C vs Lisp
2. Do we want static typing or dynamic typing? Java vs Python
3. What sort of programs this language will be best at? Will it be used for small scripts or large systems? Haskell vs C++
4. What matters most to us: performance? Readability? C vs Python
5. Do we want it to be similar to an existing programming language? Will it be aimed at C developers or easy to learn for who is coming from Python?
6. Do we want it to work on a specific platform (JVM, CLR)?
7. What sort of metaprogramming capabilities do we want to support, if any? Macros? Templates? Reflection?
I'm too lazy to type so just google and check it out
C# Writing a parser