# Reserved Keywords

The list of reserved keywords is the following:

• signal: Declare a new signal.
• input: Declare the signal as input.
• output: Declare the signal as output.
• public: Declare the signal as public.
• template: Define a new circuit.
• component: Instantiate a template.
• var: Declare a new integer variable.
• function: Define a new function.
• return: Return from function.
• if: Branch based on the result of a conditional expression.
• else: Fallback for if control flow construct.
• for: Loop conditionally based on the result of an expression.
• while: Loop conditionally based on the result of an expression.
• do: Loop conditionally based on the result of an expression.
• log: Print the result of the evaluation.
• assert: Check the condition at construction time.
• include: Include code of the indicated file.
• pragma circom: Instruction to check the compiler version.
• pragma custom_templates: Instruction to indicate the usage of custom templates.