Is it possible to prove Language L context-free? Give a question:
Language L= {a^n b^(n+m) a^m}, where both n and m are >=0. Is L context-free or not.

If the answer is yes, can I use the following PDA to prove it?

Since {a^n b^(n+m) a^m}={a^n b^n b^m a^m}, in the PDA, we first push n a's onto the stack. Then, we pop n a's from the stack by reading n b's. Next, we push m b's onto the stack, and we pop m b's from the stack by reading m a's. Finally, the strings will be accepted in q5.



Conversely, if the language is not context-free, should i use pumping lemma to prove it?

Thank you!
S → AB  
A → aAb | ε  
B → bBa | ε


This will be the Grammar for that language which follows the context free grammar rules, so the language generated will be CFL.