[
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.