Skip to content

Releases: google/emboss

v2023.0622.090004

22 Jun 09:00
5a501d8
Compare
Choose a tag to compare
Fix error message printing in `emboss_front_end.py`. (#91)

v2023.0525.204127

25 May 20:41
46fe1ec
Compare
Choose a tag to compare
Design Sketch for String Support (#82)

Add a design sketch for string support in Emboss.

v2023.0518.164408

18 May 16:44
9191077
Compare
Choose a tag to compare
Fix header_generator_test (#88)

* Fix header_generator_test

Due to a missing `unittest.main()` call, the header_generator_test was
not actually running any tests when run with bazel/run directly.
However, the failure was noticed by `python -m unittest discover`. Fixed
the header_generator_test in the following ways:

 - Import test_util (tests failed due to missing import).
 - Change attribute_checker.normalize_and_verify to
   header_generator.generate_header.
 - Remove unused imports.
 - Make appropriate BUILD changes.
 - Add unittest.main() call so that unit tests are run.

Additionally, this change adds a (blank) __init__.py to compiler/ and
compiler/util/ so that they are importable by the unittest module. This
means that running `python -m unittest discover -p '*_test.py'` from the
main emboss repository should run all python tests in the compiler - and
could be a good sanity check to make sure all python tests pass, even
when `bazel test compiler/...` could miss tests (not declared in BUILD
or missing the unittest.main() call).

* Move front_end/test_util to util/test_util

v2023.0517.231226

17 May 23:12
1119723
Compare
Choose a tag to compare
Add attributes to enum values (#86)

* Add attributes to enum values

As of this change, the grammar allows attributes on enum values, either
inline or indented in the body, the same as fields. Additionally, this
change updates the formatter and grammar documentation to account for
this change.

* Check attributes of enum values

This ensures that enum values are checked during attribute verification.
Since currently there are no non-backend attributes for enum values,
having any (non-backend) attribute at all will produce an error.

v2023.0511.224246

11 May 22:42
1d9223b
Compare
Choose a tag to compare
Add design for alternate enum cases (#83)

* Add design for alternate enum cases

* Fix quotes in doc example

* Added a future work section

v2023.0502.065523

02 May 06:55
5b38126
Compare
Choose a tag to compare
Factor back-end attribute checking into the back end. (#80)

Factor back-end attribute checking into the back end.

This change splits up `front_end/attribute_checker.py`, moving the
generic parts to a new file `util/attribute_util.py`, and moving the
back-end-specific parts to `back_end/cpp/header_generator.py`.

Some tests from `front_end/attribute_checker_test.py` were moved to
a new test suite, `header_generator_test.py`.  There should probably
be a `util/attribute_checker_test.py`, but for now the old tests
provide sufficient coverage.

As a result of moving some attribute checking into the back end,
`generate_header()` can now return errors.  A future change should
convert some of the `assert` statements in the same file into error
returns.

In order for the `emboss_codegen_cpp.py` driver to properly display
errors, the original source code of the `.emb` is now included
verbatim in the IR, increasing the IR size by about 3%.

This change does still enforce some minimal checking of back end
attributes: the back end must be listed in the new
`[expected_back_ends]` attribute (default value `"cpp"`), or it is
considered to be an error.  This change does not document the
`[expected_back_ends]` attribute because it is not currently useful for
end users.

v2023.0403.201622

03 Apr 20:16
053bd6c
Compare
Choose a tag to compare
Merge pull request #79 from reventlov/fix_traverse_ir_test

Fix `traverse_ir_test` by using `varkw` instead of `kwonlyargs`.

v2023.0322.212832

22 Mar 21:28
07ef4ff
Compare
Choose a tag to compare
Merge pull request #81 from reventlov/import_ir

Switch `emboss_cc_library` to use real Starlark rules.

v2023.0309.011051

09 Mar 01:10
b02439a
Compare
Choose a tag to compare
Merge pull request #77 from AnthonyDiGirolamo/py311fix

Fix Python 3.11 inspect usage

v2023.0304.041958

04 Mar 04:20
d29aef7
Compare
Choose a tag to compare
Merge pull request #74 from reventlov/division_doc

Add design sketch for division operator.