source: CIVL/mods/dev.civl.abc/README@ 1aaefd4

main test-branch
Last change on this file since 1aaefd4 was aad342c, checked in by Stephen Siegel <siegel@…>, 3 years ago

Performing huge refactor to incorporate ABC, GMC, and SARL into CIVL repo and use Java modules.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5664 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 2.7 KB
Line 
1 ABC: A C Front-end
2 http://vsl.cis.udel.edu/abc
3
4ABC is a Java-based C front-end. It provides a pre-processor and
5parser for C programs. These produce an Abstract Syntax Tree
6representation of the program. The AST includes information such as
7the type of every expression, the "symbol table" (i.e., the mapping
8which yields the entity corresponding to each identifier in the
9program), and a precise description of the origin of each AST element
10in the original source files. There is also support for transforming
11ASTs.
12
13The ABC interface is intended to be thoroughly documented and easy to
14use. The code is 100% Java.
15
16No one is sure what ABC stands for. It may stand for "ANTLR-Based C
17front-end" because it uses the ANTLR parser generator at several
18steps. However, ABC goes significantly beyond the services provided
19by these ANTLR parsers. ABC may stand for "A Better C front-end" or
20using it may be as easy as the "ABCs".
21
22ABC is developed by Stephen F. Siegel and Timothy K. Zirkel at the
23Verified Software Laboratory, University of Delaware. It is
24distributed under the terms of the GNU Lessor General Public
25License (LGPL).
26
27------------------------- Binary Installation -------------------------
28
29For most users, this will be the easiest way to install and use CIVL.
30
311. Install a Java 8 SDK if you have not already. Go to
32http://www.oracle.com/technetwork/java/javase/downloads/ for the
33latest from Oracle. On linux, you can optionally sudo apt-get install
34openjdk-8-jdk.
35
362. If you already have the VSL dependencies library, you may
37skip this step. Otherwise, download the archive of VSL
38dependencies from http://vsl.cis.udel.edu/lib/tools/vsl_depend,
39choosing the version for your OS type (32-bit linux,
4064-bit linux, or 64-bit OS X). Unzip and untar the
41downloaded .tgz file and you will have a folder named "vsl".
42If you do not already have a directory /opt, create one with
43"mkdir /opt". Move vsl into /opt. Use sudo as needed.
44
453. Download the ABC distribution from http://vsl.cis.udel.edu/abc.
46
474. Unzip and untar the downloaded file if this does not happen
48automatically. This should result in a folder named
49ABC-TAG, where TAG is some version id string. This folder
50contains the following:
51
52 - README : this file
53 - bin : containing one executable sh script called "civl"
54 - lib : containing civl-TAG.jar
55 - licenses : licenses for CIVL and included libraries
56 - examples : some example CIVL programs
57
585. Move ABC-TAG into /opt.
59
606. Put the abc script in your path however you like to put things
61in your path. Either move it to a directory in your path,
62or create a symlink to it, or edit your .profile or equivalent
63to put it in your path.
Note: See TracBrowser for help on using the repository browser.