{"id":9472,"date":"2011-11-07T23:05:00","date_gmt":"2011-11-07T21:05:00","guid":{"rendered":"https:\/\/fatihboy.com\/post\/kod-analizine-giris-101"},"modified":"2011-11-07T23:05:00","modified_gmt":"2011-11-07T21:05:00","slug":"kod-analizine-giris-101","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/kod-analizine-giris-101\/","title":{"rendered":"Kod Analizine Giri\u015f (101)"},"content":{"rendered":"<p>&nbsp;&nbsp; \u00dcniversitelerde defakto olmu\u015f bir ders kodudur 101; ilgili b\u00f6l\u00fcm\u00fcn ilk\/giri\u015f dersi kodudur. M\u00fchendislik okudu\u011fum zamanlar\u0131 hat\u0131rlar\u0131m bu say\u0131y\u0131 duyunca; Introduction to Computer Science (<em>Bilgisayar Bilimine Giri\u015f<\/em>) 101\u2026 Roslyn makale serisinde tam gaz yol al\u0131rken s\u0131ra art\u0131k yava\u015f yava\u015f kod analizine geliyor. Bu makalemde birlikte kod analizine ad\u0131m\u0131m\u0131z\u0131 atal\u0131m istedim. Bu y\u00fczden san\u0131r\u0131m makaleme verilecek ba\u015fl\u0131kta olmazsa olmazd\u0131 101\u2026<\/p>\n\n\n\n<p>&nbsp;&nbsp; Laf\u0131 daha fazla uzatmadan isterseniz konumuza geri d\u00f6nelim; kod analizinde ilk hedefimiz verilen kodu s\u00f6z dizim a\u011fac\u0131na ula\u015fmak olmal\u0131.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/RoslynDerleyiciAPIveBoruHatt.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/RoslynDerleyiciAPIveBoruHatt_thumb.png\" alt=\"Roslyn derleyici API'si ve Derleyici Boru Hatt\u0131\"\/><\/a><\/figure>\n\n\n\n<p>&nbsp;&nbsp; Roslyn\u2019den bahsederken yukar\u0131daki grafi\u011fi s\u0131k s\u0131k kullanaca\u011f\u0131m. Derleyicinin i\u00e7 yap\u0131s\u0131n\u0131n a\u00e7\u0131ld\u0131\u011f\u0131 Roslyn\u2019de modern derleyici boru hatt\u0131 \u00e7\u0131kt\u0131lar\u0131na ula\u015fabilmek i\u00e7in bizlere derleyici API\u2019si sunulmaktad\u0131r.Girdi olarak verilen kod bu boru hatt\u0131ndan derleyici taraf\u0131ndan analiz edilmekte ve bir \u00f6nceki i\u015flemin \u00e7\u0131kt\u0131s\u0131 bir sonrakine girdi olarak kullan\u0131lmakta. Bizlerin de bir kodu analiz ederken ya da assembly\u2019e d\u00f6n\u00fc\u015ft\u00fcr\u00fcrken takip etmesi gereken bu yolun ilk ad\u0131m\u0131 ise verilen kod\/projenin s\u00f6z dizim a\u011fac\u0131n\u0131n olu\u015fturulmas\u0131d\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp; S\u00f6z dizim API\u2019si bizlere derleyicilerin bak\u0131\u015f a\u00e7\u0131s\u0131ndan bir C# ve Visual Basic uygulamas\u0131n\u0131n nas\u0131l g\u00f6r\u00fcnd\u00fc\u011f\u00fcn\u00fc anlayabilmemiz ad\u0131na ilgili kodu s\u00f6z dizim a\u011fac\u0131n\u0131 sunmaktad\u0131r. Sunulan bu s\u00f6z dizim a\u011fac\u0131 tam anlam\u0131yla girdi olarak verilen kodu yans\u0131tmaktad\u0131r. \u00d6yle ki; kod i\u00e7erisinde yer alan a\u00e7\u0131klama ve hatta bo\u015fluklar\u0131 dahi bizlere bildirecektir.<\/p>\n\n\n\n<p>&nbsp;&nbsp; S\u00f6z dizim a\u011fac\u0131 derleyici taraf\u0131nda kodun incelenmesi sonras\u0131nda bir defa \u00fcretilmektedir, dolay\u0131s\u0131yla da daha sonradan de\u011fi\u015ftirilemezler. Bu \u00f6zellikleri biz yaz\u0131l\u0131m geli\u015ftiricilere s\u00f6z dizim a\u011fa\u00e7lar\u0131n\u0131 birden \u00e7ok i\u015f par\u00e7ac\u0131\u011f\u0131yla inceleyerek uygulamam\u0131z\u0131 h\u0131zland\u0131rabilme f\u0131rsat\u0131 verecektir.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Roslyn CTP ile sunulan S\u00f6z Dizim API\u2019si&nbsp; yak\u0131ndan inceleyecek olursak bizlere d\u00f6rt temel bile\u015fen sundu\u011funu g\u00f6rebiliriz; SyntaxTree, SyntaxNode, SyntaxToken ve SyntaxTrivia.&nbsp; <strong>SyntaxTree<\/strong> b\u00fct\u00fcn bir s\u00f6z dizim a\u011fac\u0131n\u0131 temsil ederken, <strong>SyntaxNode<\/strong> bu s\u00f6z dizim a\u011fac\u0131nda yer alan tan\u0131mlamalar, ifadeler ve c\u00fcmlecikler gibi s\u00f6zdizimsel yap\u0131lar\u0131 temsil etmektedir. SyntaxNode\u2019lar Derleyici API\u2019si taraf\u0131ndan kodun her bir par\u00e7as\u0131n\u0131 temsil edecek \u015fekilde ve a\u011fa\u00e7 hiyerar\u015fisinde olu\u015fturulmaktad\u0131rlar. Kod i\u00e7erisindeki anahtar kelime, operat\u00f6r ya da tan\u0131mlay\u0131c\u0131lar gibi bile\u015fenler ise <strong>SyntaxToken<\/strong>\u2019larca temsil edilmektedir. T\u00fcm bunlar\u0131n d\u0131\u015f\u0131nda kalan bo\u015fluklar, a\u00e7\u0131klamalar v.b. di\u011fer alanlar ise <strong>SyntaxTrivia<\/strong>\u2019larca temsil edilmektedir. Derleyici API\u2019si kod i\u00e7erisinde yer alan using direktifleri, s\u0131n\u0131f\/namespace\/metod v.b. tan\u0131mlamalar\u0131, parametre\/blok ifadelerini ve daha pek \u00e7ok yap\u0131y\u0131 bizlere yukar\u0131da sayd\u0131\u011f\u0131m bile\u015fenlerin \u00f6zelle\u015ftirilmi\u015f halleriyle (<em>kal\u0131t\u0131lm\u0131\u015f yap\u0131larla<\/em>) sunacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Bir kodun s\u00f6z dizim a\u011fac\u0131 \u00fczerinde i\u015flem yapabilmek i\u00e7in tabi ki \u00f6ncelikle i\u015flem yap\u0131lacak koda ait s\u00f6z dizim a\u011fac\u0131n\u0131 elde etmeliyiz. Bunun i\u00e7in ise yap\u0131lmas\u0131 gereken i\u015flem yap\u0131lacak olan kodu <em>Roslyn.Compilers.CSharp<\/em> alt\u0131nda yer alan <strong>SyntaxTree<\/strong> s\u0131n\u0131f\u0131na ait <strong>ParseCompilationUnit<\/strong> fonksiyonuna parametre olarak ge\u00e7mektir. Bu fonksiyon verilen kodu i\u015fleyerek bize SyntaxTree t\u00fcr\u00fcnden bir \u00e7\u0131kt\u0131 sunacakt\u0131r. <em>SyntaxTree.ParseCompilationUnit <\/em>fonksiyonunun kullan\u0131m\u0131n\u0131 g\u00f6sterebilmek ad\u0131na, <a href=\"\/en\/?p=9447\">\u00c7al\u0131\u015fma-Zaman\u0131nda Kod Derlemeye Var M\u0131s\u0131n\u0131z?<\/a> makalemde sizlerle payla\u015ft\u0131\u011f\u0131m klasik merhaba d\u00fcnya kodumuzun s\u00f6z dizim a\u011fac\u0131n\u0131 inceleyelim;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">using System;\nusing Roslyn.Compilers.CSharp;\n\nnamespace Com.Enterprisecoding.RoslynOrnegi {\n    public class Program {\n        static void Main(string[] args)         {\n            var sozDizimAgaci = SyntaxTree.ParseCompilationUnit(\n @\"using System;\n\nnamespace Com.Enterprisecoding.RoslynOrnegi {\n    public class MerhabaDunya {\n        public static void Mesaj() {\n            Console.WriteLine(\"\"Enterprisecoding'den Roslyn'e Merhaba\"\");\n        }\n    }\n}\");\n\n            DugumuYaz(sozDizimAgaci.Root, 0);\n        }\n\n        private static void DugumuYaz(SyntaxNode dugum, int seviye) {\n            Console.WriteLine(\"\".PadLeft(seviye) + dugum.Kind);\n\n            foreach (var altDugum in dugum.ChildNodes()) {\n                DugumuYaz(altDugum, seviye + 1);\n            }\n        }\n    }\n}<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/Roslyn_SozDizimAgaci.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/Roslyn_SozDizimAgaci_thumb.png\" alt=\"\u00d6rne\u011fimizi \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda verdi\u011fimiz kod i\u00e7erisindeki t\u00fcm SyntaxNode 'lar dola\u015f\u0131larak ekrana yazd\u0131r\u0131lacakt\u0131r\"\/><\/a><\/figure>\n\n\n\n<p>&nbsp;&nbsp; Uygulamam\u0131z\u0131n \u00e7\u0131kt\u0131s\u0131n\u0131n g\u00fczel g\u00f6r\u00fcnmesi ad\u0131na i\u015fledi\u011fimiz d\u00fc\u011f\u00fcm\u00fcn derinlik bilgisine g\u00f6re \u00e7\u0131kt\u0131da bo\u015fluk b\u0131rakarak a\u011fa\u00e7 hiyerar\u015fisinde bir g\u00f6r\u00fcnt\u00fc elde etmi\u015f olduk. \u00d6rne\u011fimizi basit tutmak ad\u0131na g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi sadece verdi\u011fimiz kod i\u00e7erisindeki SyntaxNode\u2019lar\u0131 dola\u015farak ekrana bast\u0131rd\u0131k, istersek ayn\u0131 i\u015flemi di\u011fer bile\u015fenler i\u00e7inde uygulamam\u0131z tabi ki m\u00fcmk\u00fcn.<\/p>\n\n\n\n<p>&nbsp;&nbsp; A\u015fa\u011f\u0131da, uygulamam\u0131z\u0131 bir ad\u0131m ileri g\u00f6t\u00fcrerek ekrana temel bile\u015fenlere dair bilgiler verdi\u011fimiz haliyle g\u00fcncellenmi\u015f kodumuzu bulabilirsiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">using System;\nusing Roslyn.Compilers.CSharp;\n\nnamespace Com.Enterprisecoding.RoslynOrnegi {\n    public class Program {\n        static void Main(string[] args)         {\n            var sozDizimAgaci = SyntaxTree.ParseCompilationUnit(\n @\"using System;\n\nnamespace Com.Enterprisecoding.RoslynOrnegi {\n    public class MerhabaDunya {\n        public static void Mesaj() {\n            Console.WriteLine(\"\"Enterprisecoding'den Roslyn'e Merhaba\"\");\n        }\n    }\n}\");\n\n            DugumuYaz(sozDizimAgaci.Root, 0);\n\n            Console.ReadKey();\n        }\n\n        private static void DugumuYaz(SyntaxNode dugum, int seviye) {\n            var varsayilanArkaplan = Console.ForegroundColor;\n\n            switch (dugum.Kind) {\n                case SyntaxKind.NamespaceDeclaration:\n                    Console.Write(\"\".PadLeft(seviye) + dugum.Kind + \" => \");\n                    Console.ForegroundColor = ConsoleColor.Yellow;\n\n                    Console.WriteLine(((NamespaceDeclarationSyntax)dugum).Name.PlainName);\n                    break;\n                case SyntaxKind.ClassDeclaration:\n                    Console.Write(\"\".PadLeft(seviye) + dugum.Kind + \" => \");\n                    Console.ForegroundColor = ConsoleColor.Yellow;\n\n                    Console.WriteLine( ((ClassDeclarationSyntax)dugum).Identifier.Value);\n                    break;\n                case SyntaxKind.MethodDeclaration:\n                    Console.Write(\"\".PadLeft(seviye) + dugum.Kind + \" => \");\n                    Console.ForegroundColor = ConsoleColor.Yellow;\n\n                    Console.WriteLine(((MethodDeclarationSyntax)dugum).Identifier.Value);\n                    break;\n                case SyntaxKind.StringLiteralExpression:\n                    Console.Write(\"\".PadLeft(seviye) + dugum.Kind + \" => \");\n                    Console.ForegroundColor = ConsoleColor.Yellow;\n\n                    Console.WriteLine( ((LiteralExpressionSyntax)dugum).Token.ValueText);\n                    break;\n                case SyntaxKind.UsingDirective:\n                    Console.Write(\"\".PadLeft(seviye) + dugum.Kind + \" => \");\n                    Console.ForegroundColor = ConsoleColor.Yellow;\n\n                    Console.WriteLine(((UsingDirectiveSyntax)dugum).Name.PlainName);\n                    break;\n                default:\n                    Console.WriteLine(\"\".PadLeft(seviye) + dugum.Kind);\n                    break;\n            }\n\n            Console.ForegroundColor = varsayilanArkaplan;\n\n            foreach (var altDugum in dugum.ChildNodes()) {\n                DugumuYaz(altDugum, seviye + 1);\n            }\n        }\n    }\n}<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/Roslyn_SozDizimAgaci_Detay.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/Roslyn_SozDizimAgaci_Detay_thumb.png\" alt=\"istersen kodumuzun temel bile\u015fenlerine ait bilgileri g\u00f6sterebilmemiz m\u00fcmk\u00fcn\"\/><\/a><\/figure>\n\n\n\n<p>&nbsp;&nbsp; S\u00f6z dizim a\u011fac\u0131 ile yap\u0131labileceklerimizi tek bir makaleye s\u0131\u011fd\u0131rmak yerine konuyu belli ba\u015fl\u0131lar alt\u0131ndaki bir ka\u00e7 makaleye yaymay\u0131 daha uygun g\u00f6rd\u00fc\u011f\u00fcmden bu makalemde daha fazla detaya girmiyorum. Devam makalelerimde eminim ki daha \u00e7ok ho\u015flanaca\u011f\u0131n\u0131z \u00f6rnekler bulacaks\u0131n\u0131z.<\/p>","protected":false},"excerpt":{"rendered":"<p>&nbsp;&nbsp; \u00dcniversitelerde defakto olmu\u015f bir ders kodudur 101; ilgili b\u00f6l\u00fcm\u00fcn ilk\/giri\u015f dersi kodudur. M\u00fchendislik okudu\u011fum zamanlar\u0131 hat\u0131rlar\u0131m bu say\u0131y\u0131 duyunca; Introduction to Computer Science (Bilgisayar Bilimine Giri\u015f) 101\u2026 Roslyn makale serisinde tam gaz yol al\u0131rken s\u0131ra art\u0131k yava\u015f yava\u015f kod analizine geliyor. Bu makalemde birlikte kod analizine ad\u0131m\u0131m\u0131z\u0131 atal\u0131m istedim. Bu y\u00fczden san\u0131r\u0131m makaleme verilecek&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/kod-analizine-giris-101\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":9473,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,28],"tags":[137,140],"class_list":["post-9472","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-csharp","category-turkce","tag-roslyn","tag-syntax-analysis"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kod Analizine Giri\u015f (101) - Fatih Boy<\/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:\/\/fatihboy.com\/en\/kod-analizine-giris-101\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kod Analizine Giri\u015f (101) - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"&nbsp;&nbsp; \u00dcniversitelerde defakto olmu\u015f bir ders kodudur 101; ilgili b\u00f6l\u00fcm\u00fcn ilk\/giri\u015f dersi kodudur. M\u00fchendislik okudu\u011fum zamanlar\u0131 hat\u0131rlar\u0131m bu say\u0131y\u0131 duyunca; Introduction to Computer Science (Bilgisayar Bilimine Giri\u015f) 101\u2026 Roslyn makale serisinde tam gaz yol al\u0131rken s\u0131ra art\u0131k yava\u015f yava\u015f kod analizine geliyor. Bu makalemde birlikte kod analizine ad\u0131m\u0131m\u0131z\u0131 atal\u0131m istedim. Bu y\u00fczden san\u0131r\u0131m makaleme verilecek...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/kod-analizine-giris-101\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2011-11-07T21:05:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/agac_thumb.png\" \/>\n\t<meta property=\"og:image:width\" content=\"209\" \/>\n\t<meta property=\"og:image:height\" content=\"208\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Boy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"Kod Analizine Giri\u015f (101)\",\"datePublished\":\"2011-11-07T21:05:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/\"},\"wordCount\":802,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/agac_thumb.png\",\"keywords\":[\"Roslyn\",\"Syntax Analysis\"],\"articleSection\":[\"C#\",\"T\u00fcrk\u00e7e\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/\",\"url\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/\",\"name\":\"Kod Analizine Giri\u015f (101) - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/agac_thumb.png\",\"datePublished\":\"2011-11-07T21:05:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/agac_thumb.png\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/agac_thumb.png\",\"width\":209,\"height\":208},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kod Analizine Giri\u015f (101)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihboy.com\/#website\",\"url\":\"https:\/\/fatihboy.com\/\",\"name\":\"Fatih Boy\",\"description\":\"Ki\u015fisel Web Sitesi\",\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihboy.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\",\"name\":\"Fatih Boy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"caption\":\"Fatih Boy\"},\"logo\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fatihboy.com\"],\"url\":\"https:\/\/fatihboy.com\/en\/author\/fatih\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kod Analizine Giri\u015f (101) - Fatih Boy","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:\/\/fatihboy.com\/en\/kod-analizine-giris-101\/","og_locale":"en_US","og_type":"article","og_title":"Kod Analizine Giri\u015f (101) - Fatih Boy","og_description":"&nbsp;&nbsp; \u00dcniversitelerde defakto olmu\u015f bir ders kodudur 101; ilgili b\u00f6l\u00fcm\u00fcn ilk\/giri\u015f dersi kodudur. M\u00fchendislik okudu\u011fum zamanlar\u0131 hat\u0131rlar\u0131m bu say\u0131y\u0131 duyunca; Introduction to Computer Science (Bilgisayar Bilimine Giri\u015f) 101\u2026 Roslyn makale serisinde tam gaz yol al\u0131rken s\u0131ra art\u0131k yava\u015f yava\u015f kod analizine geliyor. Bu makalemde birlikte kod analizine ad\u0131m\u0131m\u0131z\u0131 atal\u0131m istedim. Bu y\u00fczden san\u0131r\u0131m makaleme verilecek...Read More","og_url":"https:\/\/fatihboy.com\/en\/kod-analizine-giris-101\/","og_site_name":"Fatih Boy","article_published_time":"2011-11-07T21:05:00+00:00","og_image":[{"width":209,"height":208,"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/agac_thumb.png","type":"image\/png"}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"Kod Analizine Giri\u015f (101)","datePublished":"2011-11-07T21:05:00+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/"},"wordCount":802,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/agac_thumb.png","keywords":["Roslyn","Syntax Analysis"],"articleSection":["C#","T\u00fcrk\u00e7e"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/kod-analizine-giris-101\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/","url":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/","name":"Kod Analizine Giri\u015f (101) - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/agac_thumb.png","datePublished":"2011-11-07T21:05:00+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/kod-analizine-giris-101\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/agac_thumb.png","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/agac_thumb.png","width":209,"height":208},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/kod-analizine-giris-101\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"Kod Analizine Giri\u015f (101)"}]},{"@type":"WebSite","@id":"https:\/\/fatihboy.com\/#website","url":"https:\/\/fatihboy.com\/","name":"Fatih Boy","description":"Ki\u015fisel Web Sitesi","publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihboy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158","name":"Fatih Boy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","caption":"Fatih Boy"},"logo":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fatihboy.com"],"url":"https:\/\/fatihboy.com\/en\/author\/fatih\/"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/9472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/comments?post=9472"}],"version-history":[{"count":0,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/9472\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media\/9473"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=9472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=9472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=9472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}