Silver is a programming language designed to have the look and feel of python combined with the simplicity and efficiency of C, combined with a rich plugin system for extending the capabilities of the language

Related tags

ViewPager silver
Overview

Silver Programming Language

Silver is a programming language designed to resemble Python with some C features, packed with a rich plugin system.

Contribute

In order to ensure a minimal conflict workflow, it is required that all changes to the project be made in a separate branch, to then be merged into the dev branch before then being merged into master. This ensures that master remains stable. Only stable code is allowed into master.

Structure

The structure of the project is as follows:

root
    |- This is the root of the project, which is considered to be the "main" or "impl" of the compiler, which only has
        direct access to the `api` module. 
    |- api
        |- This is where all api code goes, which will be used for the final implementation of the compiler
    |- core
        |- This is where all core code goes, which is hidden by the final implementation and only stands as the backbone
            of the compiler.
  

The core is where all the core infrastructure of the compiler exists, minimally. This means,

  • The basic structure and logic for a function component (file system, database, tokenizer, parser, etc)
  • This is put together by the API, which provides a DSL for configuring the final behavior of the compiler
  • If there is a bug with the way a specific part of the compiler works, it is easy to tell if it is in core or API, which makes it easier to find and kill bugs.

There is currently a planned set of features, which will be laid out and explained very soon.

Database

The database allows for the compiler to load up previously compiled code and do incremental compilation as well as debugging externally with a database viewer (soon to come). By having a database, this means that any part of the compiler can easily query and insert data for that specific part of the compiler. It also allows for long term caching of the internals so that it can remember what it has already done, do a compare and swap, and preserve old code that has already been generated, or old states to be repeated without redoing everything. It provides for predictive behaviors with a constantly changing project, and after the first initial compile (the warm-up), further compilations should become faster.

Project Structure

The project structure is already implemented. It allows for a base project structure like so:

root
  |- libs
  |- src
  |- target

However, with CLI args, this can be changed, although the CLI args have not been implemented, the cli arg backbone has been integrated with an API silverc -srcDir=src -libsDir=libs -clibsDir=includes -outDir=out Which will allow for the creation of projects like this:

root
  |- includes
  |- libs
  |- out
  |- src

Note: clibs is meant for C libraries to be used in the project. This is part of a planned drop-in C compiler feature

You might also like...
You don’t want your apps look and feel boring, do you? Add some bubbles!
You don’t want your apps look and feel boring, do you? Add some bubbles!

#BubbleAnimationLayout Say hello to Bubble Animation Layout for Android by Cleveroad You don’t want your apps look and feel boring, do you? Add some b

You don’t want your apps look and feel boring, do you? Add some bubbles!
You don’t want your apps look and feel boring, do you? Add some bubbles!

#BubbleAnimationLayout Say hello to Bubble Animation Layout for Android by Cleveroad You don’t want your apps look and feel boring, do you? Add some b

DroidFish is a feature-rich graphical chess user interface, combined with the very strong Stockfish chess engine.
DroidFish is a feature-rich graphical chess user interface, combined with the very strong Stockfish chess engine.

Introduction DroidFish is a feature-rich graphical chess user interface, combined with the very strong Stockfish chess engine. DroidFish is primarily

A pull to refresh layout for android, the RecyclerRefreshLayout is based on the SwipeRefreshLayout. support all the views, highly customizable, code simplicity, etc.  really a practical RefreshLayout!
A pull to refresh layout for android, the RecyclerRefreshLayout is based on the SwipeRefreshLayout. support all the views, highly customizable, code simplicity, etc. really a practical RefreshLayout!

RecyclerRefreshLayout English | 中文版 RecyclerRefreshLayout based on the {@link android.support.v4.widget.SwipeRefreshLayout} The RecyclerRefreshLayout

Have a look at Job Allocation app build with SQLite database and Kotlin support
Have a look at Job Allocation app build with SQLite database and Kotlin support

Job Allocation Overview Do you remember or forget sometimes to whom you allocated a task ?? Have a look at Job Allocation app build with SQLite databa

A "must-have a look" project for newcomers in android.

PracticeApp Helping the Newbies This app is made with a purpose to help newbies understand core concepts of Android Development. There are very limite

A customizable, animated progress bar that features rounded corners. This Android library is designed to look great and be simple to use 🎉
A customizable, animated progress bar that features rounded corners. This Android library is designed to look great and be simple to use 🎉

RoundedProgressBar Easy, Beautiful, Customizeable The RoundedProgressBar library gives you a wide range of customizable options for making progress ba

PNPscript - ProdigyPNP's upcoming programming language, designed for hacking Prodigy.

PNPscript PNPscript - ProdigyPNP's upcoming programming language, designed for hacking Prodigy. THIS IS IN EARLY DEVELOPMENT. DON'T BOTHER TRYING TO A

IntelliJ language plugin for the Kipper programming language 🦊
IntelliJ language plugin for the Kipper programming language 🦊

Kipper IntelliJ Plugin The language plugin for the Kipper programming language, which provides language support for the JetBrains IntelliJ platform. T

An Interpreter/Transpiler for the Folders esoteric programming language, a language with no code and just folders
An Interpreter/Transpiler for the Folders esoteric programming language, a language with no code and just folders

Folders2kt 📁 An Interpreter/Transpiler of the Folders esoteric programming language, a language with no code and just folders, written in Kotlin Show

Healthify - An app to track your daily water intake and sleep and boost your work efficiency. Healthify is built using Kotlin and follows all modern android Development practices and hence is a good learning resource for beginners
Healthify - An app to track your daily water intake and sleep and boost your work efficiency. Healthify is built using Kotlin and follows all modern android Development practices and hence is a good learning resource for beginners

