This is a set of C language parsers. A some subset of C++ is also supported.
-
The folder
./include
holds common header files. -
The folder
./lexical_parser
holds a source code of combined preprocessor and lexical parser of C files and perhaps some of C++ files. -
The folder
./syntax_parser
holds a source code of a syntax parser. -
The folder
./codegen
keeps a builder of C source code from syntax tree. -
The folder
./codegen/Pascal
keeps a translator of the Primula syntax tree to Pascal program. (Under development)
Each subfolder has it's own README.md
file with description and hints.
Please use the Issues section for bug reports and feature requests.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Primula is copyright (c) 2019 The Primula Authors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
You may also see the license in the file LICENSE in the source distribution.