Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Noch ein Logikparser *g* (https://www.delphipraxis.net/55703-noch-ein-logikparser-%2Ag%2A.html)

Dax 25. Okt 2005 17:14


Noch ein Logikparser *g*
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leuts :)

Von dem Logikparser neulich hier im Forum wurde ich dazu angeregt, selbst mal so etwas zu verbrechen *g*

Also, was kann das Ding?

Die Operatoren AND, NAND, OR, NOR, XOR, XNOR, Negation mit NOT und beliebige Verschachtelung mit Klammern sind möglich, ebenso gibts die fixen Konstanten TRUE und FALSE.

Mit dem Teil kann man entweder nur einzelne Werte für einen Ausdruck berechnen oder eine ganze Wahrheitstabelle erstellen, die dann letzten Endes in .txt oder .html exportierbar ist. Natürlich gibts eine Liste bisher benutzter Ausdrücke und eine Liste der im Ausdruck benutzten Variablen. Selbstredend können die Variablen in der Liste zwischen TRUE und FALSE umgeschaltet werden.

Ach ja: das ganze ist nicht case-sensitiv und sollte wenns geht richtig geschrieben sein ;-)

Edit V1: Das NOT-Problem ist gefixt, und die AVs sollten (hoffe ich) weg sein

Edit V2: Op0 bis OpF werden unterstützt ;)

dizzy 25. Okt 2005 17:18

Re: Noch ein Logikparser *g*
 
Hihi, und ich hab mich aus selber Quelle inspiriert auch dran gemacht meinen CQParser zu einem weiteren Logikparser zu mutieren ^^. Nur ist das Ding noch nicht fertig... aber er soll dann auch nicht nur mit Bools arbeiten können, sondern gleich auf DWords, und im Ergebnis zusätzlich mitteilen ob es als DWord oder Bool zu interpretiern ist, abhängig von der Kombination in der Gleichung (Vergleiche will ich da auch noch drin haben...). Der ist aber noch, ääähm... "Nicht-Der-Rede-Wert-Alpha-Phase" :D

Stanlay Hanks 25. Okt 2005 17:36

Re: Noch ein Logikparser *g*
 
Hi. Ich hätte in diesem Zusammenhang eine Frage, für die ich mich schon fast schäme: Wofür braucht man sowas? :oops:

Dax 25. Okt 2005 17:37

Re: Noch ein Logikparser *g*
 
Na ja.. Öhm.. man kann damit Wahrheitstabellen erstellen und.. öh.. hm :gruebel: Keine Ahnung. War einfach nur so ein Spassprojekt ;)

Stanlay Hanks 25. Okt 2005 17:39

Re: Noch ein Logikparser *g*
 
Aja :mrgreen: Danke für die Aufklärung.

Aenogym 25. Okt 2005 19:15

Re: Noch ein Logikparser *g*
 
(was man aus langerweile nicht alles testet :mrgreen: )

also erstmal glückwunsch :thumb:

so, nun zur kritik:
  • ich mag keine floating windows :P
  • "gegen x86 kompilieren" hat anscheinend keine wirkung (oder ich bi zu blöd dazu)

jo. bis auf diese beiden kleinigkeiten: nicht schlecht :thumb:

aenogym

Dax 25. Okt 2005 19:25

Re: Noch ein Logikparser *g*
 
  • Mit floatenden Fenstern ists ein wenig übersichtlicher :mrgreen;
  • Das kompilieren tut schon was ;-) Man merkts nur erst bei richtig langen Ausdrücken mit vielen Variablen.

Khabarakh 25. Okt 2005 20:15

Re: Noch ein Logikparser *g*
 
Und noch ein toller Parser :thumb: !
Ein Vorschlag: Wenn du nun schon einen eigenen Parser geschrieben hast, sollte es wohl keine großen Schwierigkeiten machen, auch die anderen 8 Junktoren einzubauen (so sinnlos manche auch sein mögen :wink: ).

PS:
Code:
NOT a
= 0  0
  1  1

---

NOT (a)
= 0  1
  1  0
Das würde ich noch ändern :stupid: .

Dax 25. Okt 2005 20:18

Re: Noch ein Logikparser *g*
 
Es gibt noch mehr? :shock: Dann immer her damit, ich will die da drin haben ;)

Matze 25. Okt 2005 20:21

Re: Noch ein Logikparser *g*
 
Ähm, nach so 3 Minuten Rumprobieren kam beim Beenden:

Zitat:

---------------------------
Logicevaluator
---------------------------
Access violation at address 0047B802 in module 'LogicEvaluator.exe'. Read of address 00000004.
---------------------------
OK
---------------------------
Ich habe alles standardmäßig gelassen (auch diese "Formel") und mal a und mal b verändert, die Wertetabelle ausgegeben und beendet.

Dax 25. Okt 2005 20:24

Re: Noch ein Logikparser *g*
 
Hm, das gefällt mir gar nicht :? Das werd ich mir mal genauer ansehen. Danke :)

whiteshark 25. Okt 2005 20:45

Re: Noch ein Logikparser *g*
 
Zitat:

Zitat von Stanlay Hanks
Hi. Ich hätte in diesem Zusammenhang eine Frage, für die ich mich schon fast schäme: Wofür braucht man sowas? :oops:

