Zadanie #1117
Ujednolicić nazwy reguł w gramatyce
Status: | Zamknięty | Start date: | 29 Nov 2010 | ||
---|---|---|---|---|---|
Priority: | Normalny | Due date: | |||
Assignee: | Paweł Kędzia | % Done: | 10% | ||
Category: | - | ||||
Target version: | - |
Description
1. Proponuję przyjąć skrótowe nazwy wszystkich typów, np. strset
, bool
, symset
, position
(samo pos
może się mylić z part-of-speech) i stosować konsekwentnie te same skróty we wszystkich regułach, gdzie w ogóle podajemy typ w nazwie. Proponuję wszędzie skrócić str_set
do strset
i analogicznie dla pozostałych typów (choć nie nalegam), wtedy łatwiej jest wizualnie odróżnić zwracany typ od reszty nazwy reguły, por. sym_set_variable_acc
.
2. Reguły „globalne” (dla użytkownika): proponuję parse_strset_op
, parse_bool_op
(ewentualnie zachować pred
== bool_op
, ale chyba nie warto).
3. Cała gramatyka: jeśli reguła nie opisuje parsowania ciągu wyrażeń (póki co chyba takich nie mamy), nazwa powinna być w liczbie pojedynczej.
4. Nazwy op_lower
itp. (op_cokolwiek
) proponuję zmienić na odpowiednie dla danego typu: strset_lower
.
5. Teoretycznie może być niejednoznaczne, czy chodzi o funkcję zwracającą typ czy o typ prosty sam w sobie. W praktyce problemu nie będzie, bo jedynymi miejscami, które zwracają typ prosty są reguły _literal
(mm tak mi się wydaje). Tam można dodać komentarz „parsing value literal, returning PLAIN VALUE” czy coś w tym stylu. Alternatywny wariant: wszędzie, gdzie zwracamy funkcję, pisać strsetf
, boolf
itp., łącznie z regułami dla użytkownika (parse_boolf
).
Czekam na komentarze!
History
#1 Updated by Paweł Kędzia almost 13 years ago
- % Done changed from 0 to 10
W repozytorium znajduje się w miare logicznie posklejana gramatyka (w/g mnie jej układ jest przyjaźniejszy do czytania, aniżeli wcześniej). Reguły zostały mniej więcej ponazywane w sposób zaproponowany przez Adama (wybrałem wariant pierwszy -- nie dodaję postfiksu określającego typ zwracany (np. funkcja) do nazwy reguły np. strset_setvarf, zamiast tego jest po prostu strset_setvar). Jedyna niejednoznaczność w nazewnictiwe jaka powstała, dotyczy operatorów... equal, in, inter, setvar (nadreguła poszczególnych reguł [typ]_setvar) z tego względu, że reguły zwracają co prawda wartość typu bool, jednak ich zachowanie dotyczy każdego z typów. Aktualnie regułom parsującym wspomniane operatory, nadałem nazwy, kolejno: equal_operator, in_operator, inter_operator, setvar_operator. Oczywiście to jest stan "dyskusyjny", nie ostateczny.
#2 Updated by Adam Radziszewski over 12 years ago
- Status changed from Nowy to Zamknięty