Skip to content

Instantly share code, notes, and snippets.

View marcauberer's full-sized avatar
🌶️
Working on @spicelang

Marc Auberer marcauberer

🌶️
Working on @spicelang
View GitHub Profile
Select(entry) = First(entry)\ε U Follow(entry) = {TYPE_INT, TYPE_DOUBLE, PRINT, #}
Select(stmtLst) = First(stmtLst)\ε U Follow(stmtLst) = {TYPE_INT, TYPE_DOUBLE, PRINT, #}
Select(stmt) = First(stmt) = {TYPE_INT, TYPE_DOUBLE, PRINT}
Select(declStmt) = First(declStmt) = {TYPE_INT, TYPE_DOUBLE}
Select(additiveExpr) = First(additiveExpr) = {INT_LIT, DOUBLE_LIT, IDENTIFIER, LPAREN}
Select(multiplicativeExpr) = First(multiplicativeExpr) = {INT_LIT, DOUBLE_LIT, IDENTIFIER, LPAREN}
Select(atomicExpr) = First(atomicExpr) = {INT_LIT, DOUBLE_LIT, IDENTIFIER, LPAREN}
Select(constant) = First(constant) = {INT_LIT, DOUBLE_LIT}
Select(printCall) = First(printCall) = {PRINT}
Select(dataType) = First(dataType) = {TYPE_INT, TYPE_DOUBLE}
Follow(entry) = {#}
Follow(stmtLst) = {#}
Follow(stmt) = {TYPE_INT, TYPE_DOUBLE, PRINT}
Follow(declStmt) = {SEMICOLON}
Follow(additiveExpr) = {SEMICOLON, RPAREN}
Follow(multiplicativeExpr) = {PLUS, MINUS, SEMICOLON, RPAREN}
Follow(atomicExpr) = {MUL, DIV, PLUS, MINUS, SEMICOLON, RPAREN}
Follow(printCall) = {SEMICOLON}
Follow(dataType) = {IDENTIFIER}
First(entry) = {TYPE_INT, TYPE_DOUBLE, PRINT, ε}
First(stmtLst) = {TYPE_INT, TYPE_DOUBLE, PRINT, ε}
First(stmt) = {TYPE_INT, TYPE_DOUBLE, PRINT}
First(declStmt) = {TYPE_INT, TYPE_DOUBLE}
First(additiveExpr) = {INT_LIT, DOUBLE_LIT, IDENTIFIER, LPAREN}
First(multiplicativeExpr) = {INT_LIT, DOUBLE_LIT, IDENTIFIER, LPAREN}
First(atomicExpr) = {INT_LIT, DOUBLE_LIT, IDENTIFIER, LPAREN}
First(constant) = {INT_LIT, DOUBLE_LIT}
First(printCall) = {PRINT}
First(dataType) = {TYPE_INT, TYPE_DOUBLE}
@marcauberer
marcauberer / gradle-dependencies-repository
Last active May 12, 2021 20:25
Simple Settings - Dependencies in build.gradle
allprojects {
repositories {
...
maven { url "https://jitpack.io" } // Required due to internal dependencies
}
}
@marcauberer
marcauberer / customization-kotlin
Created September 12, 2020 16:11
SimpleSettings - Customization in Kotlin config
SimpleSettings(this).show {
Section {
TextPref {
title = "Dialog"
summary = "Tap to show alert dialog"
onClick = DialogClickListener("Test", "This is a test", DialogClickListener.Type.OK)
}
}
}
@marcauberer
marcauberer / customization.kt
Last active September 12, 2020 16:13
SimpleSettings - Customization
private fun showPreferences() {
val config = SimpleSettingsConfig().apply {
showResetOption = true
preferenceCallback = this@MainActivity
}
SimpleSettings(this@MainActivity, config).show(R.xml.preferences)
}
override fun onPreferenceClick(context: Context, key: String): Preference.OnPreferenceClickListener? {
return when(key) {
@marcauberer
marcauberer / xml.kt
Created September 2, 2020 00:23
SimpleSettings - XML config
SimpleSettings(this@MainActivity).show(R.xml.preferences)
@marcauberer
marcauberer / preferences.xml
Created September 2, 2020 00:20
SimpleSettings - Preference XML configuration
<PreferenceScreen
xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory
app:key="preference_category"
app:title="Preference category">
<Preference
app:key="preference_test"
app:title="Test"
@marcauberer
marcauberer / manifest.xml
Created September 2, 2020 00:10
SimpleSettings - Activity registration in manifest
<activity
android:name="com.chillibits.simplesettings.ui.SimpleSettingsActivity"
android:theme="@style/Theme.MaterialComponents.DayNight.NoActionBar" />
@marcauberer
marcauberer / gradle-dependencies.gradle
Last active March 6, 2022 11:53
Simple Settings - Dependencies in build.gradle
implementation 'com.chillibits:simplesettings:1.3.4'
// Required dependencies
implementation 'com.google.android.material:material:<latest-version>'
implementation 'androidx.preference:preference:<latest-version>'