You can try http://optimizedbits.com . There you can also compile your code by providing your own stream of multiple inputs.
For just one input stream, simply write the input. For multiple input test cases, follow:
input1
<TESTCASE>
input2
<TESTCASE>
....
Regarding the possibility of input stream: See no body builds a compiler on their own. Everybody utilizes some standards like gcc in the back-end. All online compiler websites work around a architecture which involves the following flow(example:C++):
1) read_code_user
2) Save it as variablename.cpp
3) Use a queuing framework. Then execute g++ variablename.cpp. Further, various libraries are utilized which can pipe stdin, stdout and stderr.