{"id":1136,"date":"2024-10-04T10:38:26","date_gmt":"2024-10-04T13:38:26","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=1136"},"modified":"2024-10-04T12:20:53","modified_gmt":"2024-10-04T15:20:53","slug":"compiladores-5","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/compiladores-5\/","title":{"rendered":"Compiladores #5"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">A An\u00e1lise nos Formatadores de Texto<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 \u00fatil considerar a entrada para um formatador de texto como especificando uma hierarquia de compartimentos, que s\u00e3o regi\u00f5es retangulares a serem preenchidas por algum padr\u00e3o de bits, representando pontos claros e escuros a serem impressos no dispositivo de sa\u00edda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por exemplo, o sistema TEX(Knuth[1984a]) v\u00ea sua entrada dessa forma. Cada caractere, que n\u00e3o seja parte de um comando, representa um compartimento contendo o padr\u00e3o de bits para aquele caractere, na fonte e tamanho apropriados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Os caracteres consecutivos n\u00e3o separados por &#8220;espa\u00e7os em branco&#8221;(espa\u00e7os ou caracteres de avan\u00e7o de linha) s\u00e3o agrupados em palavras, consistindo em uma sequ\u00eancia de compartimentos horizontalmente arranjados, mostrados esquematicamente na Fig. 1.6<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"665\" height=\"180\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image.png\" alt=\"\" class=\"wp-image-1138\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image.png 665w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-300x81.png 300w\" sizes=\"auto, (max-width: 665px) 100vw, 665px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">O agrupamento de caracteres em palavras(ou comandos) \u00e9 o aspecto linear ou l\u00e9xico de an\u00e1lise do formatador de texto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Os compartimentos, em TEX, podem ser constru\u00eddos a partir de outros menores, atrav\u00e9s de combina\u00e7\u00f5es arbitr\u00e1rias, horizontais e verticais. Por exemplo,<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"294\" height=\"57\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-1.png\" alt=\"\" class=\"wp-image-1139\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">agrupa a lista de compartimentos pela justaposi\u00e7\u00e3o dos mesmos horizontalmente, enquanto que operador \\vbox pode agrupar uma lista de compartimentos por justaposi\u00e7\u00e3o vertical. Dessa forma, se escrevemos em TEX<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"406\" height=\"34\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-2.png\" alt=\"\" class=\"wp-image-1140\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-2.png 406w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-2-300x25.png 300w\" sizes=\"auto, (max-width: 406px) 100vw, 406px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">obteremos o arranjo de compartimentos mostrando na Fig. 1.7. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"446\" height=\"233\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-3.png\" alt=\"\" class=\"wp-image-1141\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-3.png 446w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-3-300x157.png 300w\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">A determina\u00e7\u00e3o do arranjo hier\u00e1rquico de compartimentos estabelecido pela entrada \u00e9 parte da an\u00e1lise sint\u00e1tica em TEX.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como outro exemplo, o pr\u00e9-processador EQN para a matem\u00e1tica(Kernighan e Cherry[1975]) ou o processador matem\u00e1tico em TEX constroem express\u00f5es matem\u00e1ticas a partir de operadores como sub e sup, significados subscritos e sobrescritos. Se EQN encontra um texto de entrada da forma<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"40\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-4.png\" alt=\"\" class=\"wp-image-1143\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">comprime o tamanho de box e o atrela a BOX, pr\u00f3ximo ao canto inferior direito, como ilustrado na Fig. 1.8.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"190\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-5.png\" alt=\"\" class=\"wp-image-1144\" style=\"width:612px;height:auto\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-5.png 612w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-5-300x93.png 300w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">O operador sup, similarmente, atrela box ao canto superior direito.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esses operadores podem ser aplicados recursivamente, de tal forma que o texto EQN<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"211\" height=\"37\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-6.png\" alt=\"\" class=\"wp-image-1145\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">resulta em ai\u00b2. * O agrupamento dos operadores sub e sup em tokens \u00e9 parte da an\u00e1lise l\u00e9xica do texto EQN. No entanto, \u00e9 necess\u00e1ria a sua estrutura sint\u00e1tica para determinar o tamanho e a localiza\u00e7\u00e3o de um compartimento.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"75\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-7-1024x75.png\" alt=\"\" class=\"wp-image-1146\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-7-1024x75.png 1024w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-7-300x22.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-7-768x56.png 768w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2024\/10\/image-7.png 1214w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/tsxvpsbr.dyndns.org\/arquivos\/UFFS\/Compiladores%20-%20Princ%C3%ADpios%20T%C3%A9cnicas%20e%20Ferramentas.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">PDF<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"video_embed clearfix\"><div class=\"video_embed clearfix\"><iframe loading=\"lazy\" title=\"Compila03 - An\u00e1lise L\u00e9xica\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/uj00_gvCSKk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div><\/div>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/go.hotmart.com\/V95858257T\" target=\"_blank\" rel=\"noreferrer noopener\">Curso completo de Compiladores<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A An\u00e1lise nos Formatadores de Texto \u00c9 \u00fatil considerar a entrada para um formatador de texto como especificando uma hierarquia de compartimentos, que s\u00e3o regi\u00f5es retangulares a serem preenchidas por algum padr\u00e3o de bits, representando pontos claros e escuros a serem impressos no dispositivo de sa\u00edda. Por exemplo, o sistema TEX(Knuth[1984a]) v\u00ea sua entrada dessa [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":197,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44],"tags":[45],"class_list":["post-1136","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-compiladores","tag-compiladores"],"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/1136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1136"}],"version-history":[{"count":7,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/1136\/revisions"}],"predecessor-version":[{"id":1156,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/1136\/revisions\/1156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/197"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}