There are two library files for reading sentences. One of them is
library(readin), which defines the single predicate
library(readin) was written to be used.
library(readsent) was originally written to be read and
everyone has a different idea of how sentence reading should be done.
Nevertheless, you may find
read_sent/1 to be quite useful.
Both sentence readers work by reading characters until some termination
condition and then parsing a list of character codes using a Definite
Clause Grammar. You can have any number of grammars in one Prolog
program. You will probably find that
read_in/1 does most of what you
want, but if you want to do something different you may find it easier