Async-Template
view release on metacpan or search on metacpan
lib/Async/Template/Grammar.pm view on Meta::CPAN
#============================================================= -*-Perl-*-
#
# Async::Template::Grammar
#
# DESCRIPTION
# This file based on Template::Grammar ftom Template Toolkit
# Grammar file for the Template Toolkit language containing token
# definitions and parser state/rules tables generated by Parse::Yapp.
#
# This grammar taken ftom Template perl library and modified by Serguei
# Okladnikov to integrate asynchronous EVENT, ASYNC and AWAIT operators
#
# AUTHORS
# Andy Wardley <abw@wardley.org>
# Serguei Okladnikov <oklaspec@gmail.com> (EVENT/ASYNC/AWAIT and some more)
#
# COPYRIGHT
# Copyright (C) 1996-2006 Andy Wardley. All Rights Reserved.
# Copyright (C) 1998-2000 Canon Research Centre Europe Ltd.
# Copyright (C) 2012-2017 Serguei Okladnikov
#
# This module is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
#
# REVISION
# $Id$
#
# IMPORTANT NOTE
# This module is constructed from the parser/Grammar.pm.skel file by
# running the parser/yc script. You only need to do this if # you
# have modified the grammar in the parser/Parser.yp file and need #
# to-recompile it. See the README in the 'parser' directory for
# more information (sub-directory of the Template distribution).
#
#========================================================================
package Async::Template::Grammar;
use strict;
use warnings;
our $VERSION = 0.14;
my (@RESERVED, %CMPOP, $LEXTABLE, $RULES, $STATES);
my ($factory, $rawstart);
#========================================================================
# Reserved words, comparison and binary operators
#========================================================================
@RESERVED = qw(
GET CALL SET DEFAULT INSERT INCLUDE PROCESS WRAPPER BLOCK END
USE PLUGIN FILTER MACRO PERL RAWPERL TO STEP AND OR NOT DIV MOD
IF UNLESS ELSE ELSIF FOR NEXT WHILE SWITCH CASE META IN
TRY THROW CATCH FINAL LAST RETURN STOP CLEAR VIEW DEBUG
EVENT ASYNC AWAIT
);
# for historical reasons, != and == are converted to ne and eq to perform
# stringwise comparison (mainly because it doesn't generate "non-numerical
# comparison" warnings which != and == can) but the others (e.g. < > <= >=)
# are not converted to their stringwise equivalents. I added 'gt' et al,
# briefly for v2.04d and then took them out again in 2.04e.
%CMPOP = qw(
!= ne
== eq
< <
( run in 2.212 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )