1.1.27 (2023-10-03)
- Add aliases for _Static_assert and _Alignof (fb3450a)
- Add option to omit line markers (18c7f05)
- Add option to print the included header files to stdout (490e39e)
- Add support for C++20 VA_OPT (2de0592)
- Add support for gcc-like inline asm declarations (303a0a7)
- Availability of blocks extension (665e72b)
- Availability of memory_sanitizer extension (595f6dd)
- Break string and character literals on newlines (350793f)
- Compatibility with xcode 15 (0b32c08)
- Disallow parsing function definitions in for init statements (2d85c53)
- Improve detection of header protections (70a5472)
- Initial work on the parser binding context (bc4d32f)
- Parse of braced initialized function pointers (933a625)
- Parse of class specifiers in defining type ids (184e1dd)
- Parse of template member expressions (6e43b5b)
- Parse of template nested name specifier (93f32c2)
- Parse of the true branch of an if statement (7dfd83f)
- Print of variadic macro arguments (64a2b34)
- Signature of first/lastSourceLocation (e071140)
- Testing for __has_feature and __has_extension (a879a36)
1.1.26 (2023-09-23)
- Add JavaScript API docs (810fcb1)
- Copy cxx-js.d.ts to the build output directory (27f4d50)
- Expose APIs to resolve include directives (cdac9c3)
- Generate docs for cxx-frontend using typedoc (30366dc)
- Rewrote build script using zx (8f01dfd)
- Update the docs and add templates for node cjs, node esm and web (81fb699)
1.1.25 (2023-09-20)
- Add support for c++23 consteval if statements (e3669c7)
- Add support for c++23 elifdef and elifndef (94c0ec0)
- Add support for c++23 lambda specifiers (eac4fad)
- Package both esm and commonjs bundles (0ee29dc)
- Parse c++23 deduce this (bec4386)
- Use the bundler module resolution in the cxx-frontend package (91c28f9)
1.1.24 (2023-09-18)
- Add support for pack expansion to using declarators (e60e914)
- Avoid splitting >= and >>= tokens (2d407ce)
- Disable blocks and objc extensions (c3dfb41)
- Parsing of pure virtual destructors (4d73086)
- Remove the trailing statement from the labeled statements (74ba101)
1.1.23 (2023-09-17)
- Add APIs to get the AST slot name (3bb7c79)
- Add SizeTypeSpecifierAST and SignTypeSpecifierAST (6ebf73e)
- Removed Parsed.DEFAULT_WASM_BINARY_URL (5ff941c)
- Renamed DeclaratorModifierAST to DeclaratorChunkAST (bc9cd83)
1.1.22 (2023-09-16)
- Add nested name specifier to the class specifier AST node (8919a0a)
- Add reference to the else token in the AST (e365784)
- Improve the Editor with SyntaxTree story (b58a418)
- Parsing of alignof expressions (7703791)
- Parsing of module names (3c38cab)
- Refactored support for template ids (a8e129d)
- Reimplemented the support for nested name specifiers (a9f60ed)
- Rewrite support for id-expressions (73b2e80)
- Set the initial location of the for-statement in the AST (b23bd1d)
- Set the template type parameter name in the AST (3653720)
- Update React Editor component (cf6cf4f)
1.1.21 (2023-09-04)
1.1.20 (2023-08-28)
- Add AST node for await expressions (76acaa8)
- Add AST node for bitfield declarations (a0d0b15)
- Add AST node for deduction guides (89aa17e)
- Add AST node for new declarators (4e9134e)
- Add AST node for new expressions (e20770e)
- Add AST node for noexcept specifiers (588c08a)
- Add AST node for the pack expansions (3fa2c5b)
- Add AST node for yield expressions (aacbed0)
- Add AST nodes to represent parameter packs (f182718)
- Don't print bool attributes with default values (e681866)
- Expose the AST attributes to the JS API (658afb7)
- Parse of deduction guide in class scopes (b99baa5)
- Renamed GCCAttribute to GccAttribute (977ee14)
- Set the declaration of the for range statement (50a4800)
- Set the variadic attribute of function prototypes (8306e86)
- Set the virt specifier attributes (51d0e8f)
1.1.19 (2023-08-22)
- Add AST for designated initializers (f36c3f4)
- Add AST node for underlying type specifier (c716cc0)
- Add AST node for using enum declaration (bf5f22a)
- Add missing attributes to the enumerator AST node (bd2c9cd)
- Add structured binding declaration AST nodes (3cbbc6a)
- Dump the AST in plain text instead of JSON (ec19f4f)
- Parse of class virt specifiers (97cb51e)
- Parse of inline for namespace definitions (80a34cf)
- Print TokenKind in AST dump (0583d39)
- Represent intiializers as expressions in the AST (629ca3c)
- Set access and virt specifier to the base specifier ast nodes (613a070)
- Set access specifier of access declaration AST nodes (dc7a545)
- Set class key of class specifier AST nodes (f610253)
- Set class key of elaborated type specifiers (a8db107)
- Set location of the atomic type specifier (8d8e07b)
- Set the name of ctor member initializers (35fdf21)
- stddef.h: add missing typedefs (3ea986f)
- Store the namespace name in the AST (5df694b)
- Store the value of the boolean literals in the AST (a2fbad8)
1.1.18 (2023-08-14)
1.1.17 (2023-07-12)
- Add AST for the C++ attributes (aedc6a7)
- Add cxx-gen-ast (4030a30)
- Add decltype(auto) type (2a8ef93)
- Build the emscripten bindings with EXPORT_ES6=1 (#106) (91926d7)
- Encode common literals (c8c3d84)
- Encode source locations (58f7719)
- Expose the Lexer API to TypeScript (1982d22)
- Expose the preprocessor API to TypeScript (90e1f8a)
- Expose TranslationUnit to TypeScript (7792714)
- Implement __has_include_next (3d59a07)
- Initial work on the flatbuffers based serializer (#89) (740e678)
- Merge adjacent string literals (80d5b9f)
- Print array types (a9ae0d2)
- Print of const pointers (f7b2be8)
- Print of function types (72d6c30)
- Renamed -fserialize-ast to -emit-ast (ea24578)
- Serialize the identifiers (c430188)
1.1.16 (2023-06-11)
- Add option to install the WASI sysroot (301700a)
- Add option to specify the path to the wasi sysroot (a642d6b)
- Build the emscripten bindings with WASM_BIGINT=1 (4c4e4c9)
- Classify int64 and int128 integer types (c40a7fc)
- Import wasi sysroot as an external dependency (414e699)
- Link the wasi sysroot in the build directory (e82a63d)
- Pretty print the JSON output AST (70d8119)
- Reduce size of the emscriten wasm binary (3122c4d)
1.1.15 (2023-06-04)
- Add APIs to set/get the current working directory (d0e7328)
- Add support for Xcode 14 (a8896dd)
- Add TemplateParameterList (6ee556c)
- Add wasm32-wasi toolchain definitions (2656bc7)
- Build using wasm-sdk (1f9bb71)
- Build when C++ exceptions are not available (8fb8cca)
- Clean up parsing of template declarations (99a45ae)
- Create symbols for the template type parameters (9566308)
- Link with the LLVM libraries (0948526)
- Modernize the code (9ea5f41)
- Optimize the size of the wasi binary (ac3dd33)
- Path to macOS toolchain (f5078d6)
- preproc: Output GNU stile output directives (4a97d38)
- Remove filesystem from the public API (cac00e3)
- Removed TypenamePackTypeParameterAST (2b7989a)
- Use the utf8 unchecked api (328ce98)
1.1.14 (2022-02-26)
- Build with emscripten 3.1.4 (4751aa7)
- parser: Create symbols for the template declarations (0da8b46)
- Restructured the code base (9e405a7)
1.1.13 (2021-12-02)
- parser: Add checked/setChecked to the AST nodes (52501b5)
- parser: Implemented
__is_arithmetic
(3e0c377) - parser: Implemented
__is_compound
(37b90ee) - parser: Implemented
__is_floating_point
(a165026) - parser: Implemented
__is_fundamental
(4ef0374) - parser: Implemented
__is_integral
(1891675) - parser: Implemented
__is_object
(b60f382) - parser: Implemented
__is_scalar
(52d64d3)
1.1.12 (2021-11-28)
- parser: Add AST nodes for unary and binary type traits (3c76fa3)
- parser: Create AST node for built-in type traits (5b7b0e3)
- parser: Fix
sizeof
of bool type (46041b8) - parser: Fix type of
nullptr
literals (3e8b8be) - parser: Implemented
__is_function__
(4d3e5da) - parser: Implemented
__is_lvalue_reference
,__is_rvalue_reference
and__is_reference
(d148471) - parser: Implemented
__is_member_object_pointer
(eeeece2) - parser: Implemented
is_const
andis_volatile
type traits (918a680) - parser: Implemented the
__is_class
and the__is_union
type traits (bae22f3) - parser: Implemented the
__is_enum
and the__is_scoped_enum
type traits (f9a05f2) - parser: Implemented the
__is_null_pointer
type traits (1a4837f) - parser: Implemented the
__is_pointer
type traits (5f62b9a) - parser: Implemented the
__is_signed
and the__is_unsigned
type traits (1f23b9f) - parser: Implemented the
__is_void
type traits (951b03a) - preproc: Remove newline from the diagnostic message raised from
#warning
directives (a708e3c)
1.1.11 (2021-11-25)
- js: Build the npm package using emsdk 2.0.34 (10e384e)
1.1.10 (2021-11-25)
- parser: Add support for the
__is_same_as
built-in function (f80aa30) - parser: Add support for type aliases (6934355)
- parser: Create the AST of using directives (d43c447)
- parser: Fix the type of logical expressions (c9258dc)
- parser: Initial support for
sizeof
andalignof
expressions (bd6a255) - parser: Initial support for the
decltype
specifier (a24978c) - parser: Set type of conditional expressions (bcf8776)
1.1.9 (2021-11-22)
- ci: Enable release-please action (95245b0)
- cli: Add
-fsyntax-only
to the cli (50332b2) - cli: Tag the code generation options as experimental (33439bc)
- ir: Generate code for the logical_or expressions (c1c0131)
- js: Add an example showing how to check the syntax of a C++ document (3568e92)
- js: Export the symbols defined in Token.js (7d68898)
- parser: Resolve type names (798f475)
1.1.8 (2021-11-14)
- parser: Add classes to represent the utf string literals (ec3575e)
- parser: Add placeholder types (da8de74)
- parser: Add symbol printer (f65b25c)
- parser: Clean up Type (feed0ae)
- parser: Remove qualifiers from pointer type (e5f56c2)
- parser: Support alternative operator spelling (eab8b86)
1.1.7 (2021-11-11)
- cmake: Add cmake install targets (b1e0853)
- preproc: Allow multiple definitions of the same macro (2927a6e)
1.1.6 (2021-11-09)
- preproc: Add support for the COUNTER built-in macro (ecf2be8)
- preproc: Add support for the DATE and TIME built-in macros (a0015a7)
- preproc: Add support for the FILE built-in macro (23be3a2)
- preproc: Add support for the LINE built-in macro (ac7abf9)
1.1.5 (2021-11-06)
- ci: Add support for multi-config cmake projects (4ae48c3)
- parser: Parse initialized function pointers (00fb809)
- parser: Validate the reported diagnostic messages (950f1d1), closes #38
- preproc: Fix macro redefinition (9d5b07f)
1.1.4 (2021-10-30)
- parser: Create AST for simple for-range declarations (3e51ae7)
- preproc: Add support for comment handlers. (95c5f08)
- preproc: Avoid resolving files when access to the fs is not allowed (d5d74b7)
1.1.3 (2021-10-29)
- parser: Fix parsing of placeholder type specifiers (3b3f273)
- parser: Update the system search paths of the mocOS toolchain (85d9226)
1.1.2 (2021-10-27)
- parser: Create AST for modules (ce61309)
- parser: Create AST for qualified type names (cd6c437)
- parser: Store the location of the export token of compound export declarations (81a4bfd)
1.1.1 (2021-10-25)
- docs: Add example to README.md (255ba0b)
- js: Add missing .js extension in import directive (9a48ade)
1.1.0 (2021-10-25)
- js: Extend ASTSlot to return the kind and number of slots (4d3f313)
- js: Made AST.getEndLocation() inclusive (5849ef3)
- parser: Store the location of the if-token in the AST (050a877)
- parser: Test for invalid source locations (878a4aa)
- json: Improved support to convert the AST to JSON (d15d466)
- js: Use rollup to build the JavaScript bindings. (b99eb55)
- docs: Update the example code in the README.md file (459e837)
- js: Build with NO_DYNAMIC_EXECUTION to allow using the library in trusted browser environments (97eb589)
- lexer: Scan the characters using the UTF-8 unchecked API (654e227)
- parser: Create the AST for concept requirements (5600bb4)
- parser: Create the AST for requires-clause (23aa6a3)
- parser: Fix parsing of parameters in template declarations (1dc66ce)
- parser: Store the AST of the template parameters (f0da7a0)
- preproc: Access the hidesets using transparent comparisons (96b484d)
- preproc: Reduced the number of the temporary tokens (d092959)
- preproc: Trim space characters at the end of the text lines (03e2518)