[ 
https://issues.apache.org/jira/browse/PIG-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602895#action_12602895
 ] 

Pi Song commented on PIG-159:
-----------------------------

It's just a feature in JavaCC that allows you to associate sets of parsing 
rules to specific states. Basically after logical operator keywords (like LOAD, 
GROUP, etc..)  we can just move to a different state that can pick up those 
words as identifiers.

I want to see end-to-end test result either so will wait for that.

My opinion regarding keyword/alias issue is different. I think in some contexts 
where the choice is obvious we should allow usage of some keywords. 

Basically we will have:-
- Reserved words - they are reserved which means cannot be reused for different 
meanings in any case (things like "AS", "BY" for example).
- Keywords - they have specific meanings in the language but can be reused in 
some contexts (things like LOAD, GROUP, ORDER)

This is another holy war so I want to see what other people think too.

> Make changes to the parser to support new types functionality
> -------------------------------------------------------------
>
>                 Key: PIG-159
>                 URL: https://issues.apache.org/jira/browse/PIG-159
>             Project: Pig
>          Issue Type: Sub-task
>          Components: impl
>            Reporter: Alan Gates
>            Assignee: Alan Gates
>         Attachments: parser_chages_v10.patch, parser_chages_v11.patch, 
> parser_chages_v12.patch, parser_chages_v13.patch, parser_chages_v5.patch, 
> parser_chages_v6.patch, parser_chages_v7.patch, parser_chages_v8.patch, 
> parser_chages_v9.patch
>
>
> In order to support the new types functionality described in 
> http://wiki.apache.org/pig/PigTypesFunctionalSpec, the parse needs to change 
> in the following ways:
> 1) AS needs to support types in addition to aliases.  So where previously it 
> was legal to say:
> a = load 'myfile' as a, b, c;
> it will now also be legal to say
> a = load 'myfile' as a integer, b float, c chararray;
> 2) Non string constants need to be supported.  This includes non-string 
> atomic types (integer, long, float, double) and the non-atomic types bags, 
> tuples, and maps.
> 3) A cast operator needs to be added so that fields can be explicitly casted.
> 4) Changes to DEFINE, to allow users to declare arguments and return types 
> for UDFs

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to