我希望prolog读取用户上传的文本文件,将其转换为prolog事实并将其存储在知识库中 . 此文本文件应该是以下格式的学生成绩单 . 我是prolog的新手,因此,我不知道它是否可能因为文本文件有一些垃圾和重复数据,我只想采取它的某些部分 .

Example: This is the text file

Main Menu </cgi/regweb/stu_login.main_menu>

_

    *Academic Transcript*_

    *Year/Semester:*

        2013 / 1    *Number :*  20131234
    *Name               :*  Mary Georgia    *Advisor :*     Mr.Paul Watson
    *Degree             :*  B.Sc. in Information Systems    *Status    :*   

    ------------------------------------------------------------------------
    *Course*    *Course Name*   *Credit*    *Grade*     *Status*    *Repeated*
    ENGL    154     LANGUAGE DEVELOPMENT I  3   A   -   0
    ITCS    103     COMPUTER PROGRAMMING 1  4   A   -   0
    ITIS    101     PERSONAL PRODUCTIVITY WITH IS TECHNOLOGY    3   A-  -   0
    MATHS   101     CALCULUS I  3   B+  -   0

    ------------------------------------------------------------------------
    *Semester Credits Attended   :*     13  *Passed:*   13  *GPA:*  3.92
    *Cumulative Credits Attended:*  13  *Passed:*   13  *GPA:*  3.92

    ------------------------------------------------------------------------
    */STUDENT COPY - äÓÎÉ ÇáØÇáÈ /*

    *åÐå ÇáäÓÎÉ ÛíÑ ÑÓãíÉ æáÇ ÊÚÑÖ ÍÇáÉ ÇáØÇáÈ ÇáÃßÇÏíãíÉ
    Úáì ÇáØÇáÈ ÇÓÊÎÑÇÌ äÓÎÉ ßÔÝ ÇáÏÑÌÇÊ ÇáÑÓãíÉ ãä ãßÊÈ ÇáÊÓÌíá*
    *This is not an Official Transcript and Does Not State The Academic Status
    Students must obtain detailed Official Transcript of their Academic
    Status from the Registration Offices *

    ------------------------------------------------------------------------
    *****************  End  Of   Transcript  For   2013 / 1  *******************

    ------------------------------------------------------------------------

    *Year/Semester:*

        2013 / 2    *Number :*  20131234
    *Name               :*  Mary Georgia    *Advisor :*     Mr.Paul Watson
    *Degree             :*  B.Sc. in Information Systems    *Status    :*   


    ------------------------------------------------------------------------
    *Course*    *Course Name*   *Credit*    *Grade*     *Status*    *Repeated*
    ACC     112     FINANCIAL ACCOUNTING I  3   B-  -   0
    ECON    140     MICROECONOMICS  3   A-  -   0
    ENGL    155     LANGUAGE DEVELOPMENT II     3   A   -   0
    ITCS    104     COMPUTER PROGRAMMING 2  4   A   -   0
    MGT     131     INTRO. TO BUSINESS ADMINISTRATION   3   A   -   0

    ------------------------------------------------------------------------
    *Semester Credits Attended   :*     16  *Passed:*   16  *GPA:*  3.82
    *Cumulative Credits Attended:*  29  *Passed:*   29  *GPA:*  3.87

    ------------------------------------------------------------------------
    */STUDENT COPY - äÓÎÉ ÇáØÇáÈ /*

    *åÐå ÇáäÓÎÉ ÛíÑ ÑÓãíÉ æáÇ ÊÚÑÖ ÍÇáÉ ÇáØÇáÈ ÇáÃßÇÏíãíÉ
    Úáì ÇáØÇáÈ ÇÓÊÎÑÇÌ äÓÎÉ ßÔÝ ÇáÏÑÌÇÊ ÇáÑÓãíÉ ãä ãßÊÈ ÇáÊÓÌíá*
    *This is not an Official Transcript and Does Not State The Academic Status
    Students must obtain detailed Official Transcript of their Academic
    Status from the Registration Offices *

    ------------------------------------------------------------------------
    *****************  End  Of   Transcript  For   2013 / 2  *******************

    ------------------------------------------------------------------------

Prolog Knowledge Base:

学生(编号,姓名,Total_Credits_Passed,累计GPA,顾问)

student(20131234,'Mary Georgia',29,3.87,'Mr.Paul Watson').

课程(数学,年级,学期,课程表(课程1,课程2,课程3,课程4,课程5,课程6,课程7),成绩(gradeofcourse1,gradeofcourse2,gradeofcourse3,gradeofcourse4,gradeofcourse5,gradeofcourse6,gradeofcourse7)

coursestaken(20131234,2013,1,courseslist(ENGL154,ITCS103,ITIS101,MATHS101,_,_,_),grades(A,A,A-,B+,_,_,_)).

如果有的话,其余的学期也一样 .

任何帮助将受到高度赞赏 .