{"id":182,"date":"2019-07-09T15:02:23","date_gmt":"2019-07-09T18:02:23","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=182"},"modified":"2019-10-29T12:00:29","modified_gmt":"2019-10-29T15:00:29","slug":"introducao-a-compilacao","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/","title":{"rendered":"Compiladores #1"},"content":{"rendered":"\n<p class=\"has-text-color has-vivid-cyan-blue-color\"><strong>Compiladores<\/strong><\/p>\n\n\n\n<p>Um compilador \u00e9 um programa\nque l\u00ea um programa escrito numa linguagem (a linguagem fonte) e o traduz num\nprograma equivalente numa outra linguagem (a linguagem alvo). Na leitura da\ntradu\u00e7\u00e3o do c\u00f3digo fonte para o c\u00f3digo alvo pode ocorrer um erro. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"341\" height=\"191\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/0.gif\" alt=\"\" class=\"wp-image-183\"\/><\/figure><\/div>\n\n\n\n<p style=\"text-align:center\"><a href=\"http:\/\/www.gpec.ucdb.br\/pistori\/disciplinas\/compiladores\/na_co_cg.htm\">http:\/\/www.gpec.ucdb.br\/pistori\/disciplinas\/compiladores\/na_co_cg.htm<\/a><\/p>\n\n\n\n<p>Ao longo dos anos 50, os\ncompiladores foram considerados programas notoriamente dif\u00edceis de se escrever.\nO primeiro compilador Fortran, por exemplo, consumiu 18 homens-ano para\nimplementar (Backus et al. [1957]). Com os avan\u00e7os de hoje um estudante pode\ncriar um compilador de um semestre. <\/p>\n\n\n\n<p class=\"has-text-color has-vivid-cyan-blue-color\"><strong>O Modelo de Compila\u00e7\u00e3o de\nAn\u00e1lise e S\u00edntese<\/strong><\/p>\n\n\n\n<p>Existem duas partes na\ncompila\u00e7\u00e3o: a an\u00e1lise e a s\u00edntese. A parte de an\u00e1lise divide o programa fonte\nnas partes constituintes e cria uma representa\u00e7\u00e3o intermedi\u00e1ria dele. A de\ns\u00edntese constr\u00f3i o programa alvo desejado, a partir da representa\u00e7\u00e3o\nintermedi\u00e1ria. Das duas, a s\u00edntese requer as t\u00e9cnicas mais especializadas. <\/p>\n\n\n\n<p>Durante a an\u00e1lise, as\nopera\u00e7\u00f5es implicadas pelo programa fonte s\u00e3o determinadas e registradas numa\nestrutura hier\u00e1rquica, chamada de \u00e1rvore. Frequentemente, \u00e9 utilizado um tipo\nespecial de \u00e1rvore, chamado \u00e1rvore sint\u00e1tica, na qual cada n\u00f3 representa uma\nopera\u00e7\u00e3o e o filho de um n\u00f3 representa o argumento da opera\u00e7\u00e3o. A figura\nrepresenta uma \u00e1rvore sint\u00e1tica. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"479\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/1-1024x479.jpg\" alt=\"\" class=\"wp-image-184\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/1-1024x479.jpg 1024w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/1-300x140.jpg 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/1-768x359.jpg 768w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/1.jpg 1297w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p>Muitas ferramentas de software\nque manipulam programas fonte realizam primeiro algum tipo de an\u00e1lise. Exemplos:<\/p>\n\n\n\n<p style=\"text-align:left\"><strong>Editores de estruturas:<\/strong> Um editor\nde estruturas toma como entrada um conjunto de comandos para construir um programa\nfonte. Realiza n\u00e3o s\u00f3 as fun\u00e7\u00f5es de um editor de textos ordin\u00e1rios, tais como\ncria\u00e7\u00e3o e modifica\u00e7\u00e3o deles, mas tamb\u00e9m analisa o conte\u00fado de um programa\nfonte, estabelecendo-lhe uma estrutura hier\u00e1rquica apropriada. O editor de\nestruturas pode, tamb\u00e9m, realizar tarefas adicionais que s\u00e3o \u00fateis ao preparo\nde um programa. Por exemplo, o autocomplete do Netbeans. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/2-1024x576.jpg\" alt=\"\" class=\"wp-image-185\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/2-1024x576.jpg 1024w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/2-300x169.jpg 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/2-768x432.jpg 768w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/2.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-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=\"[Codeigniter] Codeigniter + Netbeans com Autocomplete\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/u_MzOz4I8O8?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><strong>Pretty printers:<\/strong> Um pretty\nprinters analisa um programa e o imprime numa forma em que sua estrutura se\ntorne claramente vis\u00edvel. &nbsp;Por exemplo, o\neditor coloca em cores diferentes m\u00e9todos, argumentos, coment\u00e1rios e assim por\ndiante. Um exemplo deste tipo de editor \u00e9 o VS Code. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/3-1024x640.jpg\" alt=\"\" class=\"wp-image-186\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/3-1024x640.jpg 1024w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/3-300x187.jpg 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/3-768x480.jpg 768w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/3.jpg 1300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p style=\"text-align:center\"><a href=\"https:\/\/medium.com\/@fbnlsr\/10-essential-extensions-for-vs-code-fdfa17f4f66c\">https:\/\/medium.com\/@fbnlsr\/10-essential-extensions-for-vs-code-fdfa17f4f66c<\/a><\/p>\n\n\n\n<p><strong>Verificadores est\u00e1ticos:<\/strong> Um verificador\nest\u00e1tico l\u00ea um programa, analisa-o e tenta descobrir erros potenciais, sem\nexecut\u00e1-lo. Por exemplo, um verificador est\u00e1tico pode detectar quais as partes\ndo programa fonte que n\u00e3o poder\u00e3o nunca ser executadas, ou que uma certa\nvari\u00e1vel poderia ser usada antes de ter sido definida. Um exemplo de\nverificador est\u00e1tico \u00e9 o Pylint. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"691\" height=\"404\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/4-1.png\" alt=\"\" class=\"wp-image-187\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/4-1.png 691w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/4-1-300x175.png 300w\" sizes=\"auto, (max-width: 691px) 100vw, 691px\" \/><\/figure><\/div>\n\n\n\n<p style=\"text-align:center\"><a href=\"https:\/\/www.pylint.org\/\">https:\/\/www.pylint.org\/<\/a><\/p>\n\n\n\n<p><strong>Interpretadores:<\/strong> Os\ninterpretadores s\u00e3o frequentemente usados para executar linguagens de comandos,\ndado que cada operador numa tal linguagem \u00e9 usualmente uma invoca\u00e7\u00e3o de uma rotina\ncomplexa, como um editor ou compilador. Similarmente, algumas linguagens de \u201cn\u00edvel\nmuito alto\u201d, como PHP, s\u00e3o normalmente interpretadas, pois existem muitos\natributos de dados que n\u00e3o podem ser determinados em tempo de compila\u00e7\u00e3o. <\/p>\n\n\n\n<p>\u00c9 v\u00e1lido lembrar que alguns editores\nde c\u00f3digos realizam duas ou mais caracter\u00edsticas que foram apresentadas. <\/p>\n\n\n\n<p>Compiladores n\u00e3o est\u00e1 apenas\npresente na captura de um c\u00f3digo fonte e transform\u00e1-lo em um c\u00f3digo de m\u00e1quina.\nH\u00e1 outras \u00e1reas que utilizam a tecnologia dos compiladores. Exemplos:<\/p>\n\n\n\n<p><strong>Formatadores de texto:<\/strong> Um\nformatador de texto toma por entrada um fluxo de caracteres, a maior parte do\nmesmo como texto a ser composto tipograficamente, mas com alguma parte incluindo\ncomandos, a fim de indicar par\u00e1grafos, figuras ou estruturas matem\u00e1ticas, tais\ncomo subscritos e sobrescritos. Por exemplo, o Word.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"663\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/5-1-1024x663.png\" alt=\"\" class=\"wp-image-188\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/5-1-1024x663.png 1024w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/5-1-300x194.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/5-1-768x497.png 768w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/5-1.png 1188w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<figure class=\"wp-block-embed-wordpress aligncenter wp-block-embed is-type-wp-embed is-provider-claro-software\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/www.clarosoftware.com\/portfolio\/claroread-word\/\n<\/div><\/figure>\n\n\n\n<p><strong>Compiladores de sil\u00edcio:<\/strong> Um\ncompilador de sil\u00edcio possui uma linguagem fonte que \u00e9 similar ou id\u00eantica \u00e0 de\numa linguagem de programa\u00e7\u00e3o convencional. Entretanto, as vari\u00e1veis da mesma n\u00e3o\nrepresentam localiza\u00e7\u00f5es de mem\u00f3ria, mas sinais l\u00f3gicos (0 ou 1) ou grupos de\nsinais de um circuito de chaveamento. A sa\u00edda \u00e9 um projeto de circuito, numa\nlinguagem apropriada. Por exemplo, o VisualParadigm Online. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"582\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/6-1-1024x582.png\" alt=\"\" class=\"wp-image-189\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/6-1-1024x582.png 1024w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/6-1-300x171.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/6-1-768x437.png 768w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/6-1.png 1170w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p style=\"text-align:center\"><a href=\"https:\/\/online.visual-paradigm.com\/pt\/features\/logic-diagram-software\/\">https:\/\/online.visual-paradigm.com\/pt\/features\/logic-diagram-software\/<\/a><\/p>\n\n\n\n<p>Interpretadores de queries**: Um\ninterpretador de queries traduz um predicado, contendo operadores booleanos ou\nrelacionais, em comandos, para percorrer um banco de dados, de forma a\nsatisfazer ao predicado. Por exemplo, o phpmyadmin. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"745\" height=\"283\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/7-1.png\" alt=\"\" class=\"wp-image-190\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/7-1.png 745w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/7-1-300x114.png 300w\" sizes=\"auto, (max-width: 745px) 100vw, 745px\" \/><\/figure><\/div>\n\n\n\n<p style=\"text-align:center\"><a href=\"https:\/\/www.hostinger.com.br\/tutoriais\/mudar-url-wordpress-mysql-phpmyadmin\/\">https:\/\/www.hostinger.com.br\/tutoriais\/mudar-url-wordpress-mysql-phpmyadmin\/<\/a><\/p>\n\n\n\n<p class=\"has-text-color has-background has-very-dark-gray-color has-vivid-cyan-blue-background-color\"><strong><a href=\"https:\/\/amzn.to\/2G6ZbS2 \">Livro fonte: Compiladores: princ\u00edpios, t\u00e9cnicas e ferramentas <\/a><\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-background has-very-dark-gray-color has-vivid-cyan-blue-background-color\"><strong><a href=\"https:\/\/amzn.to\/2JysNZq\">Livros sobre compiladores<\/a><\/strong><\/p>\n\n\n\n<p>#compiladores<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Compiladores Um compilador \u00e9 um programa que l\u00ea um programa escrito numa linguagem (a linguagem fonte) e o traduz num programa equivalente numa outra linguagem (a linguagem alvo). Na leitura da tradu\u00e7\u00e3o do c\u00f3digo fonte para o c\u00f3digo alvo pode ocorrer um erro. http:\/\/www.gpec.ucdb.br\/pistori\/disciplinas\/compiladores\/na_co_cg.htm Ao longo dos anos 50, os compiladores foram considerados programas notoriamente [&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-182","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-compiladores","tag-compiladores"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.5 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Compiladores #1 - Viciados em Aprender<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Compiladores #1\" \/>\n<meta property=\"og:description\" content=\"Compiladores Um compilador \u00e9 um programa que l\u00ea um programa escrito numa linguagem (a linguagem fonte) e o traduz num programa equivalente numa outra linguagem (a linguagem alvo). Na leitura da tradu\u00e7\u00e3o do c\u00f3digo fonte para o c\u00f3digo alvo pode ocorrer um erro. http:\/\/www.gpec.ucdb.br\/pistori\/disciplinas\/compiladores\/na_co_cg.htm Ao longo dos anos 50, os compiladores foram considerados programas notoriamente [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/\" \/>\n<meta property=\"og:site_name\" content=\"Viciados em Aprender\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-09T18:02:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-10-29T15:00:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/51KNiYzPePL.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"368\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"blackzig\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"blackzig\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/\"},\"author\":{\"name\":\"blackzig\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"headline\":\"Compiladores #1\",\"datePublished\":\"2019-07-09T18:02:23+00:00\",\"dateModified\":\"2019-10-29T15:00:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/\"},\"wordCount\":766,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"image\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/51KNiYzPePL.jpg\",\"keywords\":[\"compiladores\"],\"articleSection\":[\"Compiladores\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/\",\"name\":\"Compiladores #1 - Viciados em Aprender\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/51KNiYzPePL.jpg\",\"datePublished\":\"2019-07-09T18:02:23+00:00\",\"dateModified\":\"2019-10-29T15:00:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/#primaryimage\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/51KNiYzPePL.jpg\",\"contentUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/51KNiYzPePL.jpg\",\"width\":368,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/introducao-a-compilacao\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Compiladores #1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/\",\"name\":\"Viciados em Aprender\",\"description\":\"Queremos aprender tudo o que for poss\u00edvel nesta vida.\",\"publisher\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\",\"name\":\"blackzig\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"contentUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"width\":1920,\"height\":1080,\"caption\":\"blackzig\"},\"logo\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\"},\"sameAs\":[\"http:\\\/\\\/www.micheladrianomedeiros.com.br\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Compiladores #1 - Viciados em Aprender","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/","og_locale":"pt_PT","og_type":"article","og_title":"Compiladores #1","og_description":"Compiladores Um compilador \u00e9 um programa que l\u00ea um programa escrito numa linguagem (a linguagem fonte) e o traduz num programa equivalente numa outra linguagem (a linguagem alvo). Na leitura da tradu\u00e7\u00e3o do c\u00f3digo fonte para o c\u00f3digo alvo pode ocorrer um erro. http:\/\/www.gpec.ucdb.br\/pistori\/disciplinas\/compiladores\/na_co_cg.htm Ao longo dos anos 50, os compiladores foram considerados programas notoriamente [&hellip;]","og_url":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/","og_site_name":"Viciados em Aprender","article_published_time":"2019-07-09T18:02:23+00:00","article_modified_time":"2019-10-29T15:00:29+00:00","og_image":[{"width":368,"height":500,"url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/51KNiYzPePL.jpg","type":"image\/jpeg"}],"author":"blackzig","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"blackzig","Tempo estimado de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/#article","isPartOf":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/"},"author":{"name":"blackzig","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"headline":"Compiladores #1","datePublished":"2019-07-09T18:02:23+00:00","dateModified":"2019-10-29T15:00:29+00:00","mainEntityOfPage":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/"},"wordCount":766,"commentCount":0,"publisher":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"image":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/#primaryimage"},"thumbnailUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/51KNiYzPePL.jpg","keywords":["compiladores"],"articleSection":["Compiladores"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/","name":"Compiladores #1 - Viciados em Aprender","isPartOf":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/#primaryimage"},"image":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/#primaryimage"},"thumbnailUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/51KNiYzPePL.jpg","datePublished":"2019-07-09T18:02:23+00:00","dateModified":"2019-10-29T15:00:29+00:00","breadcrumb":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/#primaryimage","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/51KNiYzPePL.jpg","contentUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/51KNiYzPePL.jpg","width":368,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-a-compilacao\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/micheladrianomedeiros.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Compiladores #1"}]},{"@type":"WebSite","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#website","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/","name":"Viciados em Aprender","description":"Queremos aprender tudo o que for poss\u00edvel nesta vida.","publisher":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/micheladrianomedeiros.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":["Person","Organization"],"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e","name":"blackzig","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","contentUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","width":1920,"height":1080,"caption":"blackzig"},"logo":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg"},"sameAs":["http:\/\/www.micheladrianomedeiros.com.br\/"]}]}},"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/182","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=182"}],"version-history":[{"count":8,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/182\/revisions"}],"predecessor-version":[{"id":537,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/182\/revisions\/537"}],"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=182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}