Překladač vyššího programovacího jazyka
Title Alternative:Programming language compiler
Loading...
Date
2012
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Technická Univerzita v Liberci
Abstract
Následující text obsahuje kompletní dokumentaci k překladači TulToAsm51, včetně vysvětlení všech principů a pravidel jazyka TUL - Temporary Universal Language navrženého s ohledem na dobré zkušenosti s jednoduchým programováním v jazycích Pascal a Matlab. TulToAsm51 zpracovává složky se vstupními soubory *.tul s obsahem odpovídajícím pravidlům gramatiky jazyka TUL uvedeným v kapitole TUL kód. Rozliší v něm všechny známé symboly, z těch nechá vyrůst derivační strom a ten poté převádí do kódování Assembleru 8051 včetně přiřazení fyzických adres všem proměnným. Vygenerovaný soubor *.asm lze použít s jakýmkoli softwarem na linkování a nahrávání *.asm souborů do libovolného PLC s procesorem Intel MCS-51. Překladač je vystavěn na platformě Java jako přenositelný mezi operačními systémy Linux a Windows (teoreticky i OS-X a Android). Jedná se o konzolovou aplikaci bez požadavku na uživatelský vstup, která se snadno implementuje do univerzálních vývojových prostředí jako Geany (pro Linux) či PS-Pad (pro Windows). Tato práce vychází z poznatků zaznamenaných v předcházejícím bakalářském projektu Teorie tvorby překladačů vyšších programovacích jazyků. Vývoj kvalitního překladače však obnáší kromě důkladné teoretické přípravy i dlouhá léta pečlivého ladění, tudíž dveře k úpravám a doplnění chybějících funkcí zůstávají otevřeny.
Following text contains the complete documentation of TulToAsm51 compiler, including definitions of all TUL - Temporary Universal Language - principles and rules. This language refers to good experiences with easy programming in Pascal and Matlab. TulToAsm51 can run with *.tul input files containing code according to TUL grammar rules caught by chapter TUL coding. It recognizes all known symbols and lets a derivation tree grow up from them. This tree is then compiled to Assembler 8051 language including variables' physical addresses assignment. Generated *.asm file can be used with any linking and loading software for PLCs based on Intel MCS-51 processor. This compiler is build on Java platform and so it is portable between operation systems Linux and Windows (probably even OS-X and Android). TulToAsm is designed as a console application without any run-time user input requirement, so it is easy to implement it in some of universal IDEs like Geany (for Linux) or PS-Pad (for Windows) This thesis is based on the insights captured in foregoing bachelor project Theory of higher programming language parser. However, high quality compiler development requires a very long time for testing and debugging, so the door to any reconstructions or adding missing functions are still opened.
Following text contains the complete documentation of TulToAsm51 compiler, including definitions of all TUL - Temporary Universal Language - principles and rules. This language refers to good experiences with easy programming in Pascal and Matlab. TulToAsm51 can run with *.tul input files containing code according to TUL grammar rules caught by chapter TUL coding. It recognizes all known symbols and lets a derivation tree grow up from them. This tree is then compiled to Assembler 8051 language including variables' physical addresses assignment. Generated *.asm file can be used with any linking and loading software for PLCs based on Intel MCS-51 processor. This compiler is build on Java platform and so it is portable between operation systems Linux and Windows (probably even OS-X and Android). TulToAsm is designed as a console application without any run-time user input requirement, so it is easy to implement it in some of universal IDEs like Geany (for Linux) or PS-Pad (for Windows) This thesis is based on the insights captured in foregoing bachelor project Theory of higher programming language parser. However, high quality compiler development requires a very long time for testing and debugging, so the door to any reconstructions or adding missing functions are still opened.
Description
katedra: MTI; přílohy: CD-ROM; rozsah: 34 s
Subject(s)
scanner, parser, compiler, lexikální analýza, syntaktická analýza, symbol (terminál), neterminál, derivační strom, výraz, pin, port, 8051 (x51, 51), scanner, parser, compiler, lexical analysis, syntactic analysis, symbol (terminal), non - terminal, derivation tree, expression, pin, port, 8051 (x51, 51)