GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - BinaryAnalysisPlatform/FrontC: An OCaml library providing a C parser and lexer

BranchesTags
Open more actions menu

Latest commit

 

History

74 Commits
74 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
calipso
calipso
 
 
ctoxml
ctoxml
 
 
frontc
frontc
 
 
printc
printc
 
 
test.t
test.t
 
 
.gitignore
.gitignore
 
 
.project
.project
 
 
AUTHORS
AUTHORS
 
 
COPYING
COPYING
 
 
FrontC.opam
FrontC.opam
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
calipso.opam
calipso.opam
 
 
ctoxml.opam
ctoxml.opam
 
 
dune
dune
 
 
dune-project
dune-project
 
 
dune-workspace
dune-workspace
 
 

Repository files navigation

FrontC v4.0

FrontC is C language front-end. It provides the program in "C Abstract Form", a tree representation of the original C source. It may be used for many source works including:

  • compilation,
  • source pre-processing,
  • source beautification,
  • source analysis,
  • and so on.

It provides also an XML back-end making easier to transform the C program using XML tools like XSLT (it was my first goal when I perform this task).

ctoxml

The ctoxml package provides a ctoxml binary that translates a C binary into its XML representation.

calipso

The calipso package provides a program analysis tool that removes non-structural control-flow from C programs. See https://dblp.org/rec/journals/tsi/CasseFRS02 for more details. The tool provides two binaries, calipso and calipso_stat

FrontC v3.0 (stable)

The stable branch supports only ANSI C (C89) with partial support for some GNU extensions. This branch is using ocamlyacc as a parser generator and doesn't accept new features, only occasional bug fixes.

Building and Installing

The easiest option is to install using opam, e.g.,

opam install FrontC # or calipso, or ctoxml

The command above will install the latest version of the package from the ocaml.org opam-repositor. To get the current development (not yet released to ocaml.org) version of a package, you can use the opam pin command, e.g.,

opam pin FrontC --dev-repo

You can also just clone this repo and do

make && make install # translates to `dune build && dune install`

If you change anything do not forget to run tests with make test.

Documentation

You can easily get the documentation using odig,

odig doc FrontC

About

An OCaml library providing a C parser and lexer

Resources

Readme
LGPL-2.1 license
Activity
Custom properties

Stars

43 stars

Watchers

7 watching

Forks

14 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.