GitXplorerGitXplorer
n

ExpertSystem

public
7 stars
2 forks
0 issues

Commits

List of commits on branch master.
Unverified
004363c0e72a02e27b614a9e352d8580d12d66ec

Update README.md

nnuc134r committed 7 years ago
Unverified
864b0da9f57918f8ac525977b232bfd4ec22643f

Update README.md

nnuc134r committed 7 years ago
Unverified
5f475c240e8c420dac8523c8c142004237b44346

Update README.md

nnuc134r committed 7 years ago
Unverified
f59376c3b7905f3349c5f0b8f70f1f33dbbbec9b

Update README.md

nnuc134r committed 7 years ago
Unverified
904bf638b25b19b7da65427593cf7d92bc98036c

Update README.md

nnuc134r committed 7 years ago
Unverified
83e42513b18815fc936909cea67871df8344ab5a

Update README.md

nnuc134r committed 7 years ago

README

The README file for this repository.

A basic IDE for a Prolog-inspired logic programming language. Semester project.

Of course it's can't be used for anything serious. Partly due to the same reasons Prolog can't be used for something serious and partly due to it's very weak if-powered core logic. And I'm not proud of that.

UI

User interface was made to look like Visual Studio's dark skin. Check out animations:

123

Logikek language

The task was to partly replicate Prolog language. Logikek language invented and is parsed with Sprache library.

Language consisits of three types of clauses.

Rule

For example we want to create a rule which declares that a good hobbie is the one which is fun.

GoodHobbie(X) : Fun(X);

X stands for an atom (like atom in Prolog). Atom is like a placeholder or a variable. Atoms must be one-letter.

Fact

Let's declare the fact that coding is fun.

Fun(Coding);

In the rule above we had an identical condition Fun(X). We also introduce a variable Coding and it's relation to Fun() clause.

Query

Now computer knows that a good hobbie is something fun and that coding is fun. So is coding a good hobbie? Let's find it out.

image

Here is a more complex example:

image

Put your attention to the output on the screenshot above. Logikek can find solutions if you leave an atom in a query statement just like Prolog.