tobscore / sysprog Goto Github PK
View Code? Open in Web Editor NEWThe scanner and parser we had to develop for our module 'Systemnahes Programmieren' at HSKA Karlsruhe
The scanner and parser we had to develop for our module 'Systemnahes Programmieren' at HSKA Karlsruhe
Our scanner still recognizes large integers and tries to convert the string representation of those integers to actual integers (or in our case long long int
).
An error should be thrown, when trying to read in numbers which are to big to be cast to an integer.
Currently the google test framework has been copied in the lib folder. In order to have the latest and greatest Google Test Version, this could be optimized by using git submodules.
The Dot-Character "." is not recognized as an erroneous character.
It's not possible to read in the bible or other large files. Somehow the program ends up in an infinite loop.
The reason for this is unknown. This case will be tested against, so this needs to be fixed.
Sometimes the EOF of a file cannot be read correctly, but this bug only occurs sometimes. An example build is here.
In der Datei testProgramm.txt
befindet sich in Zeile 5 eine Leerzeile, also eine Zeile ohne Inhalt.
Der Scanner erkennt diese Leerzeile nicht, der Zeilenzähler wird also nicht hochgezählt. Somit ist die Position der nachfolgenden Tokens nicht mehr korrekt.
Check out Commit 59506b0 to see a test case, that would fail.
Expected: "Kommentar"
To be equal to: static_cast<IdentifierToken*>(token)->getLexem()
Which is: "11111aaaaaKommentar"
One of the test cases checks how our program handles really big identifiers. In order to enhance the memory usage of the program and avoid possible bugs, the buffer size needs to be allocated dynamically, meaning that its size needs to be calculated in accordance to the identifier in the token.
There needs to be better error handling. If the program tries to read some unknown character, an error token with the unknown character needs to created.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.