State Machine Compiler für 8-bit AVRs? - Page 2

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From German to

Threaded View
Re: State Machine Compiler für 8-bit AVRs?
On 25.09.19 17:51, Stefan Reuther wrote:


Quoted text here. Click to load it


Quoted text here. Click to load it

Quoted text here. Click to load it


lediglich STARTET.

Ich bin mir extrem sicher, dass ich ein Programm hinkriege, dass nicht



Und einen Parser kann man auch in einer Programmiersprache schreiben,

Performance nicht kritisch ist.




Joa und ich habe produktiven, sicherheitskritsichen Kernelcode
geschrieben, der jahrelang unterbrechungsfrei laufen muss. Da kann man
sich keine Ressourcenleaks erlauben, nicht mal die Kleinsten.


Quoted text here. Click to load it

Quoted text here. Click to load it

Na du musst dich schon entscheiden. Entweder du unterstellst mir


bekommst eine entsprechend unfreundliche Antwort. Beides geht nicht.




Mag ja sein, trotzdem hast du einen INFORMATIVEN Teil als "Beleg"


ganz klar drin steht, dass es eben nicht den Sprachumfang abdeckt.


Quoted text here. Click to load it


beliebiges Beispiel raus: "14.2. Names of template specializations".
Eine popelige Grammatik, evtl 15 Zeilen lang. Gefolgt von 1 1/2 Seiten
Prosa, die dann genau sagt wie die zu interpretieren ist.

Das ist keine formale Beschreibung einer Sprache. Das ist Prosa.

Quoted text here. Click to load it

Quoted text here. Click to load it


Eine formale Beschreibung, die man im idealfall direkt einem Parser
vorlegen kann, also maschinenlesbar ist. C++ ist aber als Sprache so
kompliziert, dass ich vermute, dass das  wohl nicht (mehr?) machbar ist.
Deswegen nutzt man eben viel Prosa und Beispiele, um zu verdeutlichen,
was gemeint ist.



Quoted text here. Click to load it


komplizierten Disambiguation Regeln. Die wirklich korrekt zu
implementieren ist (auch aufgrund der mangelhaften Definition als

wieder bei Beispielen, die von einem Compiler gefressen werden und von
einem anderen nicht.



gehabt mir trivialsten Mist wie

std::vector<std::vector<std::string>>



std::vector<std::vector<std::string> >



nur gruselig.


Johannes

--  

selben Hardware." -- Hans-Peter Diettrich in d.s.e.

Re: State Machine Compiler für 8-bit AVRs?
Am 27.09.2019 um 10:37 schrieb Johannes Bauer:

Quoted text here. Click to load it

Quoted text here. Click to load it

Das nennt sich - ich wiederhole mich - semantische Bedingungen. Von


Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it





usw.).



Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Diese Disambiguierungsregeln hat es zum Teil von C geerbt. 'a * b;' ist
ein expression-statement oder eine Deklaration.



Quoted text here. Click to load it

Quoted text here. Click to load it


Quoted text here. Click to load it

Das hat nichts mit schwammiger Disambiguierung zu tun, das ist ein ganz
normaler "maximum munch" Lexer, der, wenn man ihm keinen Tipp gibt, '>>'
als ein Token parsed.

Solche Effekte gibt es in vielen Sprachen. Pascal:

     a := sqrt(.5);

(parsed nicht, weil '(.' als '[' interpretiert wird.)




  Stefan

Re: State Machine Compiler für 8-bit AVRs?
Am 27.09.2019 um 17:42 schrieb Stefan Reuther:

Quoted text here. Click to load it



dabei sind, das "dangling else" wird auch weit einfacher in der  



hat, nicht aber "short short". Ist eigentlich heutzutage auch "long  


Quoted text here. Click to load it

Sofern man Digraphen als Option eingeschaltet hat. Heutige Compiler  

per Default. Delphi unterscheidet inzwischen sogar Kommentare in { } und  


Schreibweise auskommentieren.

DoDi

Re: State Machine Compiler für 8-bit AVRs?
Am 27.09.2019 um 21:22 schrieb Hans-Peter Diettrich:
Quoted text here. Click to load it


Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it


"long signed long" ist das gleiche wie "long long".


24-Bit-Typen kennt (MPLAB C18). Was sollte denn "short short" sein? Bei


selten in freier Natur anzutreffen sein. Einfach, weil sich der


Quoted text here. Click to load it

Quoted text here. Click to load it

