GitXplorerGitXplorer
d

magoo

public
9 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
e993981791fe80116eb0a4b3708f464777d8f3ae

Once more into the breach

committed 4 years ago
Unverified
3b2d46001c8ecf169d9636a416d125d3f6bf963c

Try to feex weendoes

committed 4 years ago
Unverified
1bc8b1e97dccae164ada1e788b416e269c9d7090

Drop opts from target operation

committed 4 years ago
Unverified
a0f1d6d465f87a69b88fe03c3c8cda0644eb0b20

--target for @compnerd

committed 4 years ago
Unverified
0133632fd4ad4774125cc4119b11f95d6cc179f1

Update windows snapshot for CI

committed 4 years ago
Unverified
bb3a0cca44908344c69ce15f5cc4f50510561f70

-v for @compnerd

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.