Healthify Healthify is an app to track your daily water intake and sleep and boost your work efficiency. Video Introduction 📹 This is a small introdu

👋 A common toolkit (utils) ⚒️ built to help you further reduce Kotlin boilerplate code and improve development efficiency. Do you think 'kotlin-stdlib' or 'android-ktx' is not sweet enough? You need this! 🍭

Toolkit [ 🚧 Work in progress ⛏ 👷 🔧️ 🚧 ] Snapshot version: repositories { maven("https://s01.oss.sonatype.org/content/repositories/snapshots") }

Modulearchive - Improve the efficiency of compiling Android.Package module as AAR and cache it
Modulearchive - Improve the efficiency of compiling Android.Package module as AAR and cache it

ModuleArchive 一个可以提升Android编译效率的Gradle小插件 在多module工程下,大多数情况我们若干子module是不会变动的 但是在当前gradle版本偶尔会触发联动编译进而影响编译效率。 本插件会自动缓存编译后的子模块生产物(xxx.aar),且会自动替换依赖为aar依

Luban(鲁班)—Image compression with efficiency very close to WeChat Moments/可能是最接近微信朋友圈的图片压缩算法

Luban 📖 English Documentation Luban(鲁班) —— Android图片压缩工具,仿微信朋友圈压缩策略。 Luban-turbo —— 鲁班项目的turbo版本,查看trubo分支。 写在前面 家境贫寒,工作繁忙。只能不定期更新,还望网友们见谅! 项目描述 目前做A

StartPointSeekBar is a custom view for the Android platform that makes it possible to have a SeekBar to have custom start point.
StartPointSeekBar is a custom view for the Android platform that makes it possible to have a SeekBar to have custom start point.

Forked/Inspired from https://code.google.com/p/range-seek-bar/ by [email protected] This solves the problem as described in http://

用于做Path动画的自定义View。 I have a path.I have a view. (Oh~),Path(Anim)View.
用于做Path动画的自定义View。 I have a path.I have a view. (Oh~),Path(Anim)View.

PathAnimView 用于做Path动画的自定义View。 I have a path.I have a view. (Oh~),Path(Anim)View. 现已经找到图片-SVG-PATH的正确姿势, Now i have a pic.I have a view. Oh~,Path(A

Paint-me Is a simple painting app. Feel free to show your artistic talent on the wide canvas provided!

Kicking Off Hacktoberfest with ACM-VIT! PaintMe PaintMe Is a simple one screen-canvas painting app. Feel free to show your artistic talent on the wide

Repo: Programming problems with solutions in Kotlin to help avid Kotlin learners to get a strong hold on Kotlin programming.

Kotlin_practice_problems Repo: Programming problems with solutions in Kotlin to help avid Kotlin learners to get a strong hold on Kotlin programming.

Concurrency-programming - Homework for the course of Concurrency Programming, ITMO CT, Autumn 2020

Homework for the course of Concurrency Programming, ITMO CT, Autumn 2020 Выполни

Owner
Silver Software
Silver Software is the official organization for the Silver programming language and all of its affiliated assets, libraries, plugins, websites, etc.
Silver Software
Paging indicator widgets compatible with the ViewPager from the Android Support Library and ActionBarSherlock.

Android ViewPagerIndicator Paging indicator widgets that are compatible with the ViewPager from the Android Support Library to improve discoverability

Jake Wharton 10.2k Jan 3, 2023
Combine ViewPager and Animations to provide a simple way to create applications' guide pages.

WoWoViewPager WoWoViewPager combines ViewPager and Animations to provide a simple way to create applications' guide pages. When users are dragging WoW

黄伟平 2.7k Dec 30, 2022
Pixplicity 915 Nov 8, 2022
[Development stopped in 2014. Unfinished and not stable - not recommended to use.] An easy-to-use ViewPager subclass with parallax background effect for Android apps.

Development stopped in 2014 Not developed since 2014. Unfinished and not stable - not recommended to use. ParallaxViewPager An easy-to-use ViewPager s

Andras Kindler 437 Dec 29, 2022
Android - A ViewPager page indicator that displays the current page number and (optionally) the page count

NumericPageIndicator A ViewPager page indicator that displays the current page number and (optionally) the page count. It can also display buttons to

Manuel Peinado Gallego 253 Nov 16, 2022
Paging indicator widgets compatible with the ViewPager from the Android Support Library and ActionBarSherlock.

Android ViewPagerIndicator Paging indicator widgets that are compatible with the ViewPager from the Android Support Library to improve discoverability

Jake Wharton 10.2k Jan 5, 2023
Put some bubble in your tabs and give your apps a supa fresh style !

BubbleTab Put some bubble in your tabs and give your apps a supa fresh style ! Usage Add a BubbleTab with your icons on the layout.xml Customisable pa

Florent CHAMPIGNY 535 Nov 18, 2022
PagedGrid - Custom android view composed by multiple page grids with custom content and layout

PagedGrid A PagedGrid is a ViewPager which pages are GridLayout with equal distributed rows and columns. This project is an Android library, written i

Matteo Pellegrino 1 Jan 23, 2019
Android Maps Extensions is a library extending capabilities of Google Maps Android API v2.

Android Maps Extensions Library extending capabilities of Google Maps Android API v2. While Google Maps Android API v2 is a huge leap forward comapare

Maciej Górski 408 Dec 15, 2022
****. Use the native and support library variants instead - https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html. An android library that makes it easy to add custom fonts to edittexts and textviews

Add to your project Add this line to your dependencies in build.gradle compile 'in.workarounds.typography:typography:0.0.8' Using the views There are

Workarounds 43 Nov 6, 2021