Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
ea45175
Replace XSC auto_ptr ownership
jwillemsen Oct 22, 2026
321f17c
Modernize XSC implementation utilities
jwillemsen Oct 22, 2026
a7a7358
Modernize XSC parser and semantic graph
jwillemsen Oct 22, 2026
9c74350
Modernize XSC traversal aliases
jwillemsen Oct 22, 2026
4b46b31
Simplify XSC parser initialization
jwillemsen Oct 22, 2026
3eb47b2
Qualify standard library use in xsc
jwillemsen Oct 22, 2026
87d319b
Mark XSC traversal overrides
jwillemsen Oct 22, 2026
f16e83b
Modernize XSC XML error handling
jwillemsen Oct 22, 2026
50c5519
Mark XSC schema lookup override
jwillemsen Oct 22, 2026
bb51db7
Use RAII for XSC XML character buffers
jwillemsen Oct 22, 2026
a16a73b
Use standard buffers in XSC parser
jwillemsen Oct 22, 2026
fee16bb
Release XSC Xerces diagnostic buffers
jwillemsen Oct 22, 2026
b9d2bbc
Remove Xerces 2 compatibility
jwillemsen Oct 22, 2026
157b077
Make XSC noncopyable types nonmovable
jwillemsen Oct 22, 2026
eac4698
Modernize XSC Xerces string ownership
jwillemsen Oct 22, 2026
d7e0498
Remove inactive traversal debug imports
jwillemsen Oct 22, 2026
5c563b8
Make XSC XML helper nonmovable
jwillemsen Oct 22, 2026
483947f
Use nullptr for XSC graph edge removal
jwillemsen Oct 22, 2026
f0710dc
Preserve XSC XML exceptions
jwillemsen Oct 22, 2026
447c4a8
Modernize XSC graph ownership helpers
jwillemsen Oct 22, 2026
784f4d4
Use standard filesystem in XSC
jwillemsen Oct 22, 2026
aaa994c
Use addressof in XSC ownership code
jwillemsen Oct 22, 2026
fdbc9fd
Default XSC empty special members
jwillemsen Oct 22, 2026
a5d79c4
Use modern empty parameter lists in XSC utilities
jwillemsen Oct 22, 2026
cf9cc12
Modernize XSC empty parameter lists
jwillemsen Oct 22, 2026
da45d46
Modernize XSC backend parameter lists
jwillemsen Oct 22, 2026
612df60
Remove Boost filesystem branches from XSC generators
jwillemsen Oct 22, 2026
da16250
Remove unused Boost exception support
jwillemsen Oct 22, 2026
7a89bd5
Qualify XSC validator stream output
jwillemsen Oct 22, 2026
70faaa8
Value-initialize XSC Xerces strings
jwillemsen Oct 22, 2026
d2ea0f0
Value-initialize XSC parser state
jwillemsen Oct 22, 2026
b6a67ab
Value-initialize XSC semantic state
jwillemsen Oct 22, 2026
dee8f20
Use range-for in XSC path handling
jwillemsen Oct 22, 2026
159ce2d
Use range-for in XSC graph destruction
jwillemsen Oct 22, 2026
e18829f
Use standard streams with XSC filesystem paths
jwillemsen Oct 22, 2026
c9f96c1
Modernize CCF ownership helpers
jwillemsen Oct 22, 2026
313a5f6
Add DanceX11 schema generation regression test
jwillemsen Oct 22, 2026
ea78cfd
Modernize XSCRT empty parameter lists
jwillemsen Oct 22, 2026
e9a9438
Modernize CCF empty parameter lists
jwillemsen Oct 22, 2026
67d8dab
Use standard filesystem paths in XSC
jwillemsen Oct 22, 2026
cf2d05c
Modernize XSCRT special members
jwillemsen Oct 22, 2026
434d4df
Use standard filesystem in CCF
jwillemsen Oct 22, 2026
a38360a
Replace XSCRT auto_ptr ownership
jwillemsen Oct 22, 2026
5f73795
Replace CCF dynamic exception specifications
jwillemsen Oct 22, 2026
d4681de
Remove generated CCF makefiles
jwillemsen Oct 22, 2026
74215d0
Modernize CCF example exception specifications
jwillemsen Oct 22, 2026
bf0ddc5
Modernize XSC backend aliases
jwillemsen Oct 22, 2026
cb40739
Qualify generator stream output
jwillemsen Oct 22, 2026
50826bb
Qualify parser stream output
jwillemsen Oct 22, 2026
e2e5be8
Modernize XSCRT utility aliases
jwillemsen Oct 22, 2026
0bf5b9a
Modernize XSCRT type aliases
jwillemsen Oct 22, 2026
bea5a82
Use nullptr in XSCRT XML wrappers
jwillemsen Oct 22, 2026
24e3de1
Const-qualify XSCRT IDREF message accessor
jwillemsen Oct 22, 2026
aad1d87
Qualify backend stream manipulators
jwillemsen Oct 22, 2026
4b74c26
Modernize runtime pointer handling
jwillemsen Oct 22, 2026
da4e8d2
Mark XSC backend overrides
jwillemsen Oct 22, 2026
cdee4eb
Use aliases in XSC backends
jwillemsen Oct 22, 2026
a0b8ca3
Fix graph deletion API and cancel superseded CI runs
jwillemsen Oct 22, 2026
c0c0d07
Remove obsolete CCF filesystem wrapper
jwillemsen Oct 22, 2026
d2a66e3
Modernize CCF example aliases
jwillemsen Oct 22, 2026
0c42ad9
Prune and relocate CCF support
jwillemsen Oct 22, 2026
bf2da78
Use standard exceptions for indentation
jwillemsen Oct 22, 2026
6b37861
Use std::any for semantic graph context
jwillemsen Oct 22, 2026
70f753d
Use standard regular expressions
jwillemsen Oct 22, 2026
5a3839b
Remove unused Boost.System dependency
jwillemsen Oct 22, 2026
18557fb
Replace Boost command line parsing with ACE
jwillemsen Oct 22, 2026
0a31be6
Modernize retained CCF utilities
jwillemsen Oct 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ColumnLimit: 120
12 changes: 7 additions & 5 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ on:
- cron: '0 1 * * SUN'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

