Heim >Backend-Entwicklung >Python-Tutorial >Ausführliche Erläuterung der PC-seitigen WeChat-Code-Scan-Registrierung und des Beispielcodes für die Anmeldung

Ausführliche Erläuterung der PC-seitigen WeChat-Code-Scan-Registrierung und des Beispielcodes für die Anmeldung

高洛峰
高洛峰Original
2017-03-14 13:37:305736Durchsuche

In diesem Artikel wird der Beispielcode für die PC-seitige WeChat-Scan-Registrierung und Anmeldung ausführlich erläutert.

Nachdem ich den lexikalischen Teil geschrieben habe, gibt es viele Aufgaben, und am Wochenende habe ich endlich Zeit, ihn umzusetzen Toller Teil zum Parsen der Grammatik.

Nachdem ich den Code fertiggestellt hatte, stellte ich fest, dass das Programm zu kurz war, die Statusmaschine nicht mitgerechnet, es hatte nur 186 Zeilen (einschließlich Kommentare) und die Der Schlüsselcode bestand aus weniger als 100 Zeilen. Nachdem ich Debugging ausgeführt hatte, stellte ich fest, dass es in Ordnung war. Es kann tatsächlich function.php in OneThink analysieren. Diese Datei kann als Master der PHP-Programme bezeichnet werden. Sie enthält alle Arten von Monstern. Das Debuggen ist wirklich mühsam. Natürlich werde ich es nicht sagen, haha ​​

Ausführliche Erläuterung der PC-seitigen WeChat-Code-Scan-Registrierung und des Beispielcodes für die Anmeldung

Da das Programm zu kurz ist, werde ich es im Detail erklären Falls Sie es nicht verstehen:)

Wir wissen, dass die Grammatikanalyse im Allgemeinen LL(1), LR(0), SLR(1), LALR(1), LR(1) und andere umfasst Analysemethoden. Die gebräuchlichsten sind LL(1), LR(0)

LL. Diese Analysemethode scannt von links nach rechts und leitet von links nach rechts ab; Verwendet LR eine Vorhersagetabelle, während LR eine Analysetabelle verwendet; der Schwierigkeitsgrad von LR ist höher als der von LL, und seine Analysefähigkeit ist auch höher als die von LL. Darüber hinaus weist LR mehr Änderungen auf. Daher muss für ein solch unterhaltsames Projekt natürlich LR verwendet werden, um kontinuierlich (zhuang) neue (bi) zu erstellen. Das

Modell

des LR-Analysators ist wie unten dargestellt.

Ausführliche Erläuterung der PC-seitigen WeChat-Code-Scan-Registrierung und des Beispielcodes für die Anmeldung

umfasst zwei Stapel, von denen der wichtigste die Generierung von LR-Analysetabellen ist. Natürlich werde ich ehrlich gesagt nicht den klassischen Methoden im Lehrbuch folgen. Wie erstellt man (tou) neues (lan)? Das ist der Schlüssel.

Wir sehen, dass SLR(1), LALR(1) und LR(1) alle Verbesserungen von LR(0) sind. Das wichtigste ist (1), was den Blick nach vorne darstellt. Warum nach vorne schauen? Um die Größe der Analysetabelle zu reduzieren. In Zukunft gibt es unzählige Möglichkeiten, die Möglichkeiten werden jedoch abnehmen und auch der Analyseumfang wird stark reduziert. Wenn wir den Analyseumfang reduzieren wollen, müssen wir nach vorne schauen, und je mehr wir schauen, desto kleiner wird die Analysetabelle, und umgekehrt wird die Programmierung schwieriger. Gibt es also eine Möglichkeit für mich, im Stehen Geld zu verdienen, ohne nach vorne zu schauen, ohne den Schwierigkeitsgrad zu erhöhen und die Analysetabelle zu verkleinern?

Ja, das ist wirklich kein Problem für einen älteren, faulen Mann. Wir wissen, dass die Notwendigkeit, nach vorne zu schauen, von der Grammatik Ausdruck herrührt: Wie zum Beispiel A → Abc gilt: Je länger der einzelne Ausdruck ist, desto größer ist die Unsicherheit. Daher kann durch die Begrenzung der maximalen Länge von Methodenausdrücken eine 100-prozentige Sicherheit innerhalb dieser Länge gewährleistet werden, und es besteht überhaupt keine Notwendigkeit, nach vorne zu schauen. Ich habe diese Methode mit begrenzter Länge LR genannt, das heißt LLLR(0,n), n>=3.

Auf diese Weise habe ich dieses Mal natürlich LLLR(0,3) als Analysemethode gewählt und aus Gründen der Vereinfachung der Implementierung beschlossen, den Status nicht zu speichern, sodass keine Analyse erstellt werden muss Tabelle, und die Tabelle wird nicht mehr generiert...

Verdammt! Das ist zu faul. Wenn Sie den Status nicht speichern, müssen Sie jedes Mal von Anfang an nach Effizienz suchen. Das ist das Leben eines Programmierers. Seien Sie nicht ungeduldig, die maximale Länge des Ausdrucks beträgt 3 und der maximale Suchschritt beträgt 3 Schritte. Keine Sorge, das war's. :)

Das ist das Geheimnis des 100-Zeilen-Ultra-Simple-PHP-Compilers, es reicht aus, um etwas Neues (bi) zu erstellen. Der Quellcode ist hier: ConverterV0.4.

zip

Viel Spaß!

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der PC-seitigen WeChat-Code-Scan-Registrierung und des Beispielcodes für die Anmeldung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn