• *************************** miniPROLOG Finished ************************

    From Graham Cooper@grahamcooper7@gmail.com to comp.lang.prolog on Thu May 11 03:12:35 2023
    From Newsgroup: comp.lang.prolog

    Finished Prolog Interpreter! yehhhh ... could be some tweaks
    as i get more advanced programs in Prolog

    will go LIVE soon few cosmetic changes

    Now it DISPLAYS the path at the end

    go FROM TO TO
    :-
    rd FROM TO

    go FROM TO [ p FROM PTH ]
    :-
    rd FROM MID
    go MID TO PTH


    query :- go 1 7 PATH
    -----------
    ---------- BEGIN 2 ---------
    go 1 7 PATH
    F = 1
    T = 7
    PATH = P

    RULE 1
    FROM = 1
    TO = 7

    -----------
    go FROM TO TO :- rd FROM TO
    -----------
    ---------- BEGIN 4 ---------
    rd FROM TO
    FROM = 1
    TO = 7
    NOT FOUND

    ****** 3 ******
    F = 1 T = 7 PATH = P FROM = 1 TO = 7
    ****************

    RULE 2
    FROM = 1
    TO = 7
    P = [ p FROM PTH ]

    -----------
    go FROM TO [ p FROM PTH ] :- rd FROM MID go MID TO PTH
    -----------
    ---------- BEGIN 6 ---------
    rd FROM MID
    FROM = 1
    MID = 3
    ---------- BEGIN 7 ---------
    go MID TO PTH
    MID = 3
    TO = 7
    F = 3
    T = 7
    PTH = FROM-->1
    PTH-->PTH
    [ p 1 PTH ]

    RULE 1
    FROM = 3
    TO = 7

    -----------
    go FROM TO TO :- rd FROM TO
    -----------
    ---------- BEGIN 9 ---------
    rd FROM TO
    FROM = 3
    TO = 7
    NOT FOUND

    ****** 8 ******
    F = 3 T = 7 PTH = [ p 1 PTH ] FROM = 3 TO = 7
    ****************

    RULE 2
    FROM = 3
    TO = 7
    P = [ p FROM PTH ]

    -----------
    go FROM TO [ p FROM PTH ] :- rd FROM MID go MID TO PTH
    -----------
    ---------- BEGIN 11 ---------
    rd FROM MID
    FROM = 3
    MID = 5
    ---------- BEGIN 12 ---------
    go MID TO PTH
    MID = 5
    TO = 7
    PTH = [ p 1 PTH ]
    F = 5
    T = 7
    P = [ p 1 PTH ]

    RULE 1
    FROM = 5
    TO = 7

    -----------
    go FROM TO TO :- rd FROM TO
    -----------
    ---------- BEGIN 14 ---------
    rd FROM TO
    FROM = 5
    TO = 7

    ****** 13 ******
    F = 5 T = 7 P = [ p 1 PTH ] FROM = 5 TO = 7
    ****************

    ****** 10 ******
    F = 3 T = 7 PTH = [ p 1 PTH ] FROM = 3 TO = 7 P = [ p FROM PTH ] ****************

    ****** 5 ******
    F = 1 T = 7 PATH = P FROM = 1 TO = 7 P = [ p FROM PTH ]
    ****************


    YES

    PATH = [ p 5 [ p 1 PTH ] ]
    --- Synchronet 3.20a-Linux NewsLink 1.114