eqn (oprogramowanie) - eqn (software)

równo
Pierwotny autor (autorzy) Brian Kernighan ,
Lorinda Cherry
( AT&T Bell Laboratories )
Deweloper(zy) Różne open-source i komercyjnych deweloperów
Pierwsze wydanie czerwiec 1974 ; 47 lat temu ( 1974-06 )
System operacyjny Unix , uniksowy , plan 9 Plan
Platforma Wieloplatformowy
Rodzaj Komenda

Część pakietu troff narzędzi do układania dokumentów w systemie Unix , eqn jest preprocesorem, który formatuje równania do drukowania. Podobny program, neqn , akceptował te same dane wejściowe co eqn, ale generował dane wyjściowe dostrojone tak, aby wyglądały lepiej w nroff . Program eqn został stworzony w 1974 roku przez Briana Kernighana i Lorindę Cherry . Został zaimplementowany przy użyciu kompilatora-kompilatora yacc .

Język wprowadzania używany przez eqn pozwala użytkownikowi pisać wyrażenia matematyczne w taki sam sposób, w jaki byłyby wypowiadane na głos. Język jest zdefiniowany przez gramatykę bezkontekstową wraz z pierwszeństwem operatorów i regułami łączności operatorów . Język eqn jest podobny do matematycznego komponentu TeX , który pojawił się kilka lat później, ale jest prostszy i mniej kompletny.

Niezależna kompatybilna implementacja preprocesora eqn została opracowana przez GNU jako część groff , wersji troffa GNU. Implementacja GNU rozszerza oryginalny język, dodając kilka nowych słów kluczowych, takich jak smallover i accent . mandoc , wyspecjalizowany kompilator stron podręcznika UNIX , zawiera również samodzielny parser/formatter eqn.

Przykłady składni

Oto jak niektóre przykłady zostałyby napisane w eqn (z odpowiednikami w TeX dla porównania):

TeX równo formuła
a^2 a sup 2
\sum_{k = 1}^N k^2 sum from { k = 1 } to N { k sup 2 }
x = {-b \pm \sqrt{b^2 - 4ac} \over 2a} x = {-b +- sqrt{b sup 2 - 4ac}} over 2a

Spacje są ważne w eqn; tokeny są rozdzielane tylko znakami odstępu , tyldami ~, nawiasami klamrowymi {} i podwójnymi cudzysłowami "". W ten sposób f(pi r sup 2)uzyskuje się , podczas gdy konieczne jest podanie zamierzonego . f( pi r sup 2 )

Bibliografia

Bibliografia

Linki zewnętrzne