background preloader


Facebook Twitter

Free Compiler Construction Tools: Lexers, Parser Generators, Opt. If you are thinking of creating your own programming language, writing a compiler or interpreter, or a scripting facility for your application, or even creating a documentation parsing facility, the tools on this page are designed to (hopefully) ease your task.

Free Compiler Construction Tools: Lexers, Parser Generators, Opt

These compiler construction kits, parser generators, lexical analyzer / analyser (lexers) generators, code optimzers (optimizer generators), provide the facility where you define your language and allow the compiler creation tools to generate the source code for your software. If you want a (printed) book on compiler construction, you might want to check out the famous Compilers: Principles, Techniques, and Tools by Aho, Sethi and Ullman. The "Dragon book", as it is affectionately called by some, is regarded by many as the standard book on writing compilers. AdaGOOP JS/CC LALR(1) Parser and Lexical Analyzer Generator Quex - A Mode Oriented Directly Coded Lexical Analyzer Generator Gardens Point Scanner Generator re2c Grammatica Eli. Reference. Emulators. Bash by example, Part 3. Enter the ebuild system I've really been looking forward to this third and final Bash by example article, because now that we've already covered bash programming fundamentals in Part 1 and Part 2, we can focus on more advanced topics, like bash application development and program design.

Bash by example, Part 3

For this article, I will give you a good dose of practical, real-world bash development experience by presenting a project that I've spent many hours coding and refining: The Gentoo Linux ebuild system. I'm the chief architect of Gentoo Linux, a next-generation Linux OS currently in beta. One of my primary responsibilities is to make sure that all of the binary packages (similar to RPM packages) are created properly and work together. As you probably know, a standard Linux system is not composed of a single unified source tree (like BSD), but is actually made up of about 25+ core packages that work together. Back to top Why bash? Bash is an essential component of the Gentoo Linux ebuild system. . #! #! #! $ . Popular RFC Title Index 1. How to Design Programs. Programming Texts/Tutorials.

Linkers and Loaders. These are the manuscript chapters for my Linkers and Loaders, published by Morgan-Kaufman.

Linkers and Loaders

See the book's web site for ordering information. The text in these files is the unedited original manuscript. M-K has fine copy editors, who have fixed all the minor typos, spelling, and grammar errors in the printed book, but if you come across factual errors I'd still appreciate help getting all the details of linking and loading as complete and correct as possible. I will collect errata and fix them in subsequent printings. The figures here are scans of hand-drawn sketches which have been redrawn for the book. Please send comments and questions to Thanks! Chapters are available in an excessive variety of formats. Postscript versions of these files are available, including the figure sketches. ASM.

Bash by example, Part 3. Reverse Engineering. C. Algorithms. Java. Algorytmy i Struktury Danych. Algorytmy i struktury danych. From Studia Informatyczne Forma zajęć Wykład (30 godzin) + laboratorium (30 godzin) Opis Projektowanie i analiza algorytmów.

Algorytmy i struktury danych

Przegląd podstawowych algorytmów i struktur danych. Sylabus Autorzy. Sortowanie. Sortowanie – jeden z podstawowych problemów informatyki.


Polega na uporządkowaniu zbioru danych względem pewnych cech charakterystycznych każdego elementu tego zbioru. Szczególnym przypadkiem jest sortowanie względem wartości każdego elementu, np. sortowanie liczb, słów itp. Algorytmy sortowania są stosowane w celu uporządkowania danych, umożliwienia stosowania wydajniejszych algorytmów (np. wyszukiwania) i prezentacji danych w sposób czytelniejszy dla człowieka. Jeśli jest konieczne posortowanie zbioru większego niż wielkość dostępnej pamięci, stosuje się algorytmy sortowania zewnętrznego. Klasyfikacja[edytuj | edytuj kod] Algorytmy sortowania są zazwyczaj klasyfikowane według: The Improved Sorting Algorithm Demo. Algorytmy Sortujące - Sortowanie Głupie.

Sortowanie głupie jest również bardzo złym algorytmem sortującym, lecz, w przeciwieństwie do opisanego w poprzednim rozdziale sortowania zwariowanego, daje zawsze poprawne wyniki.

Algorytmy Sortujące - Sortowanie Głupie

Zasada działania jest bardzo prosta: Przeglądamy kolejne pary sąsiednich elementów sortowanego zbioru. Six ways to write more comprehensible code. I learned to write, clear, maintainable code the hard way.

Six ways to write more comprehensible code

For the last twelve years, I've made my living writing computer games and selling them over the Net using the marketing technique that was once charmingly known as shareware. What this means is that I start with a blank screen, start coding, and, a few tens of thousands of lines of code later, I have something to sell. This means that, if I make a stinky mess, I'm doing it in my own nest. When I'm chasing down a bug at 3 a.m., staring at a nightmare cloud of spaghetti code, and I say, "Dear God, what idiot child of married cousins wrote this garbage? ", the answer to that question is "Me. " So I have been well rewarded by learning about good, sane programming techniques.

But there are many who, like me, stumbled into programming in an unexpected or unusual way and never had anyone drill this stuff into them. The example case Figure 1. The game will take place in periods of time called Waves. Killing an alien gives you some points. Courses - Google Code University - Google Code.