permissions:
contents: read

Expand Down Expand Up @@ -47,15 +51,14 @@ jobs:
if: matrix.Repo != ''
- name: Add packages
run: |
sudo apt-get --yes install libxerces-c-dev libssl-dev libboost-all-dev ${{ matrix.PackageDeps }}
sudo apt-get --yes install libxerces-c-dev libssl-dev ${{ matrix.PackageDeps }}
- name: create $ACE_ROOT/ace/config.h
run: |
'#include "ace/config-linux.h"' > ${env:ACE_ROOT}/ace/config.h
shell: pwsh
- name: create $ACE_ROOT/include/makeinclude/platform_macros.GNU
run: |
'boost=1' > ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
'xerces3=1' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
'xerces3=1' > ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
'ssl=1' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
'xsc=1' >> ${env:ACE_ROOT}/include/makeinclude/platform_macros.GNU
shell: pwsh
Expand All @@ -70,8 +73,7 @@ jobs:
shell: pwsh
- name: create $ACE_ROOT/bin/MakeProjectCreator/config/default.features
run: |
'boost=1' > ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
'xerces3=1' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
'xerces3=1' > ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
'xsc=1' >> ${env:ACE_ROOT}/bin/MakeProjectCreator/config/default.features
shell: pwsh
- name: Run mwc.pl on $(XSC_ROOT)/XSC.mwc
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
#ifndef CCF_CODE_GENERATION_KIT_INDENTATION_BUFFER_HPP
#define CCF_CODE_GENERATION_KIT_INDENTATION_BUFFER_HPP

#include "CCF/CompilerElements/ExH.hpp"

#include <stdexcept>
#include <string>

