Intersection between regular language and context-free language
Yes, there does.

The key is to represent your CFL as a pushdown automaton, and the regular language as a DFA. Then compute the product automaton of the CFL's states and the DFA's states, keeping the stack operations from the CFL.

In essence, what you're doing is running your pushdown machine, and keeping track of what state you would be in in the DFA if you were running it in parallel. Then, when you reach the end, you only accept if both machines would accept.