summaryrefslogtreecommitdiff
path: root/AppPkg/Applications/Python/Python-2.7.10/Parser/parser.h
diff options
context:
space:
mode:
authorDaryl McDaniel <edk2-lists@mc2research.org>2015-11-07 19:19:19 +0000
committerdarylm503 <darylm503@Edk2>2015-11-07 19:19:19 +0000
commitc8042e10763bca064df257547d04ae3dfcdfaf91 (patch)
treecd20b9a6bb3c646b05f42fd721dc7a791bcb75a2 /AppPkg/Applications/Python/Python-2.7.10/Parser/parser.h
parent3535213aaec279d84bae7da40a4b982ab9fdf89b (diff)
downloadedk2-platforms-c8042e10763bca064df257547d04ae3dfcdfaf91.tar.xz
AppPkg/Applications/Python/Python-2.7.10: Initial Checkin part 1/5.
The Include, Parser, and Python directories from the cPython 2.7.10 distribution. These files are unchanged and set the baseline for subsequent commits. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <edk2-lists@mc2research.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18737 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'AppPkg/Applications/Python/Python-2.7.10/Parser/parser.h')
-rw-r--r--AppPkg/Applications/Python/Python-2.7.10/Parser/parser.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/AppPkg/Applications/Python/Python-2.7.10/Parser/parser.h b/AppPkg/Applications/Python/Python-2.7.10/Parser/parser.h
new file mode 100644
index 0000000000..bc09396769
--- /dev/null
+++ b/AppPkg/Applications/Python/Python-2.7.10/Parser/parser.h
@@ -0,0 +1,42 @@
+#ifndef Py_PARSER_H
+#define Py_PARSER_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Parser interface */
+
+#define MAXSTACK 1500
+
+typedef struct {
+ int s_state; /* State in current DFA */
+ dfa *s_dfa; /* Current DFA */
+ struct _node *s_parent; /* Where to add next node */
+} stackentry;
+
+typedef struct {
+ stackentry *s_top; /* Top entry */
+ stackentry s_base[MAXSTACK];/* Array of stack entries */
+ /* NB The stack grows down */
+} stack;
+
+typedef struct {
+ stack p_stack; /* Stack of parser states */
+ grammar *p_grammar; /* Grammar to use */
+ node *p_tree; /* Top of parse tree */
+#ifdef PY_PARSER_REQUIRES_FUTURE_KEYWORD
+ unsigned long p_flags; /* see co_flags in Include/code.h */
+#endif
+} parser_state;
+
+parser_state *PyParser_New(grammar *g, int start);
+void PyParser_Delete(parser_state *ps);
+int PyParser_AddToken(parser_state *ps, int type, char *str, int lineno, int col_offset,
+ int *expected_ret);
+void PyGrammar_AddAccelerators(grammar *g);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* !Py_PARSER_H */