This repository provides a cross-platform CMake build script and project files to compile and install the original C&C CCG parser (including the Boxer semantic tool) on Linux, Windows, and macOS. It bundles the upstream C++ and Prolog sources from the original release, obtained from chrzyki/candc, and applies minimal adjustments.
- Cross-Platform Builds Enable out-of-the-box compilation on major operating systems (Linux, Windows, macOS) via CMake.
- Upstream Preservation Retain the original C&C and Boxer sources, preserving academic licensing and functionality.
-
Install dependencies
- Debian based:
sudo apt install swi-prolog cmake build-essential gcc g++
- Fedora:
sudo dnf install swi-prolog-core cmake gcc g++
- Debian based:
-
Clone the repository
git clone https://github.com/Alvaro-Kothe/candc-build.git cd candc-build -
Create a build directory
mkdir build && cd build
-
Configure with CMake
cmake ..
-
Build
cmake --build . --config Release -
Move binaries close to models
mv bin .. && cd ..
$ echo "The quick brown fox jumps over the lazy dog" | bin/candc --models models/boxer
# this file was generated by the following command(s):
# bin/candc --models models/boxer
% this file was generated by the following command(s):
% bin/candc --models models/boxer
:- multifile w/8, ccg/2, id/2.
:- discontiguous w/8, ccg/2, id/2.
:- dynamic w/8, ccg/2, id/2.
1 parsed at B=0.075, K=20
1 coverage 100%
ccg(1,
ba('NP',
fa('NP[nb]',
lf(1,1,'NP[nb]/N'),
fa('N',
lf(1,2,'N/N'),
fa('N',
lf(1,3,'N/N'),
fa('N',
lf(1,4,'N/N'),
lf(1,5,'N'))))),
fa('NP\NP',
lf(1,6,'(NP\NP)/NP'),
fa('NP[nb]',
lf(1,7,'NP[nb]/N'),
fa('N',
lf(1,8,'N/N'),
lf(1,9,'N')))))).
w(1, 1, 'The', 'the', 'DT', 'I-NP', 'O', 'NP[nb]/N').
w(1, 2, 'quick', 'quick', 'JJ', 'I-NP', 'O', 'N/N').
w(1, 3, 'brown', 'brown', 'JJ', 'I-NP', 'O', 'N/N').
w(1, 4, 'fox', 'fox', 'NN', 'I-NP', 'O', 'N/N').
w(1, 5, 'jumps', 'jump', 'NNS', 'I-NP', 'O', 'N').
w(1, 6, 'over', 'over', 'IN', 'I-PP', 'O', '(NP\NP)/NP').
w(1, 7, 'the', 'the', 'DT', 'I-NP', 'O', 'NP[nb]/N').
w(1, 8, 'lazy', 'lazy', 'JJ', 'I-NP', 'O', 'N/N').
w(1, 9, 'dog', 'dog', 'NN', 'I-NP', 'O', 'N').
1 stats 0 129 129 comb 120 70 0 0This project is released under the same academic (non-commercial) license as the original C&C tools. For any commercial licensing inquiries, please contact the original authors as per their license terms.