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.
- Binary: Declare the signal as binary.
- FieldElement: Declare the signal as an element of Z/pZ .
- 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.