Skip to content

Instantly share code, notes, and snippets.

@marcauberer
Created April 2, 2024 04:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marcauberer/f61758d5c57b904008a2f206d3ee8b1d to your computer and use it in GitHub Desktop.
Save marcauberer/f61758d5c57b904008a2f206d3ee8b1d to your computer and use it in GitHub Desktop.
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}
Select(LPAREN) = First(LPAREN) = {LPAREN}
Select(RPAREN) = First(RPAREN) = {RPAREN}
Select(IDENTIFIER) = First(IDENTIFIER) = {IDENTIFIER}
Select(INT_LIT) = First(INT_LIT) = {INT_LIT}
Select(DOUBLE_LIT) = First(DOUBLE_LIT) = {DOUBLE_LIT}
Select(ASSIGN) = First(ASSIGN) = {ASSIGN}
Select(SEMICOLON) = First(SEMICOLON) = {SEMICOLON}
Select(TYPE_INT) = First(TYPE_INT) = {TYPE_INT}
Select(TYPE_DOUBLE) = First(TYPE_DOUBLE) = {TYPE_DOUBLE}
Select(MUL) = First(MUL) = {MUL}
Select(DIV) = First(DIV) = {DIV}
Select(PLUS) = First(PLUS) = {PLUS}
Select(MINUS) = First(MINUS) = {MINUS}
Select(PRINT) = First(PRINT) = {PRINT}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment