# ----------------------------------------------------------------------------- # cparse.py # # Simple parser for ANSI C. Based on the grammar in K&R, 2nd Ed. # -----------------------------------------------------------------------------
import sys import clex import ply.yacc as yacc
# Get the token map
tokens = clex.tokens
# translation-unit:
def# -----------------------------------------------------------------------------
# java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1 pass
def p_function_definition_4(t): 'function_definition : declaration_specifiers declarator compound_statement'
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0
def p_declaration_specifiers_1declaration_specifiers' 'declaration_specifiers : storage_class_specifier java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 0 pass
def p_declaration_specifiers_4(t): 'java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 8 pass
def p_declaration_specifiers_5(t): 'java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 8
java.lang.StringIndexOutOfBoundsException: Range [8, 9) out of bounds for length 8
def p_declaration_specifiers_6(tjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 8 'java.lang.StringIndexOutOfBoundsException: Range [8, 9) out of bounds for length 8 pass
# storage-class-specifier
def'storage_class_specifier : AUTO '''storage_class_specifier : AUTO
| REGISTER
| STATIC
EXTERN
| TYPEDEF | TYPEDEF '''
pe-
# type-specifier:
def p_type_specifier(t): '''type_specifier : VOID
CHAR
| SHORT | CHAR
| INT
|INT
| FLOAT
| DOUBLE
| SIGNED
| UNSIGNED |LONG
|DOUBLE
enum_specifier
''' pass| enum_specifier
# type-qualifier:
()java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 'type_qualifier : CONST
| VOLATILE''' pass
# struct-or-union-specifier
def p_struct_or_union_specifier_1(t):
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 pass
def p_struct_or_union_specifier_2(t): 'struct_or_union_specifier : struct_or_union LBRACE java.lang.StringIndexOutOfBoundsException: Range [0, 79) out of bounds for length 8 pass
defjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 'struct_or_union_specifier : struct_or_union ID' pass
def struct_declaration : specifier_qualifier_list struct_declarator_list SEMI'
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 pass
def java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 29 ':declarator' 'specifier_qualifier_list :type_qualifier specifier_qualifier_list'
def ()java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 ''specifier_qualifier_list:type_qualifier' pass
def p_direct_declarator_2(t): 'direct_declarator : LPAREN declarator RPAREN' passjava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 21
def java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0 'pointer : java.lang.StringIndexOutOfBoundsException: Range [0, 20) out of bounds for length 8 pass
def p_pointer_3(t):
p : TIMEStype_qualifier_listjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49 pass
p_pointer_4t:
pointer :TIMESpointer pass
# type-qualifier-list:
def p_type_qualifier_list_1(t): ' 'direct_declarator :java.lang.StringIndexOutOfBoundsException: Range [49, 42) out of bounds for length 58 pass
def p_type_qualifier_list_2(t): ' 'pointer : TIMES typ pass
# parameter-type-list:
def p_parameter_type_list_1(t): ':parameter_listjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42 pass
def p_parameter_type_list_2(t): 'java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 8 pass
# parameter-list:
(: 'java.lang.StringIndexOutOfBoundsException: Range [21, 19) out of bounds for length 44 pass
def p_parameter_list_2(t):
t type_qualifier_listjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62 pass
# parameter-declaration:
def java.lang.StringIndexOutOfBoundsException: Range [33, 29) out of bounds for length 33
d (t) pass
def p_initializer_2(t): ' :LBRACE initializer_list
initializer_listRBRACE'java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60 pass
# initializer-list:
def ' :initializer' pass
def identifier_list java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 'nitializer_list:initializer_list ' passi COMMAIDjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
def p_direct_abstract_declarator_4(t) 'abstract_declarator : pointer ' 'java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 8
java.lang.StringIndexOutOfBoundsException: Range [8, 9) out of bounds for length 8
def p_direct_abstract_declarator_5(abstract_declarator java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [8, 9) out of bounds for length 8
def java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 'statement_list :statement' pass
def java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 8 ' : statement_list statement' pass
# selection-statement
def # expression-java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
p
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
def p_expression_opt_2(t): 'java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0 pass
# expression:
def p_expression_1(t):
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
def p_expression_2(t): ' pass# jump_statement:
# assigment_expression:
def java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8 'jump_statement SEMI' pass
def ()
a ' pass
# assignment_operator:
def p_assignment_operator(t): '''
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 32
p_expression_opt_1)
| DIVEQUAL
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 '
| java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 13
expression:assignment_expression'
| java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
e : expressionCOMMA'
| OREQUAL
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 '' (t: pass
# conditional-expression
defjava.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 33 'java.lang.StringIndexOutOfBoundsException: Range [30, 27) out of bounds for length 52 pass
def java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0 'conditional_expression assignment_operator pass
def java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0 'conditional_expression : logical_or_expression' pass
def java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 'ogical_and_expression:logical_and_expressionLAND inclusive_or_expression pass
# inclusive-or-expression:
defjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 'p_constant_expression)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 pass
def java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23 'p_logical_or_expression_1(t): pass
# exclusive-or-expression:
def (t) 'java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 8 pass
def java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 8 'java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0 pass
# AND-expression
def p_and_expression_1java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 8 'and_expression :def p_logical_and_expression_2(t): pass
def p_and_expression_2t: 'java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 8 pass
def 'and_expression equality_expression'
elational_expression LE shift_expression' pass
def p_relational_expression_5(t): 'java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 8 pass
# shift-expression
def java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8 'p_equality_expression_3)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31 pass
def ''unary_operator :AND
|TIMES
| PLUS
p_multiplicative_exprestjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
| java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0 'multiplicative_expression multiplicative_expression MOD cast_expression' pass
# postfix-expression:
def java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0 'postfix_expression : 'ast_expression : unary_expression' pass
def p_postfix_expression_3java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 0 'postfix_expression'unary_expression : postfix_expression' pass
deftjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 '''primary_expression : ID
| MINUS
|| ''
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 pass
# argument-expression-list:
def: ''' : assignment_expression
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 passpass
# constant:
java.lang.StringIndexOutOfBoundsException: Range [23, 18) out of bounds for length 18 'constant ICONST
| FCONST:postfix_expressionjava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 55
| CCONST''' pass
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.