POSIX sh EBNF-Grammatik

8

Gibt es eine vorhandene POSIX sh-Grammatik oder muss ich sie direkt aus der Spezifikation herausfinden?

Hinweis Ich bin nicht so sehr an einem reinen sh interessiert; eine erweiterte, aber konforme sh ist auch mehr als in Ordnung für meine Zwecke.

    
rubenvb 24.03.2013, 13:11
quelle

3 Antworten

5

Ich habe noch mehr gegraben und diese Ressourcen gefunden:

  1. Ein sh Tutorial befindet sich hier

  2. Ein Bash-Buch, das die BNF-Grammatik von Bash 2.0 enthält (aus hier ) ) mit dem entsprechenden Anhang immer noch hier

Ich habe die Quellen von bash , pdksh und posh durchgesehen, aber auf der Abstraktionsebene, die ich brauche, nichts entfernt gefunden.

    
rubenvb 24.03.2013, 14:48
quelle
6

Der POSIX-Standard definiert die Grammatik für die POSIX-Shell. Die Definition enthält eine kommentierte Yacc-Grammatik. Als solches kann es mehr oder weniger mechanisch in EBNF umgewandelt werden.

Wenn Sie eine "echte" Grammatik wollen, dann müssen Sie härter schauen. Wähle deine 'echte Shell' und finde die Quelle und finde heraus, woraus die Grammatik besteht.

Beachten Sie, dass EBNF nicht weit verbreitet ist. Es ist von begrenztem praktischen Wert, nicht zuletzt, weil es im Wesentlichen keine Werkzeuge gibt, die es unterstützen. Daher ist es unwahrscheinlich, dass Sie eine EBNF-Grammatik (von fast allem) von der Stange finden.

    
Jonathan Leffler 24.03.2013 15:18
quelle
1

Ich würde erwarten, dass sh, csh, ash, bash Parser enthalten würden. GNU-Versionen davon sind Open Source; Sie könnten einfach dort nachsehen.

    
Ira Baxter 24.03.2013 13:47
quelle

Tags und Links