https://github.com/kevindasilvas/sparser-invaders
Json parser CLI, using compilers principles and techniques that translates to js objects and .yml files
https://github.com/kevindasilvas/sparser-invaders
cli cli-app compilers haskell js json parser yml
Last synced: 2 months ago
JSON representation
Json parser CLI, using compilers principles and techniques that translates to js objects and .yml files
- Host: GitHub
- URL: https://github.com/kevindasilvas/sparser-invaders
- Owner: KevinDaSilvaS
- License: bsd-3-clause
- Created: 2021-08-14T23:14:16.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-04-15T23:10:44.000Z (about 2 years ago)
- Last Synced: 2025-10-26T22:03:16.247Z (8 months ago)
- Topics: cli, cli-app, compilers, haskell, js, json, parser, yml
- Language: Haskell
- Homepage:
- Size: 45.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README
# sparser-invaders
### A haskell CLI app to parse json files and translate them into js objects and/or yml files using compiler techniques and tools
#### [LEXICAL ANALYSIS] - Tokenizing symbols in
#####
`` OpenObjToken |
CloseObjToken |
IdentifierKeyToken |
StringToken |
NumberToken |
NullToken |
OpenArrayToken |
CloseArrayToken |
BooleanToken |
SeparatorToken |
Empty --end of file
``
#### [SINTATIC ANALYSIS] - Using free context grammar to check if tokens are in the right place
##### ``A -> [C] | {K} | {} | []``
##### ``C -> TEC | T``
##### ``K -> "key":TEK | "key":T``
##### ``E -> ,``
##### ``T -> "str" | 0-9 | 0.0-9.9 | A | true | false | null``

#### [SEMANTIC ANALYSIS] - As warnings to inform the user of duplicated keys in the same scope

#### [CODE GEN] - From the tokens IR is built and soon transformed in a yml and/ or js file