juce_LittleFootCompiler.h File Reference

Classes

struct  littlefoot::Compiler
 This class compiles littlefoot source code into a littlefoot::Program object which can be executed by a littlefoot::Runner. More...
 
struct  littlefoot::Compiler::CodeGenerator::Marker
 
struct  littlefoot::Compiler::CodeGenerator::MarkerAndAddress
 
struct  littlefoot::Compiler::Statement::Visitor
 
struct  littlefoot::Compiler::FunctionCall::BuiltInFunction
 

Namespaces

 littlefoot
 

Macros

#define LITTLEFOOT_KEYWORDS(X)
 
#define LITTLEFOOT_OPERATORS(X)
 
#define DECLARE_LITTLEFOOT_TOKEN(name, str)   static constexpr const char* name = str;
 
#define LITTLEFOOT_COMPARE_KEYWORD(name, str)   if (len == sizeof (str) - 1 && matchToken (Token::name, len)) return Token::name;
 
#define LITTLEFOOT_COMPARE_OPERATOR(name, str)   if (matchToken (Token::name, sizeof (str) - 1)) return Token::name;
 

Macro Definition Documentation

◆ LITTLEFOOT_KEYWORDS

#define LITTLEFOOT_KEYWORDS (   X)
Value:
X(if_, "if") X(else_, "else") X(do_, "do") \
X(while_, "while") X(for_, "for") X(break_, "break") X(continue_, "continue") \
X(void_, "void") X(int_, "int") X(float_, "float") X(bool_, "bool") \
X(return_, "return") X(true_, "true") X(false_, "false") X(const_, "const")
for(int i=0;i< numSquares;++i)
Definition: unreleased_juce_tutorial_point_line_rectangle.dox:427

◆ LITTLEFOOT_OPERATORS

#define LITTLEFOOT_OPERATORS (   X)
Value:
X(semicolon, ";") X(dot, ".") X(comma, ",") X(hash, "#") \
X(openParen, "(") X(closeParen, ")") X(openBrace, "{") X(closeBrace, "}") \
X(openBracket, "[") X(closeBracket, "]") X(colon, ":") X(question, "?") \
X(equals, "==") X(assign, "=") X(notEquals, "!=") X(logicalNot, "!") \
X(plusEquals, "+=") X(plusplus, "++") X(plus, "+") \
X(minusEquals, "-=") X(minusminus, "--") X(minus, "-") \
X(timesEquals, "*=") X(times, "*") X(divideEquals, "/=") X(divide, "/") \
X(moduloEquals, "%=") X(modulo, "%") X(xorEquals, "^=") X(bitwiseXor, "^") X(bitwiseNot, "~") \
X(andEquals, "&=") X(logicalAnd, "&&") X(bitwiseAnd, "&") \
X(orEquals, "|=") X(logicalOr, "||") X(bitwiseOr, "|") \
X(leftShiftEquals, "<<=") X(lessThanOrEqual, "<=") X(leftShift, "<<") X(lessThan, "<") \
X(rightShiftUnsigned, ">>>") X(rightShiftEquals, ">>=") X(rightShift, ">>") X(greaterThanOrEqual, ">=") X(greaterThan, ">")

◆ DECLARE_LITTLEFOOT_TOKEN

#define DECLARE_LITTLEFOOT_TOKEN (   name,
  str 
)    static constexpr const char* name = str;

◆ LITTLEFOOT_COMPARE_KEYWORD

#define LITTLEFOOT_COMPARE_KEYWORD (   name,
  str 
)    if (len == sizeof (str) - 1 && matchToken (Token::name, len)) return Token::name;

◆ LITTLEFOOT_COMPARE_OPERATOR

#define LITTLEFOOT_COMPARE_OPERATOR (   name,
  str 
)    if (matchToken (Token::name, sizeof (str) - 1)) return Token::name;