summaryrefslogtreecommitdiffstats
path: root/ppapi/generators/idl_parser.py
Commit message (Collapse)AuthorAgeFilesLines
* Added test and fixed bugs with release dependencynoelallen@chromium.org2012-12-061-12/+5
| | | | | | | | | | | | | | | | | | | Fixed 'visited' bug where sibling were poluting the visit set, preventing dependency expantion. Fixed release list generation where a node's typeref releases were not constrained by the node's min/max. Added generator unit tests to PRESUBMIT when changes to generator are detected. Added test for release dependency when a child uses different releases than the parent. Fix release dependencies and tests. R=sehr@chromium.org BUG=157017 Review URL: https://chromiumcodereview.appspot.com/11419173 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171499 0039d316-1c4b-4281-b951-d872f2087c98
* Change the way we generate versions.noelallen@chromium.org2012-10-231-10/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | Changes (sehr) Remove hashes used to determine 'unique' versions. Build release lists for versionable nodes Build mapping for any release to first release Added support to treat interface as type Cleanup (sehr) Removed verbose output from pnacl wrapper. Cleanup use of "private" members Add better error recovery on parsing to prevent deadlock. Fix parser tests. To prevent growing this CL, additional cleanup in BUG=157025 PPAPI (brettw) api/private/*.idl + c/private/*.h Fix IDL use of net_address_private prior to definition Date change on ppapi headers to pass presubmit BUG=156719 TEST=idl_parser.py --test Review URL: https://chromiumcodereview.appspot.com/11235016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163603 0039d316-1c4b-4281-b951-d872f2087c98
* Switch the downloads API over to IDL/json_schema_compilerbenjhayden@chromium.org2012-07-111-3/+35
| | | | | | | | | | | | | | | | | | | | Modify ppapi/generators/idl_parser.py to 0: not require a file-level comment (but generate the same parse tree structure), 1: actually support ext_attrs (modifiers) for dictionaries, and 2: support [ext_attr=(symbols|values)]. Modify json_schema_compiler to 0: use "base::Value" and any_helper.ANY_CLASS instead of Value and Any in order to support ArrayBuffers named |value| or |any|, 1: actually test that namespaces and dictionaries are sorted correctly, 2: fix HGenerator._FieldDependencyOrder(), 3: support [inline_doc] on dictionaries and enums, 4: support descriptions on enums, 5: support documentation_permissions_required, 6: support [legalValues=(values...)]. Review URL: https://chromiumcodereview.appspot.com/10639020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146201 0039d316-1c4b-4281-b951-d872f2087c98
* This adds support for a number of features in the current WebIDL spec ↵asargent@chromium.org2012-03-051-24/+93
| | | | | | | | | | | | | | | | | | | | (http://dev.w3.org/2006/webapi/WebIDL/): -Callbacks -Dictionaries -static functions in interfaces -optional parameters and dictionary members It also introduces a "namespace" production to the grammar, which is just a named scope surrounding a list of other IDL fragments. Finally, there are a couple of random cleanups. BUG=116636 TEST=existing tests should still work Review URL: https://chromiumcodereview.appspot.com/9388002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124959 0039d316-1c4b-4281-b951-d872f2087c98
* Fix incorrectly resolved conflict, and add error message for missing sources.noelallen@google.com2012-01-131-0/+3
| | | | | | | | | | | | | When running the generator with default arguments from a CWD other than the script's directory, the default arguments will be incorrect. This adds a check which will print an error message and fail. If any argument, including the default arguments are provided on the command-line, then this check is bypassed. BUG= 109177 Review URL: http://codereview.chromium.org/9168014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117547 0039d316-1c4b-4281-b951-d872f2087c98
* Fix python scripts in src/ppapi/maruel@chromium.org2012-01-101-3/+4
| | | | | | | | | | | | | | | | | | | | | Make sure that: - shebang is only present for executable files - shebang is #!/usr/bin/env python - __main__ is only present for executable files - file's executable bit is coherent Also fix EOF LF to be only one. Minor python style fixes. TBR=noelallen BUG=105108 TEST= Review URL: http://codereview.chromium.org/8653004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117045 0039d316-1c4b-4281-b951-d872f2087c98
* Rev the Flash interface to add new functionality.brettw@chromium.org2011-12-151-1/+1
| | | | | | | | | | | This adds support for IDL in the private directory. Some of the interfaces there don't actually work, they were a work in progress and this breaks everything, so I moved the broken files to a new subdirectory. Everything left in the api/private directory can be autogenerated now. BUG= TEST= Review URL: http://codereview.chromium.org/8930023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114534 0039d316-1c4b-4281-b951-d872f2087c98
* Hide private IDL files from generator behind "--include_private" flagjvoung@google.com2011-12-011-3/+6
| | | | | | | | | | | | | | until all the private IDL files can generate the correct .h files. BUG= none TEST= ./generator.py && ./generator.py --wnone --cgen --range=start,end --include_private --out private/ppb_flash_fullscreen.idl R=noelallen@chromium.org,piman@chromium.org Review URL: http://codereview.chromium.org/8760016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112373 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper IDL: also generate files from 'private'piman@chromium.org2011-11-301-1/+1
| | | | | | | | | | BUG=none TEST=./generator.py --wnone --cgen --range=start,end --out private/ppb_flash_fullscreen.idl Review URL: http://codereview.chromium.org/8735013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112239 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup IDL Generatornoelallen@google.com2011-11-141-3/+2
| | | | | | | | | | | | Clean up pychecker warnings. Move common code from idl_c_header (header generator) to idl_c_proto, the 'C' code style prototyping helper. BUG= http://code.google.com/p/chromium/issues/detail?id=91607 TEST= cd src/ppapi/generators && ./generator.py Review URL: http://codereview.chromium.org/8538029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109958 0039d316-1c4b-4281-b951-d872f2087c98
* Allow enums values to be simple arithmetic expressions.bbudge@chromium.org2011-10-071-12/+45
| | | | | | | | BUG=none TEST=./generator.py test_parser/enum.idl Review URL: http://codereview.chromium.org/8161006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104588 0039d316-1c4b-4281-b951-d872f2087c98
* Fix IDL generation on Windows. The output file paths were wrong becausebbudge@chromium.org2011-10-041-1/+1
| | | | | | | | | | of mixing POSIX and Windows style path separators. BUG=none TEST=manual Review URL: http://codereview.chromium.org/8136013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104008 0039d316-1c4b-4281-b951-d872f2087c98
* Update generator for Chrome generation as the default casenoelallen@google.com2011-08-261-1/+1
| | | | | | | | | | | | | | | | Update defaults so that we pull IDL files from api/dev Update the interface string gereration to replace interfaces ending with '_Dev' with (Dev) instead. Allow for overfide of interface string using 'iname' Property By default assume range=M13,M14 for multi-version chrome. (NOTE: A new CL will clean this up and sport =min,max) BUG= http://code.google.com/p/chromium/issues/detail?id=89969 TEST= ./generator.py R= brettw@chromium.org Review URL: http://codereview.chromium.org/7753042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98488 0039d316-1c4b-4281-b951-d872f2087c98
* Adding linter for IDLnoelallen@google.com2011-07-221-23/+3
| | | | | | | | | | | | | | | | | | Removing current warnings from parser and create a new file which will traverse AST after it is built looking for possible issues. Also includes minor comment cleanup for visitor class on which the linter is based. TEST= python idl_parser.py BUG= http://code.google.com/p/chromium/issues/detail?id=76271 R= sehr@google.com Review URL: http://codereview.chromium.org/7468012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93655 0039d316-1c4b-4281-b951-d872f2087c98
* Update the generatornoelallen@google.com2011-07-191-3/+4
| | | | | | | | | | | | | | | | | Fix output file to ignore modified datestamp and copyright year. Minor pychecker fixes (shadowed built-ins) Add 'Type' so we can define builtin types in pp_stdint.h Remove 'skip' of pp_stdint.idl so we now process it. Setup intelligent defaults for generator. BUG= http://code.google.com/p/chromium/issues/detail?id=84272 TEST= python idl_c_header.py & gcl try Generate the new headers, add them to a CL, and try TBR= sehr@google.com Review URL: http://codereview.chromium.org/7396035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92941 0039d316-1c4b-4281-b951-d872f2087c98
* Update the generatornoelallen@google.com2011-07-191-3/+14
| | | | | | | | | | | | | | | | | | | | Outstanding changes to the generator to: Support hashing Support versions Clean up 'C' header generation Update of 'C' header generation tests Fix line wrapping Pass error counts through to File objects BUG= http://code.google.com/p/chromium/issues/detail?id=84272 TEST= python idl_c_header.py & gcl try Generate the new headers, add them to a CL, and try TBR= sehr@google.com Review URL: http://codereview.chromium.org/7408002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92930 0039d316-1c4b-4281-b951-d872f2087c98
* Trival lexer/parser changes for errorsnoelallen@google.com2011-07-141-3/+1
| | | | | | | | | | | | Add the ability to track lexer errors in the parser so that we can push error counts to the IDLFileNode. TEST= python idl_parser.py R= sehr@google.com Review URL: http://codereview.chromium.org/7342037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92551 0039d316-1c4b-4281-b951-d872f2087c98
* Update Lexer/Parser to support '#inline' and 'label'noelallen@google.com2011-07-021-171/+305
| | | | | | | | | | | | | Added the keyword 'label' to support versioning. Added the token INLINE to capture blocks of text within #inline XXX #endinl Updated tests TEST= python idl_lexer.py --test && python idl_parser.py --test BUG= http://code.google.com/p/chromium/issues/detail?id=87684 Review URL: http://codereview.chromium.org/7272043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91426 0039d316-1c4b-4281-b951-d872f2087c98
* Fix 'C' header generationnoelallen@google.com2011-06-071-5/+6
| | | | | | | | | | | | | | Added chidlist which provides in-order access to node children. Extra warning information on idl_parse. Added 'srcdir' to parser for prepending path Added header generator Fixed minor errors in idl_c_proto BUG= http://codereview.chromium.org/7085014/ TEST= python idl_c_header.py --srcdir="../api" *.idl Review URL: http://codereview.chromium.org/7056069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88079 0039d316-1c4b-4281-b951-d872f2087c98
* Add idl_c_proto for generating 'C' style prototypes from IDLnoelallen@google.com2011-06-021-24/+51
| | | | | | | | | | | | | | | Updated idl_log to provide Log/LogTag (which add the log type tag) Remove stale switches to idl_lexer.py Add Regex based Replace function to Node to replace $KEY$ with a property on that node Added quick resolution of typeinfo by adding typeinfo member to IDLNode Added idl_c_proto.py which defines a set of function which take an IDL Node then generate the 'C' style equivelent. BUG= http://code.google.com/p/chromium/issues/detail?id=84272 TEST= python idl_c_proto.py Review URL: http://codereview.chromium.org/7085014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87567 0039d316-1c4b-4281-b951-d872f2087c98
* Add idl_optionnoelallen@google.com2011-05-151-45/+26
| | | | | | | | | | Cleanup IDL parser by unifying option processing code. BUG=77551 TEST= python idl_parser.py --test Review URL: http://codereview.chromium.org/6993005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85433 0039d316-1c4b-4281-b951-d872f2087c98
* IDL cleanup, added AST node, namespace, StageResultnoelallen@google.com2011-05-041-44/+120
| | | | | | | | | | | | | | Added the ability to track namespace within the tree to look for references. Added a BuildTree and Resolve step. Added a StageResult object to return partial trees and error counts. Built test search into parser so now test files no longer need to be specified on the command line. BUG=77551 TEST= python idl_parser.py --test Review URL: http://codereview.chromium.org/6903097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84086 0039d316-1c4b-4281-b951-d872f2087c98
* IDL Cleanup - add logger, and nodenoelallen@google.com2011-04-261-132/+60
| | | | | | | | | | | Cleanup parser by splitting out logging function and an AST node object. Cleanup use of 'lineno' by starting the lexer on line 1 instead of line 0. BUG= 77551 TEST= python idl_parser.py --test test_parser/*.idl Review URL: http://codereview.chromium.org/6905006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83049 0039d316-1c4b-4281-b951-d872f2087c98
* IDL AST cleanupnoelallen@google.com2011-04-201-54/+106
| | | | | | | | | | | | Remove TestNode and replace with a IDLNode and IDLAttribute. This change more directly maps the parse phase into a tree of dictionaries to make processing the AST easier. TEST= python idl_parse.py --test test_parser/*.idl BUG= 77551 Review URL: http://codereview.chromium.org/6878062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82328 0039d316-1c4b-4281-b951-d872f2087c98
* Add parser and test filesnoelallen@google.com2011-04-081-0/+829
This CL adds the PLY based parser, parser test files, and makes some additional cleanup to the lexer. The parser is part of a generator which is still under development. The parser can be run standalone which works as a test mode verifying success and failure tags it find in the sources embedded as comments. Adding the switch --output will print the AST. R=sehr@google.com BUG=77551 TEST=python idl_parser.py test_parser/*.idl Review URL: http://codereview.chromium.org/6754001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80933 0039d316-1c4b-4281-b951-d872f2087c98