diff options
Diffstat (limited to 'lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g')
-rw-r--r-- | lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g new file mode 100644 index 00000000000..f5708ce8e0d --- /dev/null +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g @@ -0,0 +1,54 @@ +----------------------------------------------------------------------------------- +-- Copyright (c) 2006, 2008 IBM Corporation and others. +-- All rights reserved. This program and the accompanying materials +-- are made available under the terms of the Eclipse Public License v1.0 +-- which accompanies this distribution, and is available at +-- http://www.eclipse.org/legal/epl-v10.html +-- +-- Contributors: +-- IBM Corporation - initial API and implementation +----------------------------------------------------------------------------------- + +%options la=2 +%options package=org.eclipse.cdt.internal.core.dom.lrparser.c99 +%options template=btParserTemplateD.g + + +$Define + $sym_class /. C99SizeofExpressionParsersym ./ +$End + +$Import + C99Grammar.g + +$DropRules + +unary_expression + ::= 'sizeof' '(' type_name ')' + +$End + + +$Start + no_sizeof_type_name_start +$End + + + +$Headers +/. + public IASTExpression getParseResult() { + return (IASTExpression) action.getSecondaryParseResult(); + } +./ +$End + + +$Rules + +no_sizeof_type_name_start + ::= expression + | ERROR_TOKEN + /. $Build consumeExpressionProblem(); $EndBuild ./ + +$End
\ No newline at end of file |