namespace Indentation
Expand All @@ -15,29 +14,17 @@ namespace Indentation
{
public:

typedef ExH::Logic::DescriptiveException Exception;

class EndOfStream_ {};
typedef
ExH::Compound <EndOfStream_, Exception>
EndOfStream;
using EndOfStream = std::runtime_error;

public:
virtual
~Buffer () { }
virtual ~Buffer () = default;

public:
typedef
std::char_traits<C>
traits_type;
using traits_type = std::char_traits<C>;

typedef
typename traits_type::char_type
char_type;
using char_type = typename traits_type::char_type;

typedef
typename traits_type::int_type
int_type;
using int_type = typename traits_type::int_type;

public:
virtual int_type
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#ifndef CCF_CODE_GENERATION_KIT_INDENTATION_CXX_HPP
#define CCF_CODE_GENERATION_KIT_INDENTATION_CXX_HPP

#include <cstddef>
#include <deque>
#include <stack>

Expand All @@ -21,16 +22,16 @@ namespace Indentation
{
public:
/// Type definition of the traits type.
typedef typename Buffer <C>::traits_type traits_type;
using traits_type = typename Buffer<C>::traits_type;

/// Type definition of the char type.
typedef typename Buffer <C>::char_type char_type;
using char_type = typename Buffer<C>::char_type;

/// Type definition of the integer type
typedef typename Buffer <C>::int_type int_type;
using int_type = typename Buffer<C>::int_type;

/// Type definition of the end of stream.
typedef typename Buffer <C>::EndOfStream EndOfStream;
using EndOfStream = typename Buffer<C>::EndOfStream;

public:
/**
Expand All @@ -49,16 +50,14 @@ namespace Indentation
}

/// Destructor
virtual ~Cxx (void)
{
}
~Cxx () override = default;

public:
/**
* Add a new character to the buffer. Based on the character, different
* actions are taken. The newline always causes the buffer to be flushed.
*/
virtual int_type put (char_type c)
int_type put (char_type c) override
{
int_type result = traits_type::to_int_type (c);

Expand Down Expand Up @@ -165,7 +164,7 @@ namespace Indentation
if (this->hold_.size () > 1 && this->hold_.back () == '\n')
{
bool pop_nl = false;
typedef typename Hold::reverse_iterator iterator;
using iterator = typename Hold::reverse_iterator;

for (iterator i = this->hold_.rbegin (),
e = this->hold_.rend ();
Expand Down Expand Up @@ -333,7 +332,7 @@ namespace Indentation
* Unbuffer the elements. This will remove the elements on
* the holding queue to the target output stream.
*/
virtual void unbuffer (void)
void unbuffer () override
{
int_type result;

Expand All @@ -355,7 +354,7 @@ namespace Indentation
* Helper method that makes sure a newline exists at the end
* of the holding buffer.
*/
void ensure_new_line (void)
void ensure_new_line ()
{
if (this->hold_.empty () || hold_.back () != '\n')
{
Expand All @@ -371,11 +370,11 @@ namespace Indentation
* Helper method that writes the current indentation to the
* output buffer.
*/
void output_indentation (void)
void output_indentation ()
{
if (!this->hold_.empty () && this->hold_.back () == '\n')
{
for (unsigned long i = 0; i < this->indentation_.top (); i++)
for (std::size_t i {}; i < this->indentation_.top (); ++i)
this->write (' ');

this->position_ += this->indentation_.top ();
Expand Down Expand Up @@ -410,16 +409,16 @@ namespace Indentation
Buffer <C> & out_;

/// Current position on the line
unsigned long position_;
std::size_t position_;

/// Balance the parenthesis
unsigned long paren_balance_;
std::size_t paren_balance_;

/// Saved indentations based on state/scope.
std::stack <size_t> indentation_;
std::stack<std::size_t> indentation_;

/// Number of space in a indentation.
unsigned long spaces_;
std::size_t spaces_;

enum Construct
{
Expand All @@ -433,7 +432,7 @@ namespace Indentation
Construct construct_;

/// Type definition of the holding queue.
typedef std::deque <int_type> Hold;
using Hold = std::deque<int_type>;

/// Holding queue for elements.
Hold hold_;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#ifndef CCF_CODE_GENERATION_KIT_INDENTATION_IDL_HPP
#define CCF_CODE_GENERATION_KIT_INDENTATION_IDL_HPP

#include <cstddef>
#include <deque>

#include "CCF/CodeGenerationKit/IndentationBuffer.hpp"
Expand All @@ -14,37 +15,28 @@ namespace Indentation
class IDL : public Buffer<C>
{
public:
typedef
typename Buffer<C>::traits_type
traits_type;
using traits_type = typename Buffer<C>::traits_type;

typedef
typename Buffer<C>::char_type
char_type;
using char_type = typename Buffer<C>::char_type;

typedef
typename Buffer<C>::int_type
int_type;
using int_type = typename Buffer<C>::int_type;

typedef
typename Buffer<C>::EndOfStream
EndOfStream;
using EndOfStream = typename Buffer<C>::EndOfStream;

public:
IDL (Buffer<C>& out)
: out_ (out),
indentation_ (0),
indentation_ {},
spaces_ (2),
construct_ (OTHER)
{
}

virtual
~IDL () throw () {}
~IDL () noexcept override = default;

public:
virtual int_type
put (char_type c)
int_type
put (char_type c) override
{
int_type result = traits_type::to_int_type (c);

Expand Down Expand Up @@ -185,8 +177,8 @@ namespace Indentation
return result;
}

virtual void
unbuffer ()
void
unbuffer () override
{
int_type result;

Expand Down Expand Up @@ -222,7 +214,7 @@ namespace Indentation
{
if (!hold_.empty () && hold_.back () == '\n')
{
for (unsigned long i = 0; i < indentation_ * spaces_; i++)
for (std::size_t i {}; i < indentation_ * spaces_; ++i)
{
write (' ');
}
Expand Down Expand Up @@ -251,8 +243,8 @@ namespace Indentation

private:
Buffer<C>& out_;
unsigned long indentation_;
unsigned long spaces_;
std::size_t indentation_;
std::size_t spaces_;

enum Construct
{
Expand All @@ -263,9 +255,7 @@ namespace Indentation

Construct construct_;

typedef
std::deque<int_type>
Hold;
using Hold = std::deque<int_type>;

Hold hold_;
};
Expand Down
Loading