All Projects → pawn-lang → Compiler

pawn-lang / Compiler

Licence: other
Pawn compiler for SA-MP with bug fixes and new features - runs on Windows, Linux, macOS

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Compiler

Obengine
2D Game Engine with Lua Scripting made on top of SFML !
Stars: ✭ 335 (+60.29%)
Mutual labels:  cmake, hacktoberfest
Gr Elster
A GNU Radio block that decodes packets transmitted by Elster R2S smart meters
Stars: ✭ 78 (-62.68%)
Mutual labels:  cmake, hacktoberfest
Mumble
Mumble is an open-source, low-latency, high quality voice chat software.
Stars: ✭ 4,418 (+2013.88%)
Mutual labels:  cmake, hacktoberfest
Mond
A scripting language for .NET Core
Stars: ✭ 237 (+13.4%)
Mutual labels:  hacktoberfest, compiler
Command Block Assembly
Compile high-level code into Minecraft commands
Stars: ✭ 175 (-16.27%)
Mutual labels:  hacktoberfest, compiler
Openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,802 (+1240.67%)
Mutual labels:  hacktoberfest, compiler
Hacktoberfest2020
Contribute for hacktoberfest 2020
Stars: ✭ 72 (-65.55%)
Mutual labels:  cmake, hacktoberfest
Fast ber
A C++11 ASN.1 BER Encoding and Decoding Library
Stars: ✭ 54 (-74.16%)
Mutual labels:  cmake, compiler
Nim
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
Stars: ✭ 12,270 (+5770.81%)
Mutual labels:  hacktoberfest, compiler
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+685.17%)
Mutual labels:  hacktoberfest, compiler
Gwion
🎵 strongly-timed musical programming language
Stars: ✭ 235 (+12.44%)
Mutual labels:  hacktoberfest, compiler
Argagg
A simple C++11 command line argument parser
Stars: ✭ 180 (-13.88%)
Mutual labels:  cmake, hacktoberfest
Lumen
An alternative BEAM implementation, designed for WebAssembly
Stars: ✭ 2,742 (+1211.96%)
Mutual labels:  hacktoberfest, compiler
Flingengine
A Vulkan game engine with a focus on data oriented design
Stars: ✭ 239 (+14.35%)
Mutual labels:  cmake, hacktoberfest
Dmd
dmd D Programming Language compiler
Stars: ✭ 2,498 (+1095.22%)
Mutual labels:  hacktoberfest, compiler
Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+4739.71%)
Mutual labels:  cmake, hacktoberfest
Potigol
Linguagem Potigol - Linguagem de programação funcional moderna para iniciantes - A Functional Programming Language for Beginners
Stars: ✭ 179 (-14.35%)
Mutual labels:  hacktoberfest, compiler
Nxdk
The cross-platform, open-source SDK to develop for original Xbox: *new* xdk
Stars: ✭ 200 (-4.31%)
Mutual labels:  hacktoberfest, compiler
Wireflow
Wireflow - user flow chart real-time collaborative tool
Stars: ✭ 2,788 (+1233.97%)
Mutual labels:  hacktoberfest
Rxdnssd
Android version of mDNSResponder
Stars: ✭ 207 (-0.96%)
Mutual labels:  hacktoberfest

Pawn Community Compiler

Build Status Build Status - Windows

What

This is a modified version of the Pawn 3.2.3664 compiler with many bug fixes and enhancements.

This project was originally started by Zeex but on 2017-12-31, the project was taken over by some members of the SA:MP community. Zeex still contributes to the project, along with the Compiler Team.

The original readme is available here

Why

This project exists to:

  • Fix known bugs with the original compiler
  • Provide a better development experience for the SA:MP community

If you find a problem, you can open an issue and contributors can work on a fix. This isn't true with the original compiler that comes with the SA:MP server distribution.

There are also new features that enhance the development experience, such as telling you which tags are involved in a "tag mismatch" or showing you where that pesky "symbol is never used" is actually declared.

There are plenty of features and fixes that are documented, see below for links:

  • Known compiler bugs contains a list of bugs that the team are aware of with their status.

  • What's new contains features and other notable changes.

  • Release notes list of all official releases of the compiler binaries.

How to Use

Binary packages can be downloaded from Releases, see the below sections for platform-specific installation instructions.

Note: You will probably get warnings/errors/fatals when you first build with this compiler — you need to add the -Z flag to your build configuration or add #pragma compat. See this page for more information.

You can also get the latest development binaries for Windows on AppVeyor. This archive is built automatically on every Git commit and can be pretty unstable, so use at your own risk.

Windows

If you just use an editor configured to run pawncc such as Pawno, Sublime Text or VS Code you can simply delete your existing pawncc.exe and replace it with the new one.

Download the ZIP archive and extract pawnc.dll, pawncc.exe, pawndisasmsm.exe to your original pawncc directory. If you use Pawno, this will be in the pawno/ folder that's inside your server directory.

openSUSE

There is an installation package available for openSUSE users so that you can easily install the latest compiler on your distribution. Please follow these steps:

  1. Go to https://build.opensuse.org/package/show/home:mschnitzer:pawncc/pawncc
  2. On the right side, select your distribution (only if it's not disabled!)
  3. Click "Go to download repository"
  4. Copy the link and enter in sudo mode in your shell: zypper ar $COPIED_LINK home:mschnitzer:pawncc
  5. Again as root, type: zypper ref
  6. Install the package with zypper in pawncc
  7. Run pawncc in your shell to test if it's working

The download repository for openSUSE does provide older versions as well (oldest version: 3.10.7). Just install the version you like (e.g.: zypper in pawncc-3.10.8 and run it via $ pawncc-3.10.8 -Z -O3 [...]). Parallel installation is supported.

With sampctl

If you are a sampctl user, you are already using this compiler!

Building from Source

If you are interested in contributing then please first read this document and ensure you have discussed your proposed changes before writing any code. Check out this page for instructions for compiling for your platform.

Background

The project was originally started as a set of patches aimed to create a compiler that would be compatible with the compiler used in SA-MP (San Andreas Multiplayer).

SA-MP uses a modified version of Pawn 3.2.3664 [1] with Windows-only executables, and the developers said that they lost the source code for it which means it can't be ported to other platforms (e.g. Linux) and newly discovered bugs can't be fixed. So the main goal of the project is to re-create changes that were previously made by the devs as well as fix all known compiler bugs.

[1] It's worth noting that the version of the AMX embedded into the SA-MP server seems to be based on an older release of Pawn.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].