Zumindest die Turbo-Pascal-Compiler hatten keine mir bekannte


Quoted text here. Click to load it


Quoted text here. Click to load it

Das wiederum hatte Turbo Pascal auch.


  Stefan

Re: State Machine Compiler für 8-bit AVRs?
Am 28.09.2019 um 11:58 schrieb Stefan Reuther:
Quoted text here. Click to load it


Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it




Quoted text here. Click to load it


Quoted text here. Click to load it


Das hat dann aber nichts mit einem C Standard zu tun, sondern ist eine  
compilerspezifische Erweiterung.

Quoted text here. Click to load it

Quoted text here. Click to load it


Deshalb schrieb ich ja "heutige" Compiler :-]

DoDi

Re: State Machine Compiler für 8-bit AVRs?
On 27.09.19 17:42, Stefan Reuther wrote:

Quoted text here. Click to load it

Quoted text here. Click to load it






Quoted text here. Click to load it




Quoted text here. Click to load it


nutzloser ist die reine formale Grammatik. Weil dann kann ich


PROGRAM := chr(0..255)*





Ist aber halt super nutzlos, so eine Grammatik.

Quoted text here. Click to load it






Quoted text here. Click to load it

Schon klar. Aber es geht nicht darum, wieso der Parser das so parst,
sondern was per Definition die *korrekte* Art des Parsens ist. Und, wenn


std::vector<std:vector<std::string>>

Formal gesehen vor C++x ein Syntaxfehler. Ich glaube mich daran zu
errinern, dass sowohl der MS C++-Compiler als auch der icc trotzdem das
geparst haben, was "gemeint" war, und nur der gcc sich daran
verschluckte. Und meiner Errinerung nach war gcc eben formal "korrekt".
Aber das ist alles jetzt schon ewig her, bin mir in den Details nicht
mehr ganz sicher.

Das verdeutlicht aber genau das Problem, das ich anspreche: Jemand, der
einen Compiler schreibt, versucht das "richtige" zu machen, weil die

Schwanz mit dem Hund.


Johannes

--  

selben Hardware." -- Hans-Peter Diettrich in d.s.e.

Re: State Machine Compiler für 8-bit AVRs?
Am 23.09.2019 um 14:15 schrieb Gerhard Hoffmann:
Quoted text here. Click to load it



Quoted text here. Click to load it












Wobei ich mich frage, wie der C Preprozessor in einen generierten Parser  
eingebaut werden kann. Aber die Antwort kenne ich inzwischen schon,  


DoDi

Re: State Machine Compiler für 8-bit AVRs?
On 23.09.19 19:07, Hans-Peter Diettrich wrote:

Quoted text here. Click to load it


Quoted text here. Click to load it



Aaaaaaaahahahahahaha!

Ja, klar. Wenn Dateien nicht gefunden werden, versucht er mal auf



Gott, du bist so armselig mit deinen dumm-dreisten Ausreden und




Neeeeeeeeein oh neeeeeeein, die allerschlimmste Strafe von allen. In
deinem Filter zu "schmoren". Jetzt entgehen mir deine altklugen


Quoted text here. Click to load it


Dass du nicht mal in der Lage bist, einen Newsreader zu bedienen,


Alles Liebe,
Dein Johannes

--  

selben Hardware." -- Hans-Peter Diettrich in d.s.e.

Re: State Machine Compiler für 8-bit AVRs?
Am 21.09.19 um 11:29 schrieb Andreas Weber:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it




es auch gehen. Links/rechts-rekursiv mit 1 token look-ahead.


Da kommt auch nur eine Matrix raus und eine function, die  inputs
entgegennimmt und an den passenden Stellen die Aktionen triggert.



Automaten in Weinberger-Arrays. Weinberger-Arrays sind so was



(Aho, Weinberger, Kernighan). Die ganze UNIX/C-Truppe bei AT&T
waren eigentlich Halbleiterleute und Digitaldesigner.
Unix und C waren nur "Abfallprodukte".




Re: State Machine Compiler für 8-bit AVRs?

 >(Aho, Weinberger, Kernighan). Die ganze UNIX/C-Truppe bei AT&T
 >waren eigentlich Halbleiterleute und Digitaldesigner.
 >Unix und C waren nur "Abfallprodukte".

Natuerlich! Die ganzen Programmierer sind nur Abfallprodukte der
Hardwareentwicklung. Ich erzaehle denen das andauernd, aber sie wollen
es einfach nicht akzeptieren. :)

Olaf



Site Timeline