GitXplorerGitXplorer
d

magoo

public
9 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
700605dd0447d6a7dee0e2a7278b09575d3da835

FixMacNLinux

committed 4 years ago
Unverified
75338417873e95ee019bd64ffa90a536fe9b4fa1

@compnerd is my hero

committed 4 years ago
Unverified
0784452ac83df44ca6dcbc4c082e02fe4705dee1

Lib name case, verbose build

committed 4 years ago
Unverified
db885bff1c72729320bd0d14759f84f879af9364

Attempted FixFixFixFix

committed 4 years ago
Unverified
481e3b4617316c3392155b9b481def8cf5b75136

Fix fix to fix

committed 4 years ago
Unverified
9dbd691e284ff518dfe34a4504f43cc49fc33571

Attempt to newly fix windoze build

committed 4 years ago

README

The README file for this repository.

Executable Semantics In Swift

Swift implementation of executable semantics of Carbon.

Preparation

  1. Have Swift installed and in your path.
  2. git submodule update --init

To Build on Mac or Linux

make build

To Test on Mac or Linux

make test

To translate parse errors so that your IDE will recognize them

make test 2>&1 | sed -Ee 's/.*"(.*)", (.*)\.\.<(.*)\)\).*/\1:\2:{\2-\3}/g'

To work on the project in Xcode

make Sources/Parser.swift
open Package.swift

Note that if you modify Sources/Parser.citron, or when you pull new changes from GitHub, you'll need to run the make command above again before proceeding.

Test coverage

Try to ensure you've tested all the interesting code paths!

Use these instructions from Xcode, or from the command-line

make test-lcov

to generate .build/coverage.lcov, a standard coverage format. If you use Emacs, you can inspect it using the coverlay package. If you have a different tool that reads the json format created by the swift test command by default, it's

make test-jcov

You'll find the output in .build/debug/codecov/CarbonInterpreter.json.

On Windows

If you install MinGW, you can use make Sources/Parser.swift followed by swift build or swift test, with the same caveat as for Xcode users: if you modify Sources/Parser.citron, and when you pull new changes from GitHub, you'll need to run the make command again before proceeding. If you don't want to install MinGW, you should be able to read the simple Makefile to figure out how to build citron and use it to "manually" generate Sources/Parser.swift from Sources/Parser.citron.