Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bujowskis/put-cawllp-ini
Repo containing the task for the 2nd project of Computer Architecture with Low-Level Programming - parsing ini files
https://github.com/bujowskis/put-cawllp-ini
Last synced: 13 days ago
JSON representation
Repo containing the task for the 2nd project of Computer Architecture with Low-Level Programming - parsing ini files
- Host: GitHub
- URL: https://github.com/bujowskis/put-cawllp-ini
- Owner: bujowskis
- License: mit
- Created: 2021-03-24T12:23:14.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-03-31T22:52:31.000Z (almost 4 years ago)
- Last Synced: 2024-11-07T20:47:51.820Z (2 months ago)
- Language: C
- Size: 116 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# put-CAwLLP-ini
Repo containing the task for the 2nd project of Computer Architecture with Low-Level Programming - parsing ini filesRequirements & Specs:
Main goal - C program to parse INI files using only C standard libraryRequirements & Specs:
- (3.0) accept two command line parameters in format `$ ./program PATH-TO-INI-FILE.ini section.key`
- (3.0) print out value under a key in `[data]` section
- (3.0) assume limits: `no. of sections`, `len of section name`, `len of key`, `len of value` < 30
(4.5) these limits are not valid, can be any length (no compile-time limit)
- (3.5) detect missing section and print out dedicated messagee, e.g. `Failed to find section [data]`
- (3.5) detect missing key in a present section, e.g. `Failed to find key "key" in section [data]`
- (4.0) parse the data into well defined structures, e.g. `struct section { ... };`
- (4.0) detect invalid identifiers in INI file (section name and keys), i.e. those that contain char other than letters and digits
- (5.0) distinguish types of values between strings and numbers
- (5.0) understand simple expressions given by given command line parameters (`+, -, *, /` for numbers and `+ (concatenation)` for strings)
- (5.0) expressions with operrands of diff types or invalid operators are invalid