https://github.com/jeffque/bash-java-enums-parser-butwhyyy
A jornada para fazer um parser de enums java em bash
https://github.com/jeffque/bash-java-enums-parser-butwhyyy
bash dfa formal-grammars java pushdown-automaton talks
Last synced: about 1 month ago
JSON representation
A jornada para fazer um parser de enums java em bash
- Host: GitHub
- URL: https://github.com/jeffque/bash-java-enums-parser-butwhyyy
- Owner: jeffque
- Created: 2023-07-26T03:39:09.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-27T07:25:15.000Z (almost 3 years ago)
- Last Synced: 2025-06-30T20:04:27.388Z (12 months ago)
- Topics: bash, dfa, formal-grammars, java, pushdown-automaton, talks
- Language: MDX
- Homepage: https://jeffque.github.io/bash-java-enums-parser-butwhyyy/
- Size: 1.37 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Um parser em bash que identifica enums de um fonte Java
Era uma vez, um código Java, uma enumeração inocente. Ele funcionava
em Java Web, e GWT, e se viu que ele era bom.
Então, a direção da empresa resolveu fazer a versão mobile em Flutter
e essa enumeração precisava existir em código Dart também. E se viu
que isso era ruim.
Das estratégias possíveis para evitar deriva de código, foi escolhida
a de checar (em tempo de CI, com scripts passíveis de rodar manualmente)
se as enumerações estavam condizentes.
Esta é a minha jornada para fazer o identificador de enumerações em Java
e verificar se estava coerente com o que existia em Dart.
Esta é a versão de apresentação [deste meu
artigo](https://computaria.gitlab.io/blog/2022/03/20/bash-java-enum-parser),
com direito a expansão em como foi feita a checagem de subconjunto
# How to Run
- clone the repo
- install the dependencies `yarn`
- run `yarn start`
- open `http://localhost:8080` and see the slides
# Caveats
The `pdf` does not perfectly works with code surfer, be aware.
To build locally, you need to run `yarn postinstall` before `yarn build`. This
is not necessary for running the repo.