Giacomo Vercesi
b9794b84bb
revng.daemon: introduce tests
...
Add end-to-end tests checking that every GraphQL endpoint is properly
working and returning the expected result
2022-04-26 15:59:35 +02:00
Giacomo Vercesi
4f7908753e
Introduce the revng-daemon command
2022-04-26 15:59:35 +02:00
Giacomo Vercesi
172faebacf
Introduce the revng.daemon GraphQL API
...
This commit introduces the `revng.daemon` Python module, a Flask-powered
web application that exposes the functionality from `revng.api` across a
GraphQL API
2022-04-26 15:59:35 +02:00
Giacomo Vercesi
7231ee607a
Introduce PipelineC wrapper for Python
...
Add the revng.api module: a wrapper around the PipelineC API.
2022-04-26 15:59:35 +02:00
Giacomo Vercesi
e5c9141ccc
Refactor revng.cli.support
...
* Removed shadowed `relative` function
* Clean up imports
* Add type hints to functions
* Use Path where possible
2022-04-26 15:05:30 +02:00
Giacomo Vercesi
bbce0b33e5
revng-check-conventions: introduce isort
2022-04-20 09:57:08 +02:00
Giacomo Vercesi
46821cee5f
revng-check-conventions: introduce mypy
2022-04-20 09:57:01 +02:00
Giacomo Vercesi
31a836e48c
revng-check-conventions: introduce flake8
2022-04-20 09:56:44 +02:00
Giacomo Vercesi
d81dc49809
revng-check-conventions: license check
2022-04-20 09:55:18 +02:00
Pietro Fezzardi
7f65b1117a
New AddPrimitiveTypesPipe
...
This pipe is executed during the Lift step and populates the model with
all the required primitive types.
2022-04-12 16:40:27 +02:00
Giacomo Vercesi
6b9cdbb0ec
Python TupleTreeGenerator: cache type hints
...
This significantly speeds up loading the model.
2022-04-08 17:37:04 +02:00
Giacomo Vercesi
a2b5dbb1dc
TupleTreeGenerator: autogenerate Kind
2022-04-08 17:36:59 +02:00
Giacomo Vercesi
039f7db93e
model::*: ensure Kind -> Class correspondence
2022-04-08 17:31:05 +02:00
Antonio Frighetto
dddd8ecbcb
Update EFA tests to support CFG out of the model
2022-04-05 15:37:57 +02:00
Alessandro Di Federico
d70c19164e
revng: append search prefixes upon recursion
2022-03-28 14:34:10 +02:00
Alessandro Di Federico
581eab5a28
YAML pipeline: s/module/module.ll/
2022-03-28 12:17:05 +02:00
Massimo Fioravanti
8bbd3b9435
revng-pipeline: move from --quiet to --verbose
2022-03-28 12:17:05 +02:00
Massimo Fioravanti
c05b5dbb28
Steps now represent the *end* of a step
...
A special "begin" step has been introduced.
2022-03-28 12:17:05 +02:00
Massimo Fioravanti
b362d926ec
pipeline: drop implicit rank 0
2022-03-28 12:17:05 +02:00
Filippo Cremonese
70a460c46a
TupleTreeGenerator: use dataclasses
...
Give up on pydantic.
2022-03-22 17:52:02 +01:00
Alessandro Di Federico
2b55d1df22
Adopt cmake-format
2022-03-17 18:52:18 +01:00
Alessandro Di Federico
173ad98661
revng driver: introduce --keep-temporaries
2022-03-17 16:46:02 +01:00
Alessandro Di Federico
cdeb1ea507
revng driver: introduce --dry-run
2022-03-17 16:46:02 +01:00
Alessandro Di Federico
6832698e5b
Introduce revng llvm pipeline
...
This is a wrapper to `revng-pipeline` designed to make the adoption of
pipelines easier for places where we are now using `revng opt`.
2022-03-17 16:46:02 +01:00
Alessandro Di Federico
e753e28f43
revng: make more extensive use of relative paths
2022-03-17 16:46:02 +01:00
Alessandro Di Federico
0aef5adc32
Drop scripts/revng-translate reference
2022-03-17 16:46:02 +01:00
Alessandro Di Federico
586feabd3d
Drop scripts/revng-model-dump
2022-03-17 16:46:02 +01:00
Alessandro Di Federico
af6305725d
Rewrite revng driver infrastructure
...
It really needed some fresh air.
2022-03-17 16:46:00 +01:00
Alessandro Di Federico
df00a892dd
Introduce revng.cli.lift
2022-03-17 14:10:50 +01:00
Alessandro Di Federico
da7701bd4e
Move all executables except revng to libexec/revng
...
We used to collect all binaries into the `bin/` directory. However this
led to confusions since certain commands where available both as
`revng-command` and `revng command`.
This commit moves all the executables except `revng` into
`libexec/revng`, which, according to FHS, is dedicated to "internal
binaries that are not intended to be executed directly by users or shell
scripts".
2022-03-17 14:10:50 +01:00
Alessandro Di Federico
0e387938be
Move scripts/revng to revng/cli/revng.py
2022-03-16 22:10:15 +01:00
Alessandro Di Federico
997e7f60cb
scripts/renvg: handle revng pipeline
...
Let `scripts/revng` intercept `revng-pipeline` invocations and add, not
only -load, but `-P` (pipelines) too.
2022-03-16 22:10:15 +01:00
Alessandro Di Federico
7d48059800
Turn revng-lift into a script
2022-03-11 15:37:12 +01:00
Alessandro Di Federico
0793e4afcb
Turn lifting into a pass
2022-03-11 15:37:12 +01:00
Alessandro Di Federico
cd7f1fced5
Update test results
2022-03-08 20:57:46 +01:00
Alessandro Di Federico
9608b337c6
Python formatting: switch to black 22
2022-03-02 15:40:27 +01:00
Alessandro Di Federico
e7ae70e9a4
Record grandiso as a dependency
2022-02-23 18:03:45 +01:00
Filippo Cremonese
7f7a222410
python-model: handle importing multiple versions
2022-02-23 18:03:36 +01:00
Filippo Cremonese
09a995ba51
python-model: generate from jsonschema
2022-02-23 18:03:35 +01:00
Filippo Cremonese
23c40e3b51
revng: fix imports
...
Add missing log_error include and remove other unused imports.
2022-02-23 18:02:50 +01:00
Filippo Cremonese
6672eb8dbc
Turn Python scripts into modules
2022-02-23 18:02:42 +01:00