Граф коммитов

10 Коммитов

Автор SHA1 Сообщение Дата
Adam Sapek f0301997e4 Document the @listfile syntax in gbc usage help 2015-09-20 14:56:31 -07:00
Adam Sapek 856c3a92f2 Reimplement code generation tests with Tasty.Golden
Make each generated file comparison into a goldenTest case. Golden files
can be updated/added for changes in codegen/tests using --accept command
line switch.
2015-06-29 14:52:48 -07:00
Adam Sapek 99d622090d Use version number from cabal generated module
Remove the manually maintained Bond.Version module and use the cabal
generated Paths_bond module instead.
2015-06-22 12:32:22 -07:00
Adam Sapek 3d82ae2e98 Explicitly specify short names of compiler options
The cmdargs library silently skips short names for options if more than
one option starts with the same letter. This can lead to inadvertent
breaks when a new option is added, like happened with adding
`--no-banner` option, breaking the short name -n for the `--namespace`
option.
2015-04-27 22:08:03 -07:00
Adam Sapek 6d04dc7cc1 Add code generation tests
The tests compare checked-in generated files with code generated using
the current compiler.

Discrepancy indicates a change in the generated code which may be a
bug or an intentional change. In the latter case the generated file(s)
should be re-generated and updated in the same commit as the change.

Note that the checked-in files are generated with --no-banner option.
2015-04-20 22:45:08 -07:00
Adam Sapek c921a23cd0 Add support for using schema AST as compiler input
File(s) with the `.json` extension are assumed to contain the JSON
representation of schema abstract syntax tree in the format produced by
`gbc schema`
2015-03-20 03:21:57 -07:00
Adam Sapek 45a37d5bde Add compiler support for schema AST output
The schema AST is written in JSON format. We foresee two classes of
scenarios that will use it.

Tools that need to process Bond schema files using languages other than
Haskell can avoid recreating Bond parser. Example might be schema
repositories, lints, etc.

The schema AST will also be used to allow users to inject schema
transformations into codegen process. This in many cases can be a
lightweight alternative to custom codegen.
2015-03-20 02:19:15 -07:00
Alexander Vershilov 312be3b73a Fix warnings in the Bond compiler code 2015-03-04 23:56:40 -08:00
Adam Sapek 0c4d4ad4fd Add --jobs option to gbc
When compiling multiple .bond files at once, the `--jobs=[NUM]` command
line option can be used to specify how many jobs should be run
concurrently. When used without arguments, the default is to run as many
jobs as there are processors. The option also accepts negative numbers
to specify fewer jobs than the number of processors. Often the optimal
performance is achieved by leaving one or more cores for other processes
on the machine.
2015-02-12 12:16:08 -08:00
Adam Sapek 222e20fd00 Initial commit 2015-01-09 11:21:05 -08:00