Du weißt nicht wofür man soetwas braucht? Mit solchen Gattern kann man gezielt Schaltungen entwerfen, bzw. durch soetwas werden Schaltungen vereinfacht. Auf diesen Verknüpfungen beruht der ganze Aufbau des Computers! Das ist der Grundbaustein der Digitalelektronik.

@Dax: Das Programm laäft bei mir und ich finde es sehr gut. Bringt mich echt weiter.
Kann du es noch einfügen, dass das Programm ein K-V-Diagramm erzeugt? (wäre noch eine kleine Ergänzung zu dem Programm)

Khabarakh 25. Okt 2005 20:52

Re: Noch ein Logikparser *g*
 
Jetzt habe ich ein Problem: Wie soll ich bloß diese verschnörkelten Junktoren im ASCII-Satz ausdrücken :mrgreen: ? Für Kunst ist es heute zu spät, ich versuch es mal morgen :wink: . Auf jeden Fall kann eben jeder Junktor vier verschiedene "Parameter" annehmen ((0, 0), (0, 1), (1, 0), (1, 1)). Daraus ergeben sich 2^4 Junktoren, die jeweils verschiedene "Lösungstafeln" haben. Ein Beispiel noch:
Delphi-Quellcode:
Falsum
a ^ b
---
a b a^b
0 0  0
1 0  0
0 1  0
1 1  0
Sehr sinnvoll *g*.

Dax 25. Okt 2005 20:55

Re: Noch ein Logikparser *g*
 
Dann beschränken wir uns erstmal lieber auf sinnvolle Junktoren :mrgreen:

@whiteshark: Freut mich helfen zu können :) Wenn du mir jetzt noch sagst was ein K-V-Diagramm ist... :duck:

Matze 25. Okt 2005 21:00

Re: Noch ein Logikparser *g*
 
Kennste Google? :mrgreen:

http://tech-www.informatik.uni-hambu.../tutorial.html
http://wonky.skibi.de/webelektronik/53.php

MisterNiceGuy 25. Okt 2005 21:55

Re: Noch ein Logikparser *g*
 
Sehr gutes Programm :thumb: Bekommen wir den Quelltext irgendwann? :-D

Dust Signs 25. Okt 2005 22:36

Re: Noch ein Logikparser *g*
 
Zitat:

Zitat von Matze
Ähm, nach so 3 Minuten Rumprobieren kam beim Beenden:

Zitat:

---------------------------
Logicevaluator
---------------------------
Access violation at address 0047B802 in module 'LogicEvaluator.exe'. Read of address 00000004.
---------------------------
OK
---------------------------
Ich habe alles standardmäßig gelassen (auch diese "Formel") und mal a und mal b verändert, die Wertetabelle ausgegeben und beendet.

3 Minuten? Bei mir kommt das nach ein bisschen rumspielen auch nach 10 Sekunden ;) (ebenfalls beim Beenden)

Dust Signs

Dax 25. Okt 2005 22:55

Re: Noch ein Logikparser *g*
 
Zitat:

Zitat von MisterNiceGuy
Sehr gutes Programm :thumb: Bekommen wir den Quelltext irgendwann? :-D

Klar, sobald ich diese eine, unwichtige Sache abgeklärt hab ;) Bis dahin kann ich nur fertige Kompilate anbieten...


Zitat:

Zitat von Dust Signs
3 Minuten? Bei mir kommt das nach ein bisschen rumspielen auch nach 10 Sekunden ;) (ebenfalls beim Beenden)

Könnt ihr mir schildern, was ihr da so verbrochen habt? Ich kanns ums verrecken nicht reproduzieren.. :?

Dax 27. Okt 2005 14:13

Re: Noch ein Logikparser *g*
 
Ist das ganze jetzt schon uninteressant geworden? Hätte ich gar nicht gedacht :mrgreen:

marabu 27. Okt 2005 16:09

Re: Noch ein Logikparser *g*
 
Zitat:

Zitat von Dax
Es gibt noch mehr? Dann immer her damit, ich will die da drin haben

Einige haben sogar noch vernünftige Namen.

Grüße vom marabu

Dax 27. Okt 2005 16:18

Re: Noch ein Logikparser *g*
 
Zitat:

Zitat von marabu
Einige haben sogar noch vernünftige Namen.

Danke :) Ich werd dann mal die noch fehlenden als Op0 bis OpF hinzufügen ;)

Dax 27. Okt 2005 19:28

Re: Noch ein Logikparser *g*
 
Drin und funktionabel :mrgreen:

Dt2158 2. Nov 2005 15:40

Re: Noch ein Logikparser *g*
 
Zitat:

Zitat von Stanlay Hanks
Hi. Ich hätte in diesem Zusammenhang eine Frage, für die ich mich schon fast schäme: Wofür braucht man sowas? :oops:

Hihi geh an ne tfh-berlin und besuch DSY1 (Digitale Systeme 1)

Das is im Grunde boolche Algebra und die schnittstelle zwischen elektrotechnik und elementarer Computerlogik ;)


*wunder* ich bin eingeloggt bin aber nich authorisiert das runter zu laden?

MagicAndre1981 2. Nov 2005 16:04

Re: Noch ein Logikparser *g*
 
Halo Dax,

kannst du noch eine Minimierung mittels KV-Diagramm in dein Proggie einbauen?

André

Dax 2. Nov 2005 16:17

Re: Noch ein Logikparser *g*
 
Ich kanns versuchen, aber erstmal muss ich das auf dem Weg per Hand kapieren ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz