libqasm
library for handling cQASM files
Classes | Macros | Typedefs | Enumerations | Functions
cqasm-v1-parser.hpp File Reference

Parser, generated by Bison. More...

Go to the source code of this file.

Classes

union  CQASM_V1STYPE
 
struct  CQASM_V1LTYPE
 

Macros

#define CQASM_V1DEBUG   0
 
#define YYSTYPE   CQASM_V1STYPE
 
#define YYLTYPE   CQASM_V1LTYPE
 
#define CQASM_V1TOKENTYPE
 
#define CQASM_V1STYPE_IS_TRIVIAL   1
 
#define CQASM_V1STYPE_IS_DECLARED   1
 
#define CQASM_V1LTYPE_IS_DECLARED   1
 
#define CQASM_V1LTYPE_IS_TRIVIAL   1
 

Typedefs

typedef void * yyscan_t
 
typedef union CQASM_V1STYPE CQASM_V1STYPE
 
typedef struct CQASM_V1LTYPE CQASM_V1LTYPE
 

Enumerations

enum  cqasm_v1tokentype {
  NEWLINE = 258, VERSION = 259, QUBITS = 260, MAP = 261,
  VAR = 262, CDASH = 263, COND = 264, IF = 265,
  ELSE = 266, FOR = 267, FOREACH = 268, WHILE = 269,
  REPEAT = 270, UNTIL = 271, CONTINUE = 272, BREAK = 273,
  SET = 274, INT_LITERAL = 275, FLOAT_LITERAL = 276, BAD_NUMBER = 277,
  STRING_OPEN = 278, STRING_CLOSE = 279, JSON_OPEN = 280, JSON_CLOSE = 281,
  STRBUILD_APPEND = 282, STRBUILD_ESCAPE = 283, IDENTIFIER = 284, POWER = 285,
  INT_DIV = 286, LOGIC_OR = 287, LOGIC_AND = 288, LOGIC_XOR = 289,
  CMP_GE = 290, CMP_LE = 291, CMP_EQ = 292, CMP_NE = 293,
  SHL = 294, ARITH_SHR = 295, LOGIC_SHR = 296, ELLIPSIS = 297,
  BAD_CHARACTER = 298, END_OF_FILE = 299, UMINUS = 300, UCOMP = 301,
  UNOT = 302, NEWLINE = 258, VERSION = 259, QUBITS = 260,
  MAP = 261, VAR = 262, CDASH = 263, COND = 264,
  IF = 265, ELSE = 266, FOR = 267, FOREACH = 268,
  WHILE = 269, REPEAT = 270, UNTIL = 271, CONTINUE = 272,
  BREAK = 273, SET = 274, INT_LITERAL = 275, FLOAT_LITERAL = 276,
  BAD_NUMBER = 277, STRING_OPEN = 278, STRING_CLOSE = 279, JSON_OPEN = 280,
  JSON_CLOSE = 281, STRBUILD_APPEND = 282, STRBUILD_ESCAPE = 283, IDENTIFIER = 284,
  POWER = 285, INT_DIV = 286, LOGIC_OR = 287, LOGIC_AND = 288,
  LOGIC_XOR = 289, CMP_GE = 290, CMP_LE = 291, CMP_EQ = 292,
  CMP_NE = 293, SHL = 294, ARITH_SHR = 295, LOGIC_SHR = 296,
  ELLIPSIS = 297, BAD_CHARACTER = 298, END_OF_FILE = 299, UMINUS = 300,
  UCOMP = 301, UNOT = 302
}
 

Functions

int cqasm_v1parse (yyscan_t scanner, cqasm::v1::parser::ParseHelper &helper)
 

Detailed Description

Parser, generated by Bison.

Definition in file cqasm-v1-parser.hpp.

#include <memory>
#include <cstdio>
#include <cstdint>
#include "cqasm-annotations.hpp"
#include "cqasm-v1-ast.hpp"
#include "cqasm-v1-parse-helper.hpp"
Include dependency graph for cqasm-v1-parser.hpp:
This graph shows which files directly or indirectly include this file:

Macro Definition Documentation

◆ CQASM_V1DEBUG

#define CQASM_V1DEBUG   0

Definition at line 44 of file cqasm-v1-parser.hpp.

◆ YYSTYPE

#define YYSTYPE   CQASM_V1STYPE

Definition at line 66 of file cqasm-v1-parser.hpp.

◆ YYLTYPE

#define YYLTYPE   CQASM_V1LTYPE

Definition at line 67 of file cqasm-v1-parser.hpp.

◆ CQASM_V1TOKENTYPE

#define CQASM_V1TOKENTYPE

Definition at line 74 of file cqasm-v1-parser.hpp.

◆ CQASM_V1STYPE_IS_TRIVIAL

#define CQASM_V1STYPE_IS_TRIVIAL   1

Definition at line 172 of file cqasm-v1-parser.hpp.

◆ CQASM_V1STYPE_IS_DECLARED

#define CQASM_V1STYPE_IS_DECLARED   1

Definition at line 173 of file cqasm-v1-parser.hpp.

◆ CQASM_V1LTYPE_IS_DECLARED

#define CQASM_V1LTYPE_IS_DECLARED   1

Definition at line 186 of file cqasm-v1-parser.hpp.

◆ CQASM_V1LTYPE_IS_TRIVIAL

#define CQASM_V1LTYPE_IS_TRIVIAL   1

Definition at line 187 of file cqasm-v1-parser.hpp.

Typedef Documentation

◆ yyscan_t

typedef void* yyscan_t

Definition at line 64 of file cqasm-v1-parser.hpp.

◆ CQASM_V1STYPE

Definition at line 127 of file cqasm-v1-parser.hpp.

◆ CQASM_V1LTYPE

typedef struct CQASM_V1LTYPE CQASM_V1LTYPE

Definition at line 178 of file cqasm-v1-parser.hpp.

Enumeration Type Documentation

◆ cqasm_v1tokentype

Enumerator
NEWLINE 
VERSION 
QUBITS 
MAP 
VAR 
CDASH 
COND 
IF 
ELSE 
FOR 
FOREACH 
WHILE 
REPEAT 
UNTIL 
CONTINUE 
BREAK 
SET 
INT_LITERAL 
FLOAT_LITERAL 
BAD_NUMBER 
STRING_OPEN 
STRING_CLOSE 
JSON_OPEN 
JSON_CLOSE 
STRBUILD_APPEND 
STRBUILD_ESCAPE 
IDENTIFIER 
POWER 
INT_DIV 
LOGIC_OR 
LOGIC_AND 
LOGIC_XOR 
CMP_GE 
CMP_LE 
CMP_EQ 
CMP_NE 
SHL 
ARITH_SHR 
LOGIC_SHR 
ELLIPSIS 
BAD_CHARACTER 
END_OF_FILE 
UMINUS 
UCOMP 
UNOT 
NEWLINE 
VERSION 
QUBITS 
MAP 
VAR 
CDASH 
COND 
IF 
ELSE 
FOR 
FOREACH 
WHILE 
REPEAT 
UNTIL 
CONTINUE 
BREAK 
SET 
INT_LITERAL 
FLOAT_LITERAL 
BAD_NUMBER 
STRING_OPEN 
STRING_CLOSE 
JSON_OPEN 
JSON_CLOSE 
STRBUILD_APPEND 
STRBUILD_ESCAPE 
IDENTIFIER 
POWER 
INT_DIV 
LOGIC_OR 
LOGIC_AND 
LOGIC_XOR 
CMP_GE 
CMP_LE 
CMP_EQ 
CMP_NE 
SHL 
ARITH_SHR 
LOGIC_SHR 
ELLIPSIS 
BAD_CHARACTER 
END_OF_FILE 
UMINUS 
UCOMP 
UNOT 

Definition at line 75 of file cqasm-v1-parser.hpp.

Function Documentation

◆ cqasm_v1parse()

int cqasm_v1parse ( yyscan_t  scanner,
cqasm::v1::parser::ParseHelper helper 
)