Didactic

 

 

 

 

 

 

 

Interpreter (+sources) - see a screen capture

 

       Description:

       It performs the lexical and syntactical analysis of a program written in my own "F" language, as well as constructing the syntax tree, the symbol table, and eventually executing the program.

       Size: 195 K

 

 

 

Formal Languages (+ 14 sources)

 

       Description:

       It contains C sources dealing with the following problems: verifying that a word belongs to a language, wolf-goat-cabbage problem, transforming an indeterminist finite automaton into a determinist one, generation of a C program that verifies that a word belongs to a language, identifying the operators, delimiters, separators etc. in a C program, writing an arithmetic expression in Polish form, evaluating an arithmetic expression, building and parsing the tree corresponding to an arithmetic expression, a C minicompiler.

       Size: 253 K

 

 

 

Floating Point Arithmetic (C51 & ASM51 sources)

 

       Description:

       The project contains the implementations of mathematical routines for floating point computation (IEEE standard): addition, subtraction, multiplication, division. Presented routines can be used in any situation when the designer can't use already implemented floating point routines. As they are written in a high level language (C), the functions are independent with the operating system, and can be use on any platform that has a C compiler (SBC, DOS, Windows, Unix). Also, an assembler version for x51 is included.

       Size: 13 K

 

 

 

Systems with Discrete Events (+ 12 sources)

 

       Description:

       It deals with problems such as: the main probabilistic measures, graphical representation of the normal (Gaussian) and exponential negative distribution functions, requests treated in waiting queues etc.

       Size: 227 K

 

 

 

Hex to Bin (+ C source)

 

       Description:

       The program transforms .hex files into .bin files, with an option for loading starting at variable addresses. E.g., hb8000 assumes that 8000H bytes of ROM exist, which can't be written. Usual HexToBin applications generate 8000H zero bytes, and then the useful code. My program generates code starting at 8000H address, so it may be loaded more quickly